====== 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}}