Практические примеры использования netstat
Oct 8, 2018 06:00 · 810 words · 4 minute read
Netstat
- утилита командной строки для мониторинга сетевой статистики - входящих и исходящих сетевых подключений, просмотра таблиц маршрутизации, статистики интерфейсов и т.д. Netstat
доступен не только во всех Unix-подобных операционных системах, но и в ОС Windows.
Это один из самых базовых инструментов отладки сетевых сервисов - давайте рассмотрим несколько практических примеров использования netstat
.
- Вывод всех активных подключений и портов (и TCP, и UDP):
netstat -a
Пример:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.53:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdo:17123 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdo:52526 localhost.localdo:17123 TIME_WAIT
tcp 0 0 localhost.localdo:52534 localhost.localdo:17123 TIME_WAIT
tcp6 0 0 *.63865 *.* LISTEN
- Вывод всех активных TCP-подключений и портов:
netstat -at
Пример:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.53:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdo:17123 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdo:52434 localhost.localdo:17123 TIME_WAIT
tcp 0 0 localhost.localdo:52480 localhost.localdo:17123 TIME_WAIT
tcp 0 0 localhost.localdo:52470 localhost.localdo:17123 TIME_WAIT
tcp 0 0 localhost.localdo:52440 localhost.localdo:17123 TIME_WAIT
tcp 0 0 localhost.localdo:52462 localhost.localdo:17123 TIME_WAIT
tcp6 0 0 jenkins1:25546 2600:1f18:63f7:b9:https TIME_WAIT
...
- Вывод всех активных UDP-подключений и портов:
netstat -au
Пример:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 127.0.0.53:domain 0.0.0.0:*
udp 0 0 172.17.0.1:ntp 0.0.0.0:*
udp 0 0 172.28.0.1:ntp 0.0.0.0:*
udp 0 0 172.30.0.1:ntp 0.0.0.0:*
udp 0 0 172.20.0.1:ntp 0.0.0.0:*
udp 0 0 localhost.localdoma:ntp 0.0.0.0:*
udp 0 0 0.0.0.0:ntp 0.0.0.0:*
udp6 0 0 fe80::6eb3:11ff:fe2:ntp [::]:*
udp6 4608 0 jenkins1:ntp [::]:*
udp6 0 0 [::]:ntp [::]:*
...
- Вывод всех активных подключений в состоянии “LISTEN”:
netstat -l
Пример:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.53:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdo:17123 0.0.0.0:* LISTEN
...
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 287855182 @/containerd-shim/moby/c26626153296b60e270298d3d304e7cffa650211cefad437fb359efaa5d0303a/shim.sock@
unix 2 [ ACC ] STREAM LISTENING 287880017 @/containerd-shim/moby/076e711bbc42eccce198d6f9c5533a71e12a93c94fd5c690fc9562e89a81c6ac/shim.sock@
unix 2 [ ACC ] STREAM LISTENING 66640 /opt/datadog-agent/run/datadog-supervisor.sock.1583
- Вывод таблицы маршрутизации:
netstat -r
Пример:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default static.65.18.13 0.0.0.0 UG 0 0 0 enp98s0f0
static.65.18.13 0.0.0.0 255.255.255.255 UH 0 0 0 enp98s0f0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-31cf77692364
172.28.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-ff4281540cec
172.30.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-acff358cb41e
- Вывод сетевых интерфейсов:
netstat -i
Пример:
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
br-31cf7 1500 116615 0 0 0 146329 0 0 0 BMRU
br-40a61 1500 0 0 0 0 0 0 0 0 BMU
br-acff3 1500 3031 0 0 0 3255 0 0 0 BMRU
br-ff428 1500 7567 0 0 0 8222 0 0 0 BMRU
docker0 1500 12645962 0 0 0 20553388 0 0 0 BMU
enp98s0f 1500 155269942 0 0 4000 123518253 0 0 0 BMRU
lo 65536 3087890 0 0 0 3087890 0 0 0 LRU
- Непрерывный вывод информации (с периодичностью в несколько секунд):
netstat -c
- Информация о принадлежности к многоадресной группе (multicast group):
netstat -g
Пример:
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
enp98s0f0 1 224.0.0.251
enp98s0f0 1 239.77.124.213
enp98s0f0 1 all-systems.mcast.net
docker0 1 all-systems.mcast.net
br-31cf776 1 all-systems.mcast.net
veth5fbca5 1 all-systems.mcast.net
br-acff358 1 all-systems.mcast.net
veth743035 1 all-systems.mcast.net
veth06a264 1 all-systems.mcast.net
- Информация о подключении на определенном порту:
netstat -anp | grep :80 | grep ESTABLISHED
Пример:
tcp6 0 0 192.168.38.99:80 172.68.239.68:30932 ESTABLISHED 30068/java
tcp6 0 0 192.168.38.99:80 172.68.239.98:31280 ESTABLISHED 30068/java
tcp6 0 0 192.168.38.99:80 172.68.239.98:30944 ESTABLISHED 30068/java
tcp6 0 0 192.168.38.99:80 172.68.239.20:61206 ESTABLISHED 30068/java
tcp6 0 0 192.168.38.99:80 172.68.238.133:48884 ESTABLISHED 30068/java
tcp6 0 0 192.168.38.99:80 172.68.239.98:32602 ESTABLISHED 30068/java
- Количество соединений находящихся в разных состояниях (сортированное):
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
Пример:
1 established)
1 Foreign
7 ESTABLISHED
23 LISTEN
102 TIME_WAIT
- Информация о сервисах, слушающих определенный порт:
netstat -ltnp | grep ':53'
Пример:
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 1323/systemd-resolv
- Вывод статистики сети:
netstat --statistics --raw
Пример:
Ip:
Forwarding: 1
78312316 total packets received
34435611 forwarded
0 incoming packets discarded
43876636 incoming packets delivered
75662887 requests sent out
169 dropped because of missing route
Icmp:
2031 ICMP messages received
510 input ICMP message failed
ICMP input histogram:
destination unreachable: 1146
timeout in transit: 17
echo requests: 218
echo replies: 650
9503 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 9285
echo replies: 218
IcmpMsg:
InType0: 650
InType3: 1146
InType8: 218
InType11: 17
OutType0: 218
OutType3: 9285
UdpLite:
IpExt:
InMcastPkts: 2859
OutMcastPkts: 2892
InBcastPkts: 66
InOctets: 202894920380
OutOctets: 330142828646
InMcastOctets: 624001
OutMcastOctets: 625473
InBcastOctets: 21516
InNoECTPkts: 190813611
InECT1Pkts: 37
InECT0Pkts: 3405
InCEPkts: 329
Больше полезным примеров и опций использования утилиты netstat
можно найти в официальной документации.