Инструменты пользователя

Инструменты сайта


Боковая панель


Программное обеспечение
Черновики


Краткая инструкция

howto:utils:netstat

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

howto/utils/netstat.txt · Последние изменения: 2019/01/17 14:07 — Алексей Кожевников