20 команд Netstat для управления сетью Linux
netstat (сетевая статистика) — инструмент командной строки для мониторинга как входящих, так и исходящих сетевых подключений, а также просмотра таблиц маршрутизации, статистики интерфейсов и т. д.
netstat доступен во всех Unix-подобных операционных системах, а также в ОС Windows. Это очень полезно с точки зрения устранения неполадок сети и измерения производительности.
netstat — это один из самых простых инструментов отладки сетевых служб, который сообщает вам, какие порты открыты и прослушивают ли какие-либо программы порты.
Обновление: команда netstat в Linux заменена новой командой ss, которая способна отображать больше информации о сетевых подключениях и работает намного быстрее, чем старая команда netstat. .
Инструмент netstat очень важен и полезен сетевым администраторам Linux, а также системным администраторам для мониторинга и устранения проблем, связанных с сетью, а также определения производительности сетевого трафика.
В этой статье показано использование команды netstat с примерами, которые могут быть полезны в повседневной работе.
1. Список всех ПРОСЛУШИВАЕМЫХ портов TCP и UDP-соединений.
Список всех портов (как TCP, так и UDP) с использованием параметра netstat -a.
netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 52 192.168.0.2:ssh 192.168.0.1:egs ESTABLISHED
tcp 1 0 192.168.0.2:59292 www.gov.com:http CLOSE_WAIT
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 *:59482 *:* LISTEN
udp 0 0 *:35036 *:*
udp 0 0 *:npmp-local *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 16972 /tmp/orbit-root/linc-76b-0-6fa08790553d6
unix 2 [ ACC ] STREAM LISTENING 17149 /tmp/orbit-root/linc-794-0-7058d584166d2
unix 2 [ ACC ] STREAM LISTENING 17161 /tmp/orbit-root/linc-792-0-546fe905321cc
unix 2 [ ACC ] STREAM LISTENING 15938 /tmp/orbit-root/linc-74b-0-415135cb6aeab
2. Список соединений TCP-портов
Перечисление только подключений портов TCP (Протокол управления передачей) с использованием netstat -at.
netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 52 192.168.0.2:ssh 192.168.0.1:egs ESTABLISHED
tcp 1 0 192.168.0.2:59292 www.gov.com:http CLOSE_WAIT
3. Перечисление соединений UDP-портов
Вывод списка только соединений портов UDP (Протокол пользовательских датаграмм ) с использованием netstat -au.
netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:35036 *:*
udp 0 0 *:npmp-local *:*
udp 0 0 *:mdns *:*
4. Перечисление всех соединений ПРОСЛУШИВАНИЯ
Список всех активных подключений прослушиваемых портов с помощью netstat -l.
netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:58642 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
udp 0 0 *:35036 *:*
udp 0 0 *:npmp-local *:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 16972 /tmp/orbit-root/linc-76b-0-6fa08790553d6
unix 2 [ ACC ] STREAM LISTENING 17149 /tmp/orbit-root/linc-794-0-7058d584166d2
unix 2 [ ACC ] STREAM LISTENING 17161 /tmp/orbit-root/linc-792-0-546fe905321cc
unix 2 [ ACC ] STREAM LISTENING 15938 /tmp/orbit-root/linc-74b-0-415135cb6aeab
5. Список всех портов прослушивания TCP
Список всех активных прослушиваемых TCP-портов с помощью опции netstat -lt.
netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:dctp *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:munin *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 localhost.localdomain:ipp *:* LISTEN
tcp 0 0 localhost.localdomain:smtp *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:https *:* LISTEN
6. Список всех портов прослушивания UDP
Список всех активных прослушиваемых портов UDP с помощью опции netstat -lu.
netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:39578 *:*
udp 0 0 *:meregister *:*
udp 0 0 *:vpps-qua *:*
udp 0 0 *:openvpn *:*
udp 0 0 *:mdns *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:ipp *:*
udp 0 0 *:60222 *:*
udp 0 0 *:mdns *:*
7. Список всех портов прослушивания UNIX
Вывод списка всех активных портов прослушивания UNIX с помощью netstat -lx.
netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 4171 @ISCSIADM_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM LISTENING 5767 /var/run/cups/cups.sock
unix 2 [ ACC ] STREAM LISTENING 7082 @/tmp/fam-root-
unix 2 [ ACC ] STREAM LISTENING 6157 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 6215 @/var/run/hald/dbus-IcefTIUkHm
unix 2 [ ACC ] STREAM LISTENING 6038 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 6175 /var/run/avahi-daemon/socket
unix 2 [ ACC ] STREAM LISTENING 4157 @ISCSID_UIP_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM LISTENING 60835836 /var/lib/mysql/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 4645 /var/run/audispd_events
unix 2 [ ACC ] STREAM LISTENING 5136 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 6216 @/var/run/hald/dbus-wsUBI30V2I
unix 2 [ ACC ] STREAM LISTENING 5517 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 5531 /var/run/pcscd.comm
8. Отображение статистики по протоколу
Отображает статистику по протоколу. По умолчанию статистика отображается для протоколов TCP, UDP, ICMP и IP. Параметр -s можно использовать для указания набора протоколов.
netstat -s
Ip:
2461 total packets received
0 forwarded
0 incoming packets discarded
2431 incoming packets delivered
2049 requests sent out
Icmp:
0 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
1 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 1
Tcp:
159 active connections openings
1 passive connection openings
4 failed connection attempts
0 connection resets received
1 connections established
2191 segments received
1745 segments send out
24 segments retransmited
0 bad segments received.
4 resets sent
Udp:
243 packets received
1 packets to unknown port received.
0 packet receive errors
281 packets sent
9. Отображение статистики по протоколу TCP
Отображение статистики только протокола TCP с использованием опции netstat -st.
netstat -st
Tcp:
2805201 active connections openings
1597466 passive connection openings
1522484 failed connection attempts
37806 connection resets received
1 connections established
57718706 segments received
64280042 segments send out
3135688 segments retransmited
74 bad segments received.
17580 resets sent
10. Показ статистики по протоколу UDP
netstat -su
Udp:
1774823 packets received
901848 packets to unknown port received.
0 packet receive errors
2968722 packets sent
11. Отображение имени службы с PID
При отображении имени службы с ее номером PID при использовании опции netstat -tp будет отображаться «PID/Имя программы».
netstat -tp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.0.2:ssh 192.168.0.1:egs ESTABLISHED 2179/sshd
tcp 1 0 192.168.0.2:59292 www.gov.com:http CLOSE_WAIT 1939/clock-applet
12. Отображение беспорядочного режима
Отображая беспорядочный режим с помощью переключателя -ac, netstat печатает выбранную информацию или обновляет экран каждые пять секунд. Экран по умолчанию обновляется каждую секунду.
netstat -ac 5 | grep tcp
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:58642 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 1 0 192.168.0.2:59447 www.gov.com:http CLOSE_WAIT
tcp 0 52 192.168.0.2:ssh 192.168.0.1:egs ESTABLISHED
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 *:59482 *:* LISTEN
13. Отображение IP-маршрутизации ядра
Отобразите таблицу IP-маршрутизации ядра с помощью команды netstat и маршрута.
netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
14. Показ транзакций сетевого интерфейса
Показаны транзакции пакетов сетевого интерфейса, включая передачу и получение пакетов с размером MTU.
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 4459 0 0 0 4057 0 0 0 BMRU
lo 16436 0 8 0 0 0 8 0 0 0 LRU
15. Показ таблицы интерфейса ядра
Показана таблица интерфейса ядра, аналогичная команде ifconfig.
netstat -ie
Kernel Interface table
eth0 Link encap:Ethernet HWaddr 00:0C:29:B4:DA:21
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb4:da21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4486 errors:0 dropped:0 overruns:0 frame:0
TX packets:4077 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2720253 (2.5 MiB) TX bytes:1161745 (1.1 MiB)
Interrupt:18 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
16. Отображение информации IPv4 и IPv6.
Отображает информацию о членстве в группе многоадресной рассылки как для IPv4, так и для IPv6.
netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
lo 1 ff02::1
eth0 1 ff02::202
eth0 1 ff02::1:ffb4:da21
eth0 1 ff02::1
17. Постоянно распечатывайте информацию Netstat
Чтобы получать информацию netstat каждые несколько секунд, используйте следующую команду, она будет печатать информацию netstat непрерывно, скажем, каждые несколько секунд.
netstat -c
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 linux-console.net:http sg2nlhg007.shr.prod.s:36944 TIME_WAIT
tcp 0 0 linux-console.net:http sg2nlhg010.shr.prod.s:42110 TIME_WAIT
tcp 0 132 linux-console.net:ssh 115.113.134.3.static-:64662 ESTABLISHED
tcp 0 0 linux-console.net:http crawl-66-249-71-240.g:41166 TIME_WAIT
tcp 0 0 localhost.localdomain:54823 localhost.localdomain:smtp TIME_WAIT
tcp 0 0 localhost.localdomain:54822 localhost.localdomain:smtp TIME_WAIT
tcp 0 0 linux-console.net:http sg2nlhg010.shr.prod.s:42091 TIME_WAIT
tcp 0 0 linux-console.net:http sg2nlhg007.shr.prod.s:36998 TIME_WAIT
18. Поиск неподдерживающего адреса
Поиск ненастроенных семейств адресов с некоторой полезной информацией.
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.
19. Поиск программ для прослушивания
Узнайте, сколько программ прослушивания работает на порту.
netstat -ap | grep http
tcp 0 0 *:http *:* LISTEN 9056/httpd
tcp 0 0 *:https *:* LISTEN 9056/httpd
tcp 0 0 linux-console.net:http sg2nlhg008.shr.prod.s:35248 TIME_WAIT -
tcp 0 0 linux-console.net:http sg2nlhg007.shr.prod.s:57783 TIME_WAIT -
tcp 0 0 linux-console.net:http sg2nlhg007.shr.prod.s:57769 TIME_WAIT -
tcp 0 0 linux-console.net:http sg2nlhg008.shr.prod.s:35270 TIME_WAIT -
tcp 0 0 linux-console.net:http sg2nlhg009.shr.prod.s:41637 TIME_WAIT -
tcp 0 0 linux-console.net:http sg2nlhg009.shr.prod.s:41614 TIME_WAIT -
unix 2 [ ] STREAM CONNECTED 88586726 10394/httpd
20. Отображение сетевой статистики в формате RAW
netstat --statistics --raw
Ip:
62175683 total packets received
52970 with invalid addresses
0 forwarded
Icmp:
875519 ICMP messages received
destination unreachable: 901671
echo request: 8
echo replies: 16253
IcmpMsg:
InType0: 83
IpExt:
InMcastPkts: 117
Вот и все. Если вам нужна дополнительная информация и параметры команды netstat, обратитесь к документации по netstat или используйте команду man netstat, чтобы узнать всю информацию.
Если мы что-то пропустили в списке, сообщите нам об этом, используя раздел комментариев ниже. Итак, мы могли бы продолжать обновлять этот список на основе ваших комментариев.