7 примеров использования netstat

19 Марта 2018

Netstat - это команда которая отображает информацию о сетевых соединениях, таблицах маршрутизации, статистики интерфейсов и т.п. Очень пригодится при администрировании виртуального или выделенного сервера.

В данной статье мы рассмотрим 7 практических применений.

1. Посмотреть список всех портов.

Для этого нужно использовать аргумент -a, 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:30037 *:* LISTEN udp 0 0 *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket

netstat -at - покажет список всех TCP портов

netstat -au - покажет список всех UDP портов

2. Посмотреть какие порты слушаются в данный момент

Для этого используем команду netstat -l:

# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp *:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN udp 0 0 *:49119 *:*

netstat -lt - все используемые порты TCP

netstat -lu - все используемые порты UDP

3. Просмотр статистики по протоколам

Данную информацию отображает команда netstat -s:

# netstat -s Ip: 37850 total packets received 3 with invalid addresses 1 forwarded 0 incoming packets discarded 17349 incoming packets delivered 17635 requests sent out Icmp: 0 ICMP messages received 0 input ICMP message failed. Tcp: 312 active connections openings 2 failed connection attempts 114 connection resets received Udp: 9883 packets received 4 packets to unknown port received. .....

Отдельная статистика по TCP:

netstat -st

Отдельная статистика по UDP:

netstat -su

4. Узнать PID и имя ПО, которое проявляет сетевую активность

Для того, что бы узнать какой именно процесс у нас использует сетевое соединения или проявляет аномальную сетевую активность можно использовать команду netstat -pt:

# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 1 0 root.wellweb:47212 192.168.1.1:www CLOSE_WAIT 2109/firefox tcp 0 0 root.wellweb:52750 lax:www ESTABLISHED 2109/firefox

5. Отображение таблицы IP роутов

# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth2 link-local * 255.255.0.0 U 0 0 0 eth2 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth2

6. Узнать какой порт использует определенный процесс

# netstat -ap | grep ssh (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 1 0 dev-db:ssh 192.182.1.1:39213 CLOSE_WAIT - tcp 1 0 dev-db:ssh 192.182.1.1:57643 CLOSE_WAIT -

Если нужно наоборот, узнать процесс по порту, то команда будет выглядеть так:

# netstat -an | grep ':80'

7. Расширенная информация о сетевом интерфейсе

Для этого используем команду:

# netstat -ie Kernel Interface table eth0 Link encap:Ethernet HWaddr 00:10:42:11:11:11 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:800 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Memory:f6ad0000-f6b10000

Если у Вас возникли сложности и Вы наш клиент, напишите тикет, мы с радостью Вам поможем.