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, и у вас есть идеи, как использовать ее в своем рабочем процессе.

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.