Linux команды · 3 min read · Sep 19, 2025

Учебник по команде netstat в Linux для начинающих (8 примеров)

Если вы новичок в командной строке Linux и хотите изучить сетевые вещи, есть много утилит командной строки, о которых вам следует знать. Одним из таких инструментов является netstat. В этой статье мы обсудим эту команду, используя несколько простых для понимания примеров.

Но прежде чем мы это сделаем, стоит упомянуть, что все эти примеры были протестированы на машине с Ubuntu 16.04 LTS.

Команда netstat в Linux

Команда netstat позволяет вам выводить сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскирующие соединения и членство в мультикастах. Следующий синтаксис:

netstat [OPTIONS]

Вот как это объясняется в странице man:

       Netstat  печатает  информацию о подсистеме сетевого взаимодействия Linux.  Тип информации, которая выводится, контролируется первым аргументом, как следует:

   (none)  
       По  умолчанию,  netstat  отображает  список открытых сокетов.  Если вы не  укажете никаких семейств адресов, то будут выведены активные сокеты всех настроенных  семейств адресов.

   --route , -r  
       Отобразить таблицы маршрутизации ядра. См. описание в route(8) для подробностей.  netstat -r и route -e дают одинаковый вывод.

   --groups , -g  
       Отобразить информацию о членстве в мультикаст-группах для IPv4 и IPv6.

   --interfaces, -i  
       Отобразить таблицу всех сетевых интерфейсов.

   --masquerade , -M  
       Отобразить список маскирующих соединений.

   --statistics , -s  
       Отобразить сводную статистику для каждого протокола.

Следующие примеры в формате вопросов и ответов должны дать вам хорошее представление о том, как работает команда netstat.

Вопрос 1. Как использовать команду netstat?

Основное использование довольно простое - просто выполните команду netstat без каких-либо опций.

netstat

Например, в моем случае был получен следующий вывод:

Активные интернет-соединения (без серверов)  
Протокол Recv-Q Send-Q Локальный адрес           Удаленный адрес         Состояние        
tcp        0      0 192.168.1.7:59510       mails11.telegram.:https УСТАНОВЛЕН
...

Таким образом, по умолчанию команда отображает список всех открытых сокетов.

Вопрос 2. Как заставить netstat показывать числовые адреса?

По умолчанию команда netstat пытается определить символические имена хостов, портов или пользователей. Это может замедлить инструмент. Однако, если вас устраивают числовые значения, вы можете заставить инструмент выводить числовые значения, используя опцию командной строки -n.

netstat -n

Например, в моем случае был получен следующий вывод:

Активные интернет-соединения (без серверов)  
Протокол Recv-Q Send-Q Локальный адрес           Удаленный адрес         Состояние        
tcp        0      0 192.168.1.7:59510       149.154.171.22:443      УСТАНОВЛЕН
...

Таким образом, вы можете видеть, что на этот раз в выводе были только числовые значения (в столбце Удаленный адрес).

Вопрос 3. Как заставить netstat отображать только tcp-соединения?

Это можно сделать, используя опцию командной строки -t.

netstat -t

Например, в моем случае был получен следующий вывод:

Активные интернет-соединения (без серверов)  
Протокол Recv-Q Send-Q Локальный адрес           Удаленный адрес         Состояние        
tcp        0      0 192.168.1.7:44236       152.195.11.6:https      УСТАНОВЛЕН
...

Вопрос 4. Как заставить netstat отображать только udp-соединения

Это можно сделать, используя опцию командной строки -u.

netstat -u

Вопрос 5. Как заставить netstat показывать только слушающие сокеты?

Это возможно, используя опцию командной строки -l.

netstat -l

Например, в моем случае был получен следующий вывод:

Активные интернет-соединения (только серверы)  
Протокол Recv-Q Send-Q Локальный адрес           Удаленный адрес         Состояние        
tcp        0      0 ansh:domain             *:*                     LISTEN       
...

Вопрос 6. Как заставить netstat показывать имя и PID программ?

Если вы хотите, чтобы netstat показывал имена идентификаторов процессов процессов, к которым принадлежит каждый сокет, используйте опцию командной строки -p.

netstat -p

Например:

Активные интернет-соединения (без серверов)  
Протокол Recv-Q Send-Q Локальный адрес           Удаленный адрес         Состояние       PID/Имя программы  
tcp        0      0 192.168.1.7:57318       13.70.5.200:https       УСТАНОВЛЕН 3247/firefox      
...

Смотрите последний столбец для информации о PID/имени программы.

Вопрос 7. Как заставить netstat выводить сетевую статистику?

Это можно сделать, используя опцию командной строки -s.

netstat -s

В этом случае инструмент производит информацию, такую как общее количество полученных, отброшенных, доставленных пакетов и многое другое. Следующий пример вывода был получен при использовании опции командной строки -s.

Ip:  
    592215 всего пакетов получено  
    41 с недействительными адресами  
...

Вопрос 8. Как заставить netstat отображать таблицу маршрутизации ядра?

Это можно сделать, используя опцию командной строки -r.

netstat -r

Следующий вывод был получен в моем случае:

Таблица маршрутизации IP ядра  
Назначение     Шлюз         Genmask         Флаги   MSS Window  irtt Интерфейс  
default         192.168.1.1     0.0.0.0         UG        0 0          0 wlx18a6f713679b  
...

Обратите внимание, что netstat -r и route -e дают одинаковый вывод.

Заключение

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.