NetStat команда , то есть сетевой статистики , является командной строке Command используется для отображения очень подробную информацию о том , как ваш компьютер обменивается данными с другими компьютерами или сетевыми устройствами.
В частности, команда netstat может отображать сведения об отдельных сетевых подключениях, общую статистику и статистику по протоколу и многое другое, что может помочь в устранении неполадок определенных типов.
Доступность команды Netstat
Команда netstat доступна из командной строки в большинстве версий Windows, включая Windows 10 , Windows 8 , Windows 7 , Windows Vista , Windows XP , операционные системы Windows Server , а также в некоторых старых версиях Windows.
Доступность некоторых командных переключателей netstat и другого синтаксиса команд netstat может отличаться в зависимости от операционной системы.
Синтаксис команды Netstat
netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -o ] [ -p протокол ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ time_interval ] [ /? ]
Список команд Netstat | |
---|---|
вариант | объяснение |
NetStat | Выполните только команду netstat, чтобы отобразить относительно простой список всех активных TCP- подключений, в котором для каждого из них будет показан локальный IP-адрес (ваш компьютер), внешний IP-адрес (другой компьютер или сетевое устройство) вместе с их соответствующими номера портов, а также состояние TCP. |
-a | Этот переключатель отображает активные соединения TCP, соединения TCP с состоянием прослушивания, а также прослушиваемые порты UDP. |
-b | Этот переключатель netstat очень похож на параметр -o, указанный ниже, но вместо отображения PID будет отображать фактическое имя файла процесса. Использование -b поверх -o может показаться, что это экономит вам шаг или два, но иногда его использование может значительно увеличить время, необходимое netstat для полного выполнения. |
-e | Используйте этот переключатель с командой netstat для отображения статистики о вашем сетевом подключении. Эти данные включают байты, одноадресные пакеты, неадресные пакеты, сбросы, ошибки и неизвестные протоколы, полученные и отправленные с момента установления соединения. |
-f | -F переключатель заставит NETSTAT команду , чтобы отобразить полное доменное имя (FQDN) для каждого иностранного IP — адреса , если это возможно. |
-n | Используйте ключ -n, чтобы предотвратить попытки netstat определить имена хостов для внешних IP-адресов. В зависимости от текущих сетевых подключений использование этого переключателя может значительно сократить время, необходимое для полного выполнения netstat. |
-о | Удобный параметр для многих задач по устранению неполадок, ключ -o отображает идентификатор процесса (PID), связанный с каждым отображаемым соединением. Смотрите пример ниже, чтобы узнать больше об использовании netstat -o . |
-п | Используйте ключ -p, чтобы показать соединения или статистику только для определенного протокола . Вы не можете определить более одного протокола одновременно, и вы не можете выполнить netstat с -p без определения протокола . |
протокол | При указании протокола с параметром -p вы можете использовать tcp , udp , tcpv6 или udpv6 . Если вы используете -s с -p для просмотра статистики по протоколу, вы можете использовать icmp , ip , icmpv6 или ipv6 в дополнение к первым четырем, которые я упомянул. |
-р | Выполните netstat с -r, чтобы показать таблицу IP-маршрутизации. Это то же самое, что использование команды route для выполнения печати маршрута . |
-s | Параметр -s можно использовать с командой netstat для отображения подробной статистики по протоколу. Вы можете ограничить отображаемую статистику определенным протоколом, используя опцию -s и указав этот протокол , но обязательно используйте протокол -s перед -p при совместном использовании коммутаторов. |
-t | Используйте ключ -t, чтобы показать текущее состояние разгрузки TCP-трубы вместо обычно отображаемого состояния TCP. |
-Икс | Используйте параметр -x, чтобы отобразить все прослушиватели NetworkDirect, соединения и общие конечные точки. |
-y | -Y переключатель может быть использован для отображения шаблона соединения TCP для все соединения. Вы не можете использовать -y с любой другой опцией netstat. |
time_in интер вале | Это время (в секундах), которое вы хотели бы, чтобы команда netstat автоматически выполнялась повторно, останавливаясь только при использовании Ctrl-C для завершения цикла. |
/? | Используйте переключатель справки, чтобы показать подробности о нескольких параметрах команды netstat. |
Облегчите работу со всей этой информацией netstat в командной строке, выведя то, что вы видите на экране, в текстовый файл с помощью оператора перенаправления . См. Как перенаправить вывод команды в файл для получения полных инструкций.
Примеры команд Netstat
netstat -f
В этом первом примере мы выполняем netstat, чтобы показать все активные соединения TCP. Однако мы хотим видеть компьютеры, к которым мы подключены, в формате FQDN [ -f ] вместо простого IP-адреса.
Вот пример того, что вы можете увидеть:
Активные соединения
Прото локальный адрес Состояние внешнего адреса
TCP 127.0.0.1:5357 VM-Windows-7: 49229 TIME_WAIT
TCP 127.0.0.1:49225 VM-Windows-7: 12080 TIME_WAIT
TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT
TCP 192.168 .1.14: 49196 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49230 TIM-PC: wsd TIME_WAIT
TCP 192.168.1.14:492B
TCP 192.168.1.14:49232 TIM-PC: netbios-ssn TIME_WAIT
TCP 192.168.1.14:49233 TIM-PC: netbios-ssn TIME_WAIT
TCP [:: 1]: 2869 VM-Windows-7: 49226 УСТАНОВЛЕННЫЙ
TCP [:: 1] : 49226 VM-Windows-7: icslap УСТАНОВЛЕН
Как видите, на момент выполнения netstat в этом примере было 11 активных соединений TCP. Единственный протокол (в столбце Proto ) — это TCP, который ожидался, потому что мы не использовали -a .
Вы также можете увидеть три набора IP-адресов в столбце « Локальный адрес» — фактический IP-адрес 192.168.1.14 и версии IPv4 и IPv6 петлевых адресов вместе с портом, используемым каждым соединением. В столбце « Внешний адрес» также указывается полное доменное имя ( 75.125.212.75 по какой-то причине не удалось разрешить) и порт.
Наконец, в столбце « Состояние» указывается состояние TCP данного соединения.
netstat -o
В этом примере netstat будет работать нормально, поэтому он показывает только активные соединения TCP, но мы также хотим видеть соответствующий идентификатор процесса [ -o ] для каждого соединения, чтобы мы могли определить, какая программа на компьютере инициировала каждое из них.
Вот что отображал компьютер:
Активные соединения
Прото локальный адрес Состояние внешнего адреса PID
TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948
TCP 192.168.1.14:49196 a795sm: http CLOSE_WAIT 2948
TCP 192.168.1.14:49197 a795sm: http CLOSE_WAIT 2948
Вы, наверное, заметили новый столбец PID . В этом случае идентификаторы PID одинаковы. Это означает, что одна и та же программа на компьютере открывала эти подключения.
Чтобы определить, какая программа представлена PID 2948 на компьютере, все, что вам нужно сделать, это открыть диспетчер задач , выбрать вкладку « Процессы » и отметить имя изображения, указанное рядом с PID, который мы ищем, в столбце PID . 1
Использование команды netstat с параметром -o может быть очень полезно при отслеживании того, какая программа использует слишком большую долю вашей пропускной способности . Он также может помочь определить место назначения, где какое-либо вредоносное ПО или даже иное законное программное обеспечение может отправлять информацию без вашего разрешения.
Хотя этот и предыдущий примеры были запущены на одном и том же компьютере и всего за одну минуту, вы можете видеть, что список активных соединений TCP значительно отличается. Это связано с тем, что ваш компьютер постоянно подключается и отключается от других устройств в сети и через Интернет.
netstat -0 | findstr 28604
Приведенный выше пример аналогичен тому, что мы уже рассмотрели, но вместо отображения всех соединений мы сообщаем команде netstat показывать только те соединения, которые используют определенный PID, 28604 в этом примере.
Подобную команду можно использовать для фильтрации соединений с состоянием CLOSE_WAIT , заменив PID на ESTABLISHED .
netstat -s -p tcp -f
В этом примере мы хотим увидеть статистику по протоколу [ -s ], но не все, а только статистику TCP [ -p tcp ]. Мы также хотим, чтобы внешние адреса отображались в формате FQDN [ -f ].
Вот что команда netstat, как показано выше, выдает на примере компьютера:
Статистика TCP для
активных открытий IPv4 = 77
пассивных открытий = 21
попыток сбоя соединения = 2
сброса соединений = 25
текущих соединений = 5
полученных сегментов = 7313
отправленных сегментов = 4824
повторных передачи сегментов = 5
активных соединений
Прото локальный адрес Состояние внешнего адреса
TCP 127.0.0.1: 2869 VM-Windows-7: 49235 TIME_WAIT
TCP 127.0.0.1:2869 VM-Windows-7: 49238 УСТАНОВЛЕНО
TCP 127.0.0.1:49238 VM-Windows-7: icslap УСТАНОВЛЕНО
TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT
TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT
Как видите, отображаются различные статистические данные для протокола TCP, как и все активные TCP-соединения в то время.
netstat -e -t 5
В этом последнем примере команда netstat выполняется, чтобы показать некоторую базовую статистику сетевого интерфейса [ -e ] и чтобы эта статистика постоянно обновлялась в окне команд каждые пять секунд [ -t 5 ].
Вот что производится на экране:
Полученные отправленные
байты статистики интерфейса 22132338 1846834
Одноадресные пакеты 19113 9869 Неадресные
пакеты 0 0
Сбросов 0 0
Ошибки 0 0
Неизвестные протоколы 0 Полученные
статистические данные интерфейса
Отправленные
байты 22134630 1846834
Одноадресные пакеты 19128 9869 Неадресные
пакеты 0 0
Сбросов 0 0
Ошибки 0 0
Неизвестные протоколы 0
^ C
Отображается различная информация, которую вы можете увидеть здесь и которую мы перечислили в синтаксисе -e выше.
Команда netstat автоматически выполняется только один раз, как видно из двух таблиц в результате. Обратите внимание на символ ^ C внизу, указывающий, что команда отмены Ctrl + C была использована для остановки повторного запуска команды.
Команды, связанные с Netstat
Команда netstat часто используется с другими командами командной строки, такими как nslookup , ping , tracert , ipconfig и другими.
[1] Возможно, вам придется вручную добавить столбец PID в диспетчер задач. Это можно сделать, выбрав PID после щелчка правой кнопкой мыши по заголовкам столбцов на вкладке « Процесс ». Если вы используете Windows 7 или на старой ОС Windows выберите PID (Process Identifier) флажок из Вида > Выбрать столбцы в диспетчере задач. Вам также может потребоваться выбрать Показать процессы из всех пользователей в нижней части вкладки Процессы, если искомый PID отсутствует в списке.