Утилита netstat
— консольный инструмент Linux, который используется системными администраторами для оценки конфигурации и активности сети.
Утилита позволяет увидеть открытые порты на хост-устройстве и соответствующие им адреса, таблицу маршрутизации и скрытые соединения.
Содержание
Синтаксис
netstat [опции]
Опции
- -r, --route
- Отображать таблицу маршрутизации
- -i, --interfaces
- Отображать таблицу интерфейсов
- -s, --statistics
- Отображать сетевую статистику
- -v, --verbose
- Расширенное отображение
- -W, --wide
- Обрезать IP-адреса
- -n, --numeric
- Разрешать имена
- --numeric-hosts
- Разрешать имена хостов
- --numeric-ports
- Разрешать имена портов
- --numeric-users
- Разрешать имена пользователей
- -N, --symbolic
- Разрешать имена оборудования
- -e, --extend
- Отображать дополнительную информацию
- -p, --programs
- Отображать имя PID/программы для сокетов
- -o, --timers
- Отображать таймеры
- -c, --continuous
- Обновлять информацию каждые несколько секунд
- -l, --listening
- Отображать сокеты прослушиваемого сервера
- -a, --all
- Отображать все сокеты (по умолчанию: подключено)
- -F, --fib
- Отображать информационную базу переадресации (по умолчанию)
- -C, --cache
- Отображать кеш маршрутизации
Примеры использования netstat
Список портов
Список всех портов (опция -a
):
oleg@mobile:~:$ netstat -a | less
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 mobile:44776 static.165.244.69:https CLOSE_WAIT
...
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 3 [ ] SEQPACKET CONNECTED 20619 @7a185
unix 3 [ ] SEQPACKET CONNECTED 20618 @ef5d0
...
Список TCP портов (опции -a
и -t
):
oleg@mobile:~:$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 mobile:39254 adfox-external-l3:https ESTABLISHED
tcp 0 0 mobile:45506 avatars.dzeninfra:https ESTABLISHED
...
tcp6 0 0 [::]:ssh [::]:* LISTEN
Список UDP портов (опции -a
и -u
):
oleg@mobile:~:$ netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 mobile:bootpc _gateway:bootps ESTABLISHED
udp 0 0 224.0.0.251:mdns 0.0.0.0:*
udp 0 0 224.0.0.251:mdns 0.0.0.0:*
Список сокетов в состоянии LISTEN
Список прослушиваемых портов (опция -l
):
oleg@mobile:~:$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
...
unix 2 [ ACC ] STREAM LISTENING 12600 /run/systemd/journal/io.systemd.journal
unix 2 [ ACC ] STREAM LISTENING 17840 /run/dbus/system_bus_socket
Список прослушиваемых TCP портов (опции -l
и -t
):
oleg@mobile:~:$ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
Список прослушиваемых UDP портов (опции -l
и -u
):
oleg@mobile:~:$ netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 224.0.0.251:mdns 0.0.0.0:*
udp 0 0 224.0.0.251:mdns 0.0.0.0:*
Список прослушиваемых UNIX сокетов (опции -l
и -x
):
oleg@mobile:~:$ netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 18816 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 19600 /run/user/1000/bus
...
unix 2 [ ACC ] STREAM LISTENING 12600 /run/systemd/journal/io.systemd.journal
unix 2 [ ACC ] STREAM LISTENING 17840 /run/dbus/system_bus_socket
Статистика для протоколов
Статистика для всех портов (опция -s
):
oleg@mobile:~:$ netstat -s | less
Ip:
Forwarding: 2
686197 total packets received
...
Tcp:
1540 active connection openings
0 passive connection openings
...
InBcastOctets: 1934
InNoECTPkts: 686197
MPTcpExt:
Статистика только для TCP портов (опции -s
и -t
):
oleg@mobile:~:$ netstat -st | less
IcmpMsg:
InType3: 65
OutType3: 55
Tcp:
1543 active connection openings
0 passive connection openings
...
InBcastOctets: 1934
InNoECTPkts: 686503
MPTcpExt:
Статистика только для UDP портов (опции -s
и -u
):
oleg@mobile:~:$ netstat -su
IcmpMsg:
InType3: 65
OutType3: 55
Udp:
117931 packets received
55 packets to unknown port received
...
InBcastOctets: 1934
InNoECTPkts: 686656
MPTcpExt:
Отображение PID и имени процесса
Вывод с опциями -p
и -t:
oleg@mobile:~:$ netstat -pt
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 mobile:48836 mc.yandex.ru:https ESTABLISHED 876/chromium --type
tcp 0 0 mobile:60552 mc.yandex.ru:https ESTABLISHED 876/chromium --type
...
tcp 0 0 mobile:37138 yandex.ru:https ESTABLISHED 876/chromium --type
tcp 0 0 mobile:42734 yandex.ru:https ESTABLISHED 876/chromium --type
Разрешение имён в выводе
Вывод с опциями -a
и -n
:
oleg@mobile:~:$ netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.237:48836 93.158.134.119:443 ESTABLISHED
...
unix 3 [ ] STREAM CONNECTED 31556 /run/user/1000/bus
unix 3 [ ] STREAM CONNECTED 313336
unix 3 [ ] STREAM CONNECTED 20693
unix 3 [ ] STREAM CONNECTED 17989
Обновление информации
Вывод с опцией -c
позволяет обновлять экран каждые несколько секунд.
oleg@mobile:~:$ netstat -c
Маршрутизация ядра
Вывод таблицы маршрутизации ядра (опция -r
):
oleg@mobile:~:$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 wlp0s29u1u1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp0s29u1u1
Сетевые интерфейсы
Список сетевых интерфейсов (опция -i
):
oleg@mobile:~:$ netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp2s0 1500 0 0 0 0 0 0 0 0 BMU
lo 65536 108 0 0 0 108 0 0 0 LRU
wlp0s29u1u1 1500 692939 0 0 0 363551 0 0 0 BMRU
wlp1s0 1500 72 0 0 0 69 0 0 0 BMU
Заключение
Из данной статьи понятно насколько нужна системному администратору Linux команда netstat
. Она понадобится даже тем, кто самостоятельно администрирует лишь собственный VPS/VDS сервер.