NETSTAT - это утилита командной строки Windows выводящая на дисплей состояние TCP-соединений. Команда netstat отображает статистику активных подключений TCP, портов, прослушиваемых компьютером, статистики Ethernet, таблицы маршрутизации IP, статистики IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6). Запущенная без параметров, команда netstat отображает подключения TCP.
Формат командной строки:
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [интервал]
Параметры командной строки:
-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 ).
netstat -a | more - отобразить все соединения в постраничном режиме вывода на экран.
netstat -a -n| more - то же, что и в предыдущем примере, но с отображением номеров портов и IP-адресов в числовом формате. В отличие от предыдущего примера, команда
netstat с параметром
-t отрабатывает намного быстрее.
netstat -a -f | more - то же, что и в предыдущем примере, но с отображением полных DNS-имен узлов, участвующих в соединениии.
netstat -a > C:\netstatall.txt - отобразить все соединения с записью результатов в файл C:\netstatall.txt.
netstat -a | find /I "LISTENING" - отобразить все соединения со статусом LISTENING, т.е. отобразить список сетевых интерфейсов и портов, ожидающих входящие соединения ( "слушаемых" портов ). Ключ
/I в команде
find указывает, что при поиске текста, не нужно учитывать регистр символов.
netstat -a | find /I "listening" > C:\listening.txt - отобразить все соединения со статусом LISTENING с записью результатов в файл C:\listening.txt.
Пример отображаемой информации:
Активные подключения
Имя
TCP
TCP
TCP
TCP
. . . | Локальный адрес
0.0.0.0:80
0.0.0.0:445
192.168.0.3:5401
127.0.0.1:56635 | Внешний адрес
0.0.0.0:0
0.0.0.0:0
17.11.13.23:551
127.0.0.1:443 | Состояние
LISTENING
LISTENING
ESTABLISHED
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 - превышение времени ответа.
Имя программного модуля, связанного с данным соединением отображается, если задан параметр
-b в командной строке при запуске netstat.exe.
netstat -a -b - получить список всех сетевых соединений и связанных с ними программ.
TCP 192.168.0.3:3389 89.22.52.11:5779 ESTABLISHED
CryptSvc
[svchost.exe]
В данном примере отображается информация о соединении, в создании которого участвуют программные компоненты
CryptSvc и
svchost.exe.
netstat -ab - параметры командной строки можно объединять. Параметр
-ab эквивалентен
-a -b
netstat -e - получить статистические данные для обмена по протоколу Ethernet. Отображается суммарные значения принятых и полученных байт для всех сетевых адаптеров Ethernet.
Статистика интерфейса
Байт
Одноадресные пакеты
Многоадресные пакеты
Отброшено
Ошибки
Неизвестный протокол
| Получено
3572722456
73723923
15666
0
0
0 | Отправлено
516793893
75953549
1091239
0
0
0 |
netstat -e -v - кроме суммарной статистики, отображается информация об обмене данными через отдельные сетевые интерфейсы.
netstat -e -s - дополнительно к статистике Ethernet, отображается статистика для протоколов IP , ICMP , TCP , UDP
Статистика интерфейса
Байт
Одноадресные пакеты
Многоадресные пакеты
Отброшено
Ошибки
Неизвестный протокол | Получено
3748575434
76249208
15694
0
0
0 | Отправлено
1576644689
79843939
1094958
0
0
0 |
| | |
Статистика IPv4
Получено пакетов
Получено ошибок в заголовках
Получено ошибок в адресах
Направлено датаграмм
Получено неизвестных протоколов
Отброшено полученных пакетов
Доставлено полученных пакетов
Запросов на вывод
Отброшено маршрутов
Отброшено выходных пакетов
Выходных пакетов без маршрута
Требуется сборка
Успешная сборка
Сбоев при сборке
Успешно фрагментировано датаграмм
Сбоев при фрагментации датаграмм
Создано фрагментов | = 10877781
= 0
= 27307
= 0
= 0
= 448
= 11384479
= 11919871
= 0
= 1517
= 6
= 0
= 0
= 0
= 5918
= 0
= 11836 |
Статистика IPv6
Получено пакетов
Получено ошибок в заголовках
Получено ошибок в адресах
Направлено датаграмм
Получено неизвестных протоколов
Отброшено полученных пакетов
Доставлено полученных пакетов
Запросов на вывод
Отброшено маршрутов
Отброшено выходных пакетов
Выходных пакетов без маршрута
Требуется сборка
Успешная сборка
Сбоев при сборке
Успешно фрагментировано датаграмм
Сбоев при фрагментации датаграмм
Создано фрагментов | = 0
= 0
= 0
= 0
= 0
= 0
= 391
= 921
= 0
= 0
= 14
= 0
= 0
= 0
= 0
= 0
= 0 | |
Статистика ICMPv4
Сообщений
Ошибок
'Назначение недостижимо'
Превышений времени
Ошибок в параметрах
Просьб "снизить скорость"
Переадресовано
Ответных пакетов
Эхо-сообщений
Отметок времени
Ответы на отметки времени
Масок адресов
Ответов на маски адресов
Маршрутизатор
Маршрутизатор | Получено
11892
0
10461
613
0
0
0
818
0
0
0
0
0
0
0 | Отправлено
1374
0
528
0
0
0
0
0
846
0
0
0
0
0
0 |
ICMPv6 Статистика
Сообщений
Ошибок
'Назначение недостижимо'
Пакет слишком велик
Превышений времени
Ошибок в параметрах
Эхо-сообщений
Ответных пакетов
MLD-запросы
MLD-отчеты
MLD выполнено
Маршрутизатор
Маршрутизатор
Окружение
Окружение
Переадресовано
Перенумер. маршрутизатора | Получено
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 | Отправлено
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 |
| | |
Статистика TCP для IPv4
Активных открыто
Пассивных открыто
Сбоев при подключении
Сброшено подключений
Текущих подключений
Получено сегментов
Отправлено сегментов
Повторно отправлено сегментов | = 225128
= 12675
= 108237
= 1871
= 42
= 8606912
= 8138192
= 403595 |
Статистика TCP для IPv6
Активных открыто
Пассивных открыто
Сбоев при подключении
Сброшено подключений
Текущих подключений
Получено сегментов
Отправлено сегментов
Повторно отправлено сегментов | = 64
= 64
= 10164
= 4
= 4
= 3341
= 3341
= 0 |
Статистика UDP для IPv4
Получено датаграмм
Отсутствие портов
Ошибки при получении
Отправлено датаграмм | = 4714809
= 448
= 0
= 5332065 |
Статистика UDP для IPv6
Получено датаграмм
Отсутствие портов
Ошибки при получении
Отправлено датаграмм | = 419
= 0
= 0
= 391 |
netstat -s -p icmp - получить статистику только по протоколу ICMP
Пример отображаемых статистических данных:
Статистика ICMPv4
Сообщений
Ошибок
'Назначение недостижимо'
Превышений времени
Ошибок в параметрах
Просьб "снизить скорость"
Переадресовано
Ответных пакетов
Эхо-сообщений
Отметок времени
Ответы на отметки времени
Масок адресов
Ответов на маски адресов
Маршрутизатор
Маршрутизатор | Получено
12092
0
10654
619
0
0
0
819
0
0
0
0
0
0
0 | Отправлено
1375
0
528
0
0
0
0
0
847
0
0
0
0
0
0 |
Для циклического опроса состояния сетевых соединений используется запуск программы с указанием интервала вывода статистических данных в секундах.
netstat -e 3 - отображать статистику по Ethernet с интервалом 3 секунды.
netstat –f 10 - каждые 10 секунд отображать статистику сетевых соединений с использованием полных DNS-имен узлов.
netstat -n 5 | find /i "Established" - каждые 5 секунд отображать статистику по установленным соединениям.