разница между 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
и вместе.