11 лучших команд Netstat для управления сетью Linux
В этой статье мы собираемся взглянуть на команду netstat и на то, как в полной мере использовать ее для управления сетью и системой или администрирования в этом отношении.
К концу этой статьи будут прояснены следующие концепции:
- Что такое netstat?
- Для чего используется команда netstat?
- Что делает команда netstat?
Итак, для тех из вас, кто не слышал о netstat
или что он делает или чем может быть полезен, netstat
по сути, это инструмент командной строки и сетевой утилиты, используемый для отображения таблицы маршрутизации, таблицы интерфейса, членства в группах многоадресной рассылки, сетевой статистики и т. д.
Теперь для тех из вас, кто использовал его раньше, вы можете в значительной степени проголосовать за это.
Любой из системных / сетевых администраторов, которых вы знаете, это важный инструмент для любого из вас, если вы пытаетесь отслеживать активные соединения на компьютере, пытаясь переключить, какие соединения работают, какие службы работают и т. Д. .
Теперь netstat
предустановлен почти во всех дистрибутивах Linux.
Если вы используете Linux на базе Debian и у вас нет netstat
установлен, вы можете установить его с помощью следующей команды.
$ sudo apt-get install net-tools
и если вы используете Linux-машину на основе RPM, такую как Redhat или CentOS, вы можете установить это с помощью следующей команды.
# yum -y install net-tools
Если net-tools
не установлен в вашей системе, то вы получите эту ошибку при запуске netstat
команда.
«Команда netstat не найдена»
# netstat command not found
Использовать его чрезвычайно просто и, надеюсь, в этом руководстве я смогу рассказать о некоторых командах, которые сделают мою жизнь намного проще и помогут вам разобраться во всей сети в отношении того, что работает на вашем компьютере.
Здесь я запускаю Ubuntu 18.04 в виртуализированной среде.
Поэтому, без дальнейшего обсуждения, давайте узнаем, как использовать команду netstat в Linux с примерами.
Как я уже упоминал, команда netstat очень проста в использовании, но может сильно сбивать с толку в отношении результатов, которые вы можете перечислить.
Если мне нужно просто нажать следующую команду, чтобы открыть меню справки.
# netstat --help
Если вы запустите эту команду в своей системе, вы увидите, что есть много информации, которую вы можете использовать, и, конечно же, все это касается различных сетевых функций и информации, которую вы можете собрать.
Когда мы говорим обо всех аргументах или параметрах, как бы вы их ни называли, они могут быть отсортированы различными способами, которые затем дадут вам совсем другое представление данных.
Таким образом, используя оба или любой из этих параметров вместе, вы также можете получить вместе очень разные биты информации.
Я просто покажу вам команды и объясню, что делает каждая из них, но вы определенно можете проверить руководство, если хотите.
1. Отобразите все свои сетевые интерфейсы
Чтобы перечислить все ваши сетевые интерфейсы, которые у вас в настоящее время работают, используйте -ie
вариант с netstat
команда.
Подобно тому, что было бы, если бы вы бежали ifconfig
или ip a
команда.
# netstat -ie
Выход:
Kernel Interface table
ens33: flags=4163 mtu 1500
inet 192.168.85.128 netmask 255.255.255.0 broadcast 192.168.85.255
inet6 fe80::8a24:25e6:275d:9979 prefixlen 64 scopeid 0x20
ether 00:0c:29:a2:ac:29 txqueuelen 1000 (Ethernet)
RX packets 61731 bytes 51132284 (48.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 43920 bytes 6013689 (5.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 3720 bytes 319364 (311.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3720 bytes 319364 (311.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ,loopback,running> ,broadcast,running,multicast>
Таким образом, глядя на вывод выше, вы определенно можете лучше понять, какие сетевые интерфейсы работают на компьютере.
Введите следующую команду, чтобы отобразить таблицу всех сетевых интерфейсов.
# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33 1500 77631 0 0 0 48780 0 0 0 BMRU
lo 65536 3724 0 0 0 3724 0 0 0 LRU
Где:
2. Показать текущую таблицу маршрутизации.
Следующая команда позволяет отображать текущую таблицу IP-маршрутизации, что очень важно, потому что многие из вас действительно не понимают, почему важна маршрутизация.
Если вы хотите отобразить текущую таблицу IP-маршрутизации, используйте -r
вариант с netstat
.
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 ens33
192.168.85.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
3. Печать непрерывного вывода информации
Чтобы распечатать непрерывный вывод информации о ваших текущих активных соединениях, будь то TCP
, UDP
независимо от их состояния использовать -c
вариант с командой netstat.
Государство могло быть LISTENING
, ESTABLISHED
, CONNECTED
и т.п.
# netstat -c
Выход:
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 24 [ ] DGRAM 12813 /run/systemd/journal/dev-log
unix 2 [ ] DGRAM 44838 /run/user/0/systemd/notify
unix 2 [ ] DGRAM 29507 /var/run/chrony/chronyd.sock
unix 2 [ ] DGRAM 36275 /run/user/42/systemd/notify
unix 3 [ ] DGRAM 12752 /run/systemd/notify
unix 2 [ ] DGRAM 12754 /run/systemd/cgroups-agent
unix 8 [ ] DGRAM 12770 /run/systemd/journal/socket
unix 3 [ ] STREAM CONNECTED 51960 @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 48740 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 47194
unix 3 [ ] STREAM CONNECTED 46837
unix 3 [ ] STREAM CONNECTED 32493
unix 3 [ ] STREAM CONNECTED 51458 @/tmp/dbus-uzBIQxv3Sp
Как видно из вышеприведенного вывода, он просто распечатывает всю доступную в настоящее время информацию вывода, и на этом не останавливается.
Сортировка вывода netstat очень проста для понимания и интуитивно понятна.
Вы можете нажать CTRL+c
для прекращения вывода.
По умолчанию эта информация обновляется каждую секунду, но при желании вы можете установить определенное время обновления.
Возьмем пример.
Следующая команда будет обновлять информацию каждые 5 секунд.
# netstat -ac 5 | grep udp
4. Отображать как слушающие, так и не слушающие сокеты.
Теперь, если вы хотите перечислить все подключения / сокеты (прослушивающие и не прослушивающие), которые в настоящее время подключены, вы можете сделать это, передав -a
возможность netstat
.
Эта команда перечислит все доступные подключения, относящиеся к обоим TCP
а также UDP
.
# netstat -a
Выход:
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 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
udp 0 0 localhost:323 0.0.0.0:*
udp 0 0 0.0.0.0:54715 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
Вывод этой команды может быть очень большим, и его не будет на одном экране.
Итак, добавив more
команда через трубу (|
), вы можете показывать по одному экрану за раз.
# netstat -a | more
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 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
udp 0 0 localhost:323 0.0.0.0:*
udp 0 0 0.0.0.0:54715 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
udp6 0 0 [::]:sunrpc [::]:*
udp6 0 0 [::]:40067 [::]:*
udp6 0 0 [::]:mdns [::]:*
raw6 0 0 [::]:ipv6-icmp [::]:* 7
--More--
5. Отображение данных по протоколу (TCP / UDP)
Теперь, когда вы говорите об отображении данных по протоколу, который может быть либо TCP
или UDP
.
Это можно сделать снова очень просто.
5.1 Отображение данных по протоколу TCP
Итак, чтобы перечислить все текущие активные TCP
связи проходят -at
параметр для команды netstat.
# netstat -at
Выход:
вы можете подтвердить активный TCP
подключений, посмотрев на протокол прямо на выходе ниже.
Итак, независимо от других битов информации или состояния, все, на чем мы сейчас сосредоточены, – это протокол TCP.
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 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
5.2 Отображение данных по протоколу UDP
Итак, если мы можем сделать это для TCP
, мы определенно можем сделать это для UDP
. Сделаем это прямо сейчас.
Аналогично, чтобы вывести список всех текущих активных UDP
связи проходят -au
вариант для netstat
.
# netstat -au
Выход:
вы можете подтвердить активный UDP
подключений, глядя на протокол прямо в выводе ниже, и, конечно же, состояние не существует, потому что UDP – протокол без установления соединения.
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 localhost:323 0.0.0.0:*
udp 0 0 0.0.0.0:54715 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
udp6 0 0 [::]:sunrpc [::]:*
udp6 0 0 [::]:40067 [::]:*
udp6 0 0 [::]:mdns [::]:*
Теперь, когда я объяснил, как данные сортируются по различным столбцам. У вас есть понимание, как вы можете отображать тип данных, которые ищете.
6. Отображение сокетов слушающего сервера.
Теперь мы сосредоточимся на очень интересной теме, а именно штат.
Если вы пытаетесь найти различные порты, которые могут быть открыты, вам действительно нужно знать, для каких портов установлено состояние LISTEN
.
Это означает, что у них нет ESTABLISHED
связь, и они просто слушают.
Чтобы отобразить только прослушивающие сокеты, передайте -l
вариант для netstat
.
# netstat -l
6.1 Отображение сокетов слушающего сервера для TCP-портов
Итак, если вы хотите сделать это для TCP
портов, то все, что нам нужно сделать, это использовать -lt
вариант с netstat
команда.
По сути, это будет для всех прослушивающих TCP-портов.
# 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
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
Как видно из выходных данных выше, это все порты, чьи штат установлен на LISTEN
.
Теперь, если вы заметили этот вывод, все имена в местный адрес столбец были разрешены.

Но если вы хотите, чтобы имя не разрешалось и отображало только IP-адрес, вы можете использовать дополнительную опцию, а именно -n
. Вот пример.
# netstat -tnl
Выход:
Active Internet connections (only servers)
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 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 :::111 :::* LISTEN

6.2 Отображение сокетов слушающего сервера для портов UDP
Теперь, если вы хотите отобразить прослушивание UDP
порты, которые снова есть, можно сделать, передав -lu
параметр для команды netstat.
# netstat -lu
Выход:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 localhost:323 0.0.0.0:*
udp 0 0 0.0.0.0:54715 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
udp6 0 0 [::]:sunrpc [::]:*
udp6 0 0 [::]:40067 [::]:*
udp6 0 0 [::]:mdns [::]:*
Таким образом, глядя на вывод выше, вы определенно можете лучше понять, какие службы UDP также прослушивают, но, как я уже упоминал, это не придается большого значения, потому что UDP – это протокол без установления соединения.
Так что это состояние на самом деле не имеет значения.
Теперь, если вы заметили этот вывод, все имена в местный адрес столбец были разрешены.
Но если вы хотите, чтобы имя не разрешалось и отображало только IP-адрес, вы можете использовать дополнительную опцию, а именно -n
. Вот пример.
# netstat -unl
Выход:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp 0 0 0.0.0.0:54715 0.0.0.0:*
udp 0 0 0.0.0.0:67 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp6 0 0 ::1:323 :::*
udp6 0 0 :::111 :::*
udp6 0 0 :::40067 :::*
udp6 0 0 :::5353 :::*
6.3 Отображение сокетов слушающего сервера для портов UNIX
если вы хотите отобразить прослушивающие порты Unix, это можно сделать, передав -lx
вариант для netstat
.
# netstat -lx
Выход:
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 514130 @/tmp/dbus-exsPxNPA
unix 2 [ ACC ] STREAM LISTENING 514129 @/tmp/dbus-jjQ0c2fp
unix 2 [ ACC ] STREAM LISTENING 22156 @/org/kernel/linux/storage/multipathd
unix 2 [ ACC ] STREAM LISTENING 37145 @/tmp/.ICE-unix/1591
unix 2 [ ACC ] STREAM LISTENING 29721 /var/run/vmware/guestServicePipe
unix 2 [ ACC ] STREAM LISTENING 45681 @/tmp/.ICE-unix/2208
unix 2 [ ACC ] STREAM LISTENING 46451 @/tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 44842 /run/user/0/systemd/private
unix 2 [ ACC ] STREAM LISTENING 44853 /run/user/0/bus
7. Отображение имени PID / программы для сокетов.
Итак, поговорим об идентификации процесса (PID).
Чтобы отобразить имя PID / программы для сокетов, передайте -p
возможность netstat
команда.
# netstat -p
Выход:
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED 1133/NetworkManager
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 25 [ ] DGRAM 12813 1/systemd /run/systemd/journal/dev-log
unix 2 [ ] DGRAM 44838 2159/systemd /run/user/0/systemd/notify
unix 2 [ ] DGRAM 29507 983/chronyd /var/run/chrony/chronyd.sock
unix 2 [ ] DGRAM 36275 1493/systemd /run/user/42/systemd/notify
unix 3 [ ] DGRAM 12752 1/systemd /run/systemd/notify
unix 2 [ ] DGRAM 12754 1/systemd /run/systemd/cgroups-agent
unix 8 [ ] DGRAM 12770 1/systemd /run/systemd/journal/socket
unix 3 [ ] STREAM CONNECTED 51960 2301/Xwayland @/tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 48740 945/dbus-daemon /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 47194 2351/dconf-service
unix 3 [ ] STREAM CONNECTED 46837 2333/ibus-portal
unix 3 [ ] STREAM CONNECTED 32493 1068/platform-pytho
unix 3 [ ] STREAM CONNECTED 51458 2309/dbus-daemon @/tmp/dbus-uzBIQxv3Sp
unix 3 [ ] STREAM CONNECTED 45679 2208/gnome-session-
unix 3 [ ] STREAM CONNECTED 40533 1938/gsd-xsettings
Как видно из выходных данных выше, он показывает текущий процесс, который очень важен.
В добавок к этому штат, теперь у нас есть Идентификатор процесса (PID) или запущенная программа.
7.1 Отображение всех TCP-соединений с идентификатором процесса (PID)
Итак, теперь мы можем объединить эти различные фрагменты данных, сказав, что если вы ищете все TCP
соединений, но также хотел отобразить идентификатор процесса (PID).
Вы можете сделать это, объединив несколько опций, которые передаются -atp
вариант для netstat
.
# netstat -atp
Выход:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 1150/sshd
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN 1152/cupsd
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN 1/systemd
tcp6 0 0 [::]:ssh [::]:* LISTEN 1150/sshd
tcp6 0 0 localhost:ipp [::]:* LISTEN 1152/cupsd
tcp6 0 0 [::]:sunrpc [::]:* LISTEN 1/systemd
Как вы можете видеть из выходных данных выше, он отображает все процессы, и, конечно же, вы можете получить лучшее представление об этих запущенных службах.
7.2 Отображение всех UDP-соединений с идентификатором процесса (PID).
Точно так же, если вы ищете все UDP-соединения, но также хотите отобразить идентификатор процесса (PID).
Вы можете сделать это, передав -aup
вариант для netstat
.
# netstat -aup
Выход:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 localhost:323 0.0.0.0:* 983/chronyd
udp 0 0 0.0.0.0:54715 0.0.0.0:* 963/avahi-daemon: r
udp 0 0 0.0.0.0:bootps 0.0.0.0:* 1742/dnsmasq
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED 1133/NetworkManager
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:* 1/systemd
udp 0 0 0.0.0.0:mdns 0.0.0.0:* 963/avahi-daemon: r
udp6 0 0 localhost:323 [::]:* 983/chronyd
udp6 0 0 [::]:sunrpc [::]:* 1/systemd
udp6 0 0 [::]:40067 [::]:* 963/avahi-daemon: r
udp6 0 0 [::]:mdns [::]:* 963/avahi-daemon: r
Чтобы проверить, на каком порту работает служба, введите следующую команду.
# netstat -ap | grep ssh | more
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 61945/sshd
tcp6 0 0 [::]:ssh [::]:* LISTEN 61945/sshd
unix 2 [ ACC ] STREAM LISTENING 45782 2186/gnome-keyring- /run/user/0/keyring/ssh
unix 3 [ ] STREAM CONNECTED 913099 61945/sshd
unix 2 [ ] STREAM CONNECTED 913108 61945/sshd
8. Отображение активных подключений для определенного порта.
Некоторые из других команд или, по сути, как я уже упоминал ранее, вы действительно можете искать определенный порт или службу, и с этим можно очень просто разобраться.
Теперь, когда вы говорите о списках, которые, по сути, ищут настраиваемый порт, который можно сделать с помощью команды grep, и это именно то, что мы собираемся сделать.
Допустим, я искал SSH
(Порт: 22) только вместо того, чтобы запускать эту команду, я могу написать здесь простую команду.
# netstat -nlp | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1150/sshd
tcp6 0 0 :::22 :::* LISTEN 1150/sshd
Вот ты где. Таким образом, он показывает вам все различные службы, на которых работает SSH.
Это отлично. Таким образом, мы можем в значительной степени отсортировать данные. Опять же, я могу сделать это для systemd
(порт: 111).
# netstat -nlp | grep :111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp6 0 0 :::111 :::* 1/systemd
Вот и мы. Это действительно дает нам результат, который мы ищем. Вот как вывести список соединений, активных для определенного порта.
Вы снова можете увидеть мощь команды netstat. Вы знаете, что с его помощью можно понять, что в настоящее время работает на вашем компьютере.
Вы также можете использовать другой способ, который мне тоже нравится.
Причина, по которой я говорю вам обо всех этих других способах, заключается в том, что у вас есть множество вариантов, которые вы можете использовать, что вам удобно и что вам интуитивно понятно.
Таким образом, вы также можете выполнить следующую команду, чтобы получить аналогичный результат, как указано выше.
# netstat -an | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
9. Отображение сетевой статистики.
Чтобы отобразить сводную статистику для каждого протокола, выполните -s
параметр для команды netstat.
# netstat -s
Ip:
Forwarding: 1
36571 total packets received
1 with invalid addresses
0 forwarded
0 incoming packets discarded
26268 incoming packets delivered
22694 requests sent out
864 outgoing packets dropped
2433 dropped because of missing route
Icmp:
1886 ICMP messages received
2 input ICMP message failed
ICMP input histogram:
destination unreachable: 1886
1901 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 1901
IcmpMsg:
InType3: 1886
OutType3: 1901
Tcp:
163 active connection openings
0 passive connection openings
0 failed connection attempts
11 connection resets received
0 connections established
19725 segments received
15273 segments sent out
17 segments retransmitted
0 bad segments received
46 resets sent
Udp:
2775 packets received
1882 packets to unknown port received
0 packet receive errors
5377 packets sent
0 receive buffer errors
0 send buffer errors
Но если вы хотите показать сводную сетевую статистику для определенного протокола, вы можете использовать соответствующие параметры.
9.1 Отображение сводной статистики для TCP
# netstat -st
Tcp:
163 active connection openings
0 passive connection openings
0 failed connection attempts
11 connection resets received
0 connections established
19725 segments received
15273 segments sent out
17 segments retransmitted
0 bad segments received
46 resets sent
9.2 Отображение сводной статистики для UDP
# netstat -su
Udp:
2778 packets received
1882 packets to unknown port received
0 packet receive errors
5380 packets sent
0 receive buffer errors
0 send buffer errors
10. Отображение членства в группах многоадресной рассылки.
Чтобы отобразить членство в группах многоадресной рассылки, используйте -g
вариант с netstat
команда.
# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
ens33 1 224.0.0.251
ens33 1 all-systems.mcast.net
lo 1 ff02::1
lo 1 ff01::1
ens33 1 ff02::1:ff5d:9979
ens33 1 ff02::fb
ens33 1 ff02::1
ens33 1 ff01::1
virbr0 1 ff02::1
virbr0 1 ff01::1
virbr0-nic 1 ff02::1
virbr0-nic 1 ff01::1
11. Отображение неподдерживаемых семейств адресов.
Распечатайте полезную информацию о ненастроенных семействах адресов, введите следующую команду.
# netstat --verbose | more
Выход:
netstat: no support for `AF INET (sctp)' on this system.
netstat: no support for `AF INET (sctp)' on this system.
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 localhost.locald:bootpc 192.168.85.254:bootps ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 25 [ ] DGRAM 12813 /run/systemd/journal/dev-log
unix 2 [ ] DGRAM 44838 /run/user/0/systemd/notify
unix 2 [ ] DGRAM 29507 /var/run/chrony/chronyd.sock
unix 2 [ ] DGRAM 36275 /run/user/42/systemd/notify
unix 3 [ ] DGRAM 12752 /run/systemd/notify
unix 2 [ ] DGRAM 12754 /run/systemd/cgroups-agent
unix 8 [ ] DGRAM 12770 /run/systemd/journal/socket
--More--
12. Справка по команде netstat / Доступ к странице вручную
Используйте следующие команды для доступа к странице руководства / странице справки команды netstat.
# man netstat
Вы можете посетить следующие веб-сайты, чтобы получить дополнительную информацию о netstat
.
Заключение
Вот как по сути использовать команду netstat.
Я надеюсь, что теперь вы хорошо понимаете, как работает команда netstat, и у вас есть идеи, как использовать ее в своем рабочем процессе.
Если у кого-то есть какие-либо вопросы о том, что мы рассмотрели в этом руководстве, не стесняйтесь спрашивать в разделе комментариев ниже, и я постараюсь ответить на них.