====== netstat ====== Команда **netstat**, входящая в стандартный набор сетевых инструментов UNIX, отображает различную network–related информацию, такую как сетевые подключения, статистику интерфейсов, таблицы маршрутизации, masquerade, multicast, и т.п. ===== Примеры: ===== ==== Количество соединений ==== netstat -ant| awk '{print $4}' | grep ":80$" -c ==== netstat -lnptux ==== * -l все открытые порты (LISTEN) * -t по протоколу TCP * -u по протоколу UDP * -x по протоколу UNIX Socket * -n без резолва IP/имён * -p но с названиями процессов и PID-ами Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё. ==== Соответствие портов и процессов ==== Узнать, какой порт занимает определённая программа: # netstat -ap | grep ssh Выяснить, каким процессом используется определённый порт: # netstat -an | grep ':80' ===== Параметры ===== ==== Список всех портов (как прослушиваемых, так и нет) ==== Перечислить все порты: **netstat -a** # netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:domain *:* LISTEN udp6 0 0 fe80::20c:29ff:fe68:ntp [::]:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 20492 /var/run/mysqld/mysqld.sock unix 2 [ ACC ] STREAM LISTENING 23323 /var/run/php5-fpm.sock ==== Список сокетов, находящихся в состоянии LISTEN ==== Перечислить все прослушиваемые порты: **netstat -l** Перечислить прослушиваемые TCP порты: **netstat -lt** Перечислить прослушиваемые UDP порты: **netstat -lu** Перечислить прослушиваемые UNIX сокеты: **netstat -lx** ==== Просмотр статистики для каждого протокола ==== Показать статистику всех портов: **netstat -s** # netstat -s Ip: 11150 total packets received 1 with invalid addresses 0 forwarded 0 incoming packets discarded 11149 incoming packets delivered 11635 requests sent out Icmp: 13791 ICMP messages received 12 input ICMP message failed. Tcp: 15020 active connections openings 97955 passive connection openings 135 failed connection attempts Udp: 2841 packets received 180 packets to unknown port received. ..... ==== Отображение PID и имени процесса в выводе netstat ==== Опция **netstat -p** добавит «PID/Program Name» в вывод netstat, и может быть совмещена с любым другим набором опций. Это очень полезно при отладке, для определения того, какая программа работает на определённом порту. ==== Разрешение имён в выводе netstat ==== Когда вам не нужно резолвить имя хоста, имя порта, имя пользователя, используйте опцию **netstat -n** для вывода значений в цифровом формате. Команда покажет IP-адрес вместо хоста, номер порта вместо имени порта, UID вместо имени пользователя. Для вывода цифровых значений только некоторых из этих пунктов, используйте следующие команды: # netsat -a --numeric-ports # netsat -a --numeric-hosts # netsat -a --numeric-users ==== Вывод информации netstat непрерывно ==== Опция **netstat -c** будет выводить информацию непрерывно, в стиле **top**, обновляя экран каждые несколько секунд. # netstat -c Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 org-ru-putty.vm.udf:www 182.131.74.202:59933 FIN_WAIT2 tcp 0 0 org-ru-putty.vm.udf:www 182.131.74.202:63761 FIN_WAIT2 tcp 0 0 org-ru-putty.vm.udf:www 92-181-66-102-irk.:4585 ESTABLISHED ^C ==== Маршрутизация ядра ==== Показать таблицу маршрутизации ядра: **netstat -r** ==== Сетевые интерфейсы ==== Показать список сетевых интерфейсов: **netstat -i** # netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 264355 0 0 0 218185 0 0 0 BMRU lo 65536 0 195328 0 0 0 195328 0 0 0 LRU Показать расширенную информацию об интерфейсах (аналогично ifconfig): **netstat -ie** ==== Неподдерживаемые системой семейства адресов ==== Опция **netstat --verbose** покажет подробный вывод, а в самом конце отобразит неподдерживаемые Address Family. # netstat --verbose ... netstat: no support for `AF IPX' on this system. netstat: no support for `AF AX25' on this system. netstat: no support for `AF X25' on this system. netstat: no support for `AF NETROM' on this system. Source: http://putty.org.ru/articles/netstat-linux-examples.html {{tag> netstat linux port net network}}