Команда NETSTAT предназначена для получения сведений о состоянии сетевых соединений и слушаемых на данном компьютере портах TCP и UDP, а также, для отображения статистических данных по сетевым интерфейсам и протоколам.

1. Описание команды NETSTAT.

1.1. Формат командной строки:

C:\ NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [интервал]

1.2. Параметры командной строки:

  • -a — Отображение всех подключений и ожидающих портов.
  • -b — Отображение исполняемого файла, участвующего в создании каждого подключения, или ожидающего порта. Иногда известные исполняемые файлы содержат множественные независимые компоненты. Тогда отображается последовательность компонентов, участвующих в создании подключения, либо ожидающий порт. В этом случае имя исполняемого файла находится снизу в скобках [], сверху — компонент, который им вызывается, и так до тех пор, пока не достигается TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений.
  • -e — Отображение статистики Ethernet. Может применяться вместе с параметром -s.
  • -f — Отображение полного имени домена (FQDN) для внешних адресов.
  • -n — Отображение адресов и номеров портов в числовом формате.
  • -o — Отображение кода (ID) процесса каждого подключения.
  • -p протокол — Отображение подключений для протокола, задаваемых этим параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6. Используется вместе с параметром -s для отображения статистики по протоколам. Допустимые значения: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
  • -r — Отображение содержимого таблицы маршрутов.
  • -s — Отображение статистики протокола. По умолчанию статистика отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6. Параметр -p позволяет указать подмножество выводимых данных.
  • -t — Отображение текущего подключения в состоянии переноса нагрузки с процессора на сетевой адаптер при передаче данных ( «offload» ).
  • -v — Подробный вывод информации, если это возможно.
  • интервал — Повторный вывод статистических данных через указанный интервал в секундах. Для прекращения вывода данных нажмите клавиши CTRL+C. Если параметр не задан, сведения о текущей конфигурации выводятся один раз.

На практике, утилиту netstat.exe удобно использовать в цепочке с командами постраничного вывода (more), перенаправления стандартного вывода в файл ( > ) и поиска текста в результатах вывода ( find ).

2. Примеры использования NETSTAT.

2.1. Отобразить все соединения в постраничном режиме вывода на экран:

C:\ netstat -a | more

2.2. То же, что и в предыдущем примере, но с отображением номеров портов и IP-адресов в числовом формате:

C:\ netstat -a -n| more

В отличие от предыдущего примера, команда netstat с параметром -t отрабатывает намного быстрее.

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

C:\ netstat -a -f | more

2.4. Отобразить все соединения с записью результатов в файл C:\netstatall.txt:

C:\ netstat -a > C:\netstatall.txt

2.5. отобразить все соединения со статусом LISTENING, т.е. отобразить список сетевых интерфейсов и портов, ожидающих входящие соединения ( «слушаемых» портов )

C:\ netstat -a | find /I "LISTENING"

Ключ /I в команде find указывает, что при поиске текста, не нужно учитывать регистр символов.

2.6. отобразить все соединения со статусом LISTENING с записью результатов в файл C:\listening.txt:

C:\ netstat -a | find /I "listening" > C:\listening.txt

Пример отображаемой информации:

Активные подключения

Активные подключения

Имя	Локальный адрес		Внешний адрес		Состояние
TCP	0.0.0.0:80		0.0.0.0:0		LISTENING
TCP	0.0.0.0:445		0.0.0.0:0		LISTENING
TCP	192.168.0.3:5401	17.11.13.23:551		ESTABLISHED
TCP	127.0.0.1:56635		127.0.0.1:443		ESTABLISHED
. . .
  • Имя — название протокола.
  • Локальный адрес — локальный IP-адрес участвующий в соединении или связанный со службой, ожидающей входящие соединения (слушающей порт). Если в качестве адреса отображается 0.0.0.0 , то это означает — «любой адрес», т.е в соединении могут использоваться все IP-адреса существующие на данном компьютере. Адрес 127.0.0.1 — это петлевой интерфейс, используемый в качестве средства IP протокола для взаимодействия между процессами без реальной передачи данных.
  • Внешний адрес Внешний IP-адрес, участвующий в создании соединения.
  • Состояние — состояние соединения. Состояние Listening говорит о том, что строка состояния отображает информацию о сетевой службе, ожидающей входящие соединения по соответствующему протоколу на адрес и порт, отображаемые в колонке «Локальный адрес «. Состояние ESTABLISHED указывает на активное соединение. В колонке «Состояние» для соединений по протоколу TCP может отображаться текущий этап TCP-сессии определяемый по обработке значений флагов в заголовке TCP — пакета (Syn, Ask, Fin … ).

Возможные состояния:

  • CLOSE_WAIT — ожидание закрытия соединения.
  • CLOSED — соединение закрыто.
  • ESTABLISHED — соединение установлено.
  • LISTENING — ожидается соединение (слушается порт)
  • TIME_WAIT — превышение времени ответа.

2.7. Имя программного модуля, связанного с данным соединением отображается, если задан параметр -b в командной строке при запуске netstat.exe. Получить список всех сетевых соединений и связанных с ними программ:

C:\ netstat -a -b

Пример результата:

TCP 192.168.0.3:3389 89.22.52.11:5779 ESTABLISHED
CryptSvc
[svchost.exe]

В данном примере отображается информация о соединении, в создании которого участвуют программные компоненты CryptSvc и svchost.exe.

2.8. Параметры командной строки можно объединять. Параметр -ab эквивалентен -a -b:

C:\ netstat -ab

2.9. Получить статистические данные для обмена по протоколу Ethernet:

C:\ netstat -e

Отображается суммарные значения принятых и полученных байт для всех сетевых адаптеров Ethernet.

2.10. Кроме суммарной статистики, отображается информация об обмене данными через отдельные сетевые интерфейсы:

C:\ netstat -e -v

2.11. Дополнительно к статистике Ethernet, отображается статистика для протоколов IP , ICMP , TCP , UDP:

C:\ netstat -e -s

2.12. Получить статистику только по протоколу ICMP:

C:\ netstat -s -p icmp

2.13. Для циклического опроса состояния сетевых соединений используется запуск программы с указанием интервала вывода статистических данных в секундах.

2.13.1. Отображать статистику по Ethernet с интервалом 3 секунды:

C:\ netstat -e 3

2.13.2. Каждые 10 секунд отображать статистику сетевых соединений с использованием полных DNS-имен узлов:

C:\ netstat –f 10

2.13.3. Каждые 5 секунд отображать статистику по установленным соединениям:

C:\ netstat -n 5 | find /i "Established"