Команда 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"