Linux. Утилита netstat
25.10.2023
Теги: CLI • Linux • Команда • ЛокальнаяСеть • СетевойИнтерфейс • Сокет
Netstat — сетевая утилита командной строки, полезная для устранения неполадок сети и измерения производительности. Утилита предоставляет различную информацию, связанную с сетью, такую как текущие соединения TCP/IP, таблицы маршрутизации, статистику интерфейса и т.д. Это основной инструмент, который помогает находить открытые порты и находить приложения, которые прослушивают порты.
Утилита netstat
входит в пакет net-tools
и в настоящее время считается устаревшей. Вместо нее рекомендуется использовать утилиту ss
из пакета iproute2
.
Список всех используемых портов TCP и UDP соединений
Для этого предназначена опция -a
или --all
# netstat -a Активные соединения с интернетом (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 ubuntu-rebrain:43500 192.229.221.95:http ESTABLISHED tcp 0 0 ubuntu-rebrain:51174 server-52-85-48-55:http ESTABLISHED .......... tcp 0 0 ubuntu-rebrain:51994 lg-in-f95.1e100.n:https TIME_WAIT tcp 0 0 ubuntu-rebrain:44786 a2-23-167-179.depl:http ESTABLISHED tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 localhost:domain 0.0.0.0:* udp 0 0 ubuntu-rebrain:bootpc _gateway:bootps ESTABLISHED udp 0 0 0.0.0.0:55811 0.0.0.0:* udp 0 0 0.0.0.0:631 0.0.0.0:* udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:53229 [::]:* raw 0 0 0.0.0.0:255 0.0.0.0:* 7 raw6 0 0 [::]:ipv6-icmp [::]:* 7 Активные сокеты домена UNIX (servers and established) Proto RefCnt Flags Type State I-Node Путь unix 3 [ ] STREAM CONNECTED 22101 unix 3 [ ] STREAM CONNECTED 18868 unix 3 [ ] STREAM CONNECTED 23589 /run/user/1000/bus unix 3 [ ] STREAM CONNECTED 23566 unix 3 [ ] STREAM CONNECTED 23256 /run/dbus/system_bus_socket ..........
Таблица с результатами содержит шесть колонок
Proto
— протокол (tcp, udp, raw), используемый сокетом.Recv-Q
— количество байтов, не скопированных локальным приложением.Send-Q
— количество байтов, не подтвержденных удаленным хостом.Local Address
— адрес и номер порта локального конца сокета.Foreign Address
— адрес и номер порта удаленного конца сокета.
Для сокетов TCP допустимы следующие значения состояния
CLOSED
— Сокет закрыт и не используется.LISTEN
— Ожидает входящих соединений.SYN_SENT
— Активно пытается установить соединение.SYN_RECEIVED
— Идет начальная синхронизация соединения.ESTABLISHED
— Соединение установлено.CLOSE_WAIT
— Удаленная сторона отключилась; ожидание закрытия сокета.FIN_WAIT_1
— Сокет закрыт; отключение соединения.CLOSING
— Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения.LAST_ACK
— Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения.FIN_WAIT_2
— Сокет закрыт; ожидание отключения удаленной стороны.TIME_WAIT
— Сокет закрыт; ожидание пакетов, все еще находящихся в сети.
Список всех используемых портов TCP соединений
Для этого к опции -a
нужно добавить опцию -t
$ netstat -at Активные соединения с интернетом (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN
Список всех используемых портов UDP соединений
Для этого к опции -a
нужно добавить опцию -u
$ netstat -au Активные соединения с интернетом (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:631 0.0.0.0:* udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 0.0.0.0:40249 0.0.0.0:* udp 0 0 localhost:domain 0.0.0.0:* udp 0 0 ubuntu-rebrain:bootpc _gateway:bootps ESTABLISHED udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:55085 [::]:*
Список всех используемых unix-сокетов
Для этого к опции -a
нужно добавить опцию -x
$ netstat -ax | head -10 Активные сокеты домена UNIX (servers and established) Proto RefCnt Flags Type State I-Node Путь unix 3 [ ] STREAM CONNECTED 23425 unix 3 [ ] STREAM CONNECTED 23105 unix 3 [ ] STREAM CONNECTED 22203 unix 3 [ ] STREAM CONNECTED 23398 /run/dbus/system_bus_socket unix 3 [ ] DGRAM CONNECTED 21430 unix 3 [ ] STREAM CONNECTED 21414 /run/dbus/system_bus_socket unix 3 [ ] STREAM CONNECTED 23380 /run/user/1000/pulse/native unix 3 [ ] STREAM CONNECTED 21965 /run/user/1000/bus ..........
Список всех прослушиваемых портов TCP и UDP соединений
Для этого предназначена опция -l
или --listening
$ netstat -l Активные соединения с интернетом (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN udp 0 0 0.0.0.0:631 0.0.0.0:* udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 0.0.0.0:40249 0.0.0.0:* udp 0 0 localhost:domain 0.0.0.0:* udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:55085 [::]:* raw 0 0 0.0.0.0:255 0.0.0.0:* 7 raw6 0 0 [::]:ipv6-icmp [::]:* 7 Активные сокеты домена UNIX (only servers) Proto RefCnt Flags Type State I-Node Путь unix 2 [ ACC ] STREAM LISTENING 20327 /run/cups/cups.sock unix 2 [ ACC ] STREAM LISTENING 21341 /run/user/1000/systemd/private unix 2 [ ACC ] STREAM LISTENING 21349 /run/user/1000/bus unix 2 [ ACC ] STREAM LISTENING 21351 /run/user/1000/gnupg/S.dirmngr unix 2 [ ACC ] STREAM LISTENING 21353 /run/user/1000/gnupg/S.gpg-agent.browser ..........
Список всех прослушиваемых портов TCP соединений
Для этого к опции -l
нужно добавить опцию -t
$ netstat -lt Активные соединения с интернетом (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 localhost:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN
Список всех прослушиваемых портов UDP соединений
Для этого к опции -l
нужно добавить опцию -u
$ netstat -lu Активные соединения с интернетом (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:631 0.0.0.0:* udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 0.0.0.0:40249 0.0.0.0:* udp 0 0 localhost:domain 0.0.0.0:* udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:55085 [::]:*
Список всех прослушиваемых портов unix-сокетов
Для этого к опции -l
нужно добавить опцию -x
$ netstat -lx Активные сокеты домена UNIX (only servers) Proto RefCnt Flags Type State I-Node Путь unix 2 [ ACC ] STREAM LISTENING 20327 /run/cups/cups.sock unix 2 [ ACC ] STREAM LISTENING 21341 /run/user/1000/systemd/private unix 2 [ ACC ] STREAM LISTENING 21349 /run/user/1000/bus unix 2 [ ACC ] STREAM LISTENING 21351 /run/user/1000/gnupg/S.dirmngr unix 2 [ ACC ] STREAM LISTENING 21353 /run/user/1000/gnupg/S.gpg-agent.browser unix 2 [ ACC ] STREAM LISTENING 21355 /run/user/1000/gnupg/S.gpg-agent.extra unix 2 [ ACC ] STREAM LISTENING 21357 /run/user/1000/gnupg/S.gpg-agent.ssh unix 2 [ ACC ] STREAM LISTENING 21359 /run/user/1000/gnupg/S.gpg-agent ..........
Сетевая статистика для всех протоколов
Для этого предназначена опция -s
или --statistics
$ netstat -s Ip: Forwarding: 2 377 total packets received 1 with invalid addresses 0 forwarded 0 incoming packets discarded 374 incoming packets delivered 169 requests sent out Icmp: 0 ICMP messages received 0 input ICMP message failed Гистограмма входа ICMP 4 ICMP messages sent 0 ICMP messages failed Гистограмма выхода ICMP destination unreachable: 4 IcmpMsg: OutType3: 4 Tcp: 9 active connection openings 0 passive connection openings 1 failed connection attempts 0 connection resets received 0 connections established 33 segments received 42 segments sent out 4 segments retransmitted 0 bad segments received 1 resets sent Udp: 214 packets received 4 packets to unknown port received 0 packet receive errors 112 packets sent 0 receive buffer errors 0 send buffer errors IgnoredMulti: 123 ..........
Сетевая статистика для TCP протокола
Для этого к опции -s
нужно добавить опцию -t
$ netstat -st IcmpMsg: OutType3: 4 Tcp: 63 active connection openings 0 passive connection openings 1 failed connection attempts 0 connection resets received 0 connections established 2890 segments received 2413 segments sent out 21 segments retransmitted 0 bad segments received 5 resets sent UdpLite: TcpExt: 22 TCP sockets finished time wait in fast timer 3 delayed acks sent Quick ack mode was activated 1 times ..........
Сетевая статистика для UDP протокола
Для этого к опции -s
нужно добавить опцию -u
$ netstat -su IcmpMsg: OutType3: 4 Udp: 782 packets received 4 packets to unknown port received 0 packet receive errors 271 packets sent 0 receive buffer errors 0 send buffer errors IgnoredMulti: 2886 UdpLite: IpExt: InMcastPkts: 570 OutMcastPkts: 64 InBcastPkts: 2886 ..........
Отображение PID и имени процесса в выводе
Опция -p
добавит «PID/Program Name» в вывод, и может быть совмещена с любым другим набором опций.
$ netstat -tp (Не все процессы были идентифицированы, информация о процессах без владельца не будет отображена, нужны права суперпользователя, чтобы увидеть всю информацию.) Активные соединения с интернетом (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 ubuntu-rebrain:49814 216.239.32.178:https ESTABLISHED 2592/firefox tcp 0 671 ubuntu-rebrain:59618 lf-in-f155.1e100.:https ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:44604 a2-20-255-114.depl:http ESTABLISHED 2592/firefox tcp 0 671 ubuntu-rebrain:59626 lf-in-f155.1e100.:https ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:52440 192.229.221.95:http ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:35478 ec2-34-199-39-224:https ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:50116 123.208.120.34.bc:https ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:51640 82.221.107.34.bc.g:http ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:45660 vh410.timeweb.ru:https TIME_WAIT - tcp 0 0 ubuntu-rebrain:42492 216.239.32.181:https ESTABLISHED 2592/firefox tcp 0 0 ubuntu-rebrain:60132 172.64.41.4:https TIME_WAIT - tcp 0 0 ubuntu-rebrain:60136 172.64.41.4:https ESTABLISHED 2592/firefox ..........
Не показывать имя хоста и порта в выводе
Опция -n
позволяет не резолвить имя хоста и порта, а выводить их в цифровом виде.
$ sudo netstat -tpn Активные соединения с интернетом (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.110.25:34324 92.53.96.106:443 ESTABLISHED 2592/firefox tcp 0 0 192.168.110.25:60184 64.233.163.94:443 ESTABLISHED 2592/firefox tcp 0 0 192.168.110.25:50234 216.239.36.178:443 ESTABLISHED 2592/firefox tcp 0 671 192.168.110.25:39546 64.233.164.155:443 ESTABLISHED 2592/firefox tcp 0 0 192.168.110.25:60136 172.64.41.4:443 ESTABLISHED 2592/firefox tcp 0 0 192.168.110.25:41030 216.239.32.181:443 ESTABLISHED 2592/firefox tcp 0 0 192.168.110.25:46502 162.159.61.4:443 ESTABLISHED 2654/firefox tcp 0 0 192.168.110.25:36712 34.117.65.55:443 ESTABLISHED 2592/firefox tcp 0 0 192.168.110.25:37534 34.117.237.239:443 ESTABLISHED 2592/firefox
Таблица сетевых интерфейсов
Опция -i
выводит таблицу сетевых интерфейсов.
$ netstat -i Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp0s3 1500 392 0 2 0 91 0 0 0 BMRU lo 65536 31 0 0 0 31 0 0 0 LRU
Таблиуа маршрутизации ядра
Опция -r
выводит таблицу маршрутизации ядра.
$ netstat -r Таблица маршутизации ядра протокола IP Destination Gateway Genmask Flags MSS Window irtt Iface default _gateway 0.0.0.0 UG 0 0 0 enp0s3 link-local 0.0.0.0 255.255.0.0 U 0 0 0 enp0s3 192.168.110.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
Вывод информации непрерывно
Опция -c
будет выводить информацию непрерывно, в стиле утилиты top
, обновляя экран каждые несколько секунд.
Поиск: CLI • Linux • Команда • Локальная сеть • Сетевой интерфейс • Сокет