разница между netstat и ss в linux?
в linux команда netstat сообщает нам информацию об активных сокетах в системе.
Я понимаю, что netstat использует /proc/net/tcp для получения информации о сети.
С netstat man page говорит, что netstat устарел, поэтому мы должны использовать 'ss'.
NOTE
This program is obsolete. Replacement for netstat is ss. Replacement
for netstat -r is ip route. Replacement for netstat -i is ip -s link.
Replacement for netstat -g is ip maddr.
я обнаружил, что ss выполняет аналогичные функции, но не использует
/proc/net/tcp для получения информации о сети системы.
теперь мне любопытно, как ss получает информация о системном сетевом сокете?
4 ответов
ss входит в пакет iproute2 и является заменой netstat. ss используется для сброса статистики гнездо. Он показывает информацию, похожую на netstat. Он может отображать больше TCP и информации о состоянии, чем другие инструменты. Это новый, невероятно полезный и быстрый (по сравнению с netstat) инструмент для отслеживания TCP-соединений и сокетов.
проверьте источник для ss:
https://github.com/shemminger/iproute2/blob/master/misc/ss.c
в основном он напрямую запрашивает ядро и может реагировать намного быстрее, чем netstat.
ss - утилита, используемая для исследования сокетов в системах Linux и Unix. Он показывает информацию, похожую на netstat и способный для того чтобы сбросить статистику гнезда.
но netstat невозможно заменить полностью на ss. Некоторые netstat команды лучше соответствуют .
$ netstat -r replaced by $ ip route
$ netstat -i replaced by $ ip -s lin
$ netstat -g replaced by $ ip maddr.
Я бы сказал "старше"netstat команда может быть заменена на оба ss и вместе.