Как использовать команду Netstat

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

В частности, команда netstat может отображать подробности об отдельных сетевых подключениях, общую статистику и статистику по протоколу и многое другое, что может помочь в устранении неполадок определенных типов.

Доступность команды Netstat

Команда netstat доступна из командной строки в большинстве версий Windows, включая Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, операционные системы Windows Server и некоторые старые версии Windows.

netstat — это кроссплатформенная команда, что означает, что она также доступна в других операционных системах, таких как macOS и Linux.

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

Синтаксис команды Netstat

NetStat [] [] [] [] [-N] [] [-п протокол] [] [-s] [-T] [-Икс] [-Y] [интервал времени] [/?]

Как читать командный синтаксис

Список команд Netstat
вариантобъяснение
NetStatВыполните только команду netstat, чтобы отобразить относительно простой список всех активных TCP-подключений, в котором для каждого из них будет показан локальный IP-адрес (ваш компьютер), внешний IP-адрес (другой компьютер или сетевое устройство) вместе с их соответствующими номера портов, а также состояние TCP.
Этот переключатель отображает активные соединения TCP, соединения TCP с состоянием прослушивания, а также прослушиваемые порты UDP.
Этот переключатель netstat очень похож на Переключатель, указанный ниже, но вместо отображения PID, отобразит фактическое имя файла процесса. С помощью над может показаться, что он экономит вам шаг или два, но его использование иногда может значительно увеличить время, необходимое netstat для полного выполнения.
Используйте этот переключатель с командой netstat для отображения статистики о вашем сетевом подключении. Эти данные включают байты, одноадресные пакеты, неадресные пакеты, отбрасывания, ошибки и неизвестные протоколы, полученные и отправленные с момента установления соединения.
switch заставит команду netstat отображать полное доменное имя (FQDN) для каждого внешнего IP-адреса, когда это возможно.
-NИспользовать -N включите, чтобы netstat не пытался определить имена хостов для внешних IP-адресов. В зависимости от текущих сетевых подключений использование этого переключателя может значительно сократить время, необходимое для полного выполнения netstat.
Удобный вариант для решения многих проблем, Переключатель отображает идентификатор процесса (PID), связанный с каждым отображаемым соединением. Смотрите пример ниже для получения дополнительной информации об использовании netstat -o.
-пИспользовать -п переключиться, чтобы показать соединения или статистику только для определенного протокола. Вы не можете определить более одного протокола одновременно, и вы не можете выполнить netstat с -п без определения протокола.
протоколПри указании протокола с -п вариант, вы можете использовать ТСР, УДП, tcpv6, или же udpv6. Если вы используете -s с участием -п Для просмотра статистики по протоколу вы можете использовать ICMP, IP, ICMPv6, или же ipv6 в дополнение к первым четырем я упомянул.
Выполнить netstat с показать таблицу IP-маршрутизации. Это то же самое, что использовать команду route для выполнения печать маршрута.
-s -s Эта опция может быть использована с командой netstat для отображения подробной статистики по протоколу. Вы можете ограничить отображаемую статистику конкретным протоколом, используя -sвариант и указание этого протокола, но обязательно используйте -s до -п протокол при использовании коммутаторов вместе.
-TИспользовать -T переключитесь, чтобы показать текущее состояние разгрузки дымовой трубы TCP вместо обычно отображаемого состояния TCP.
-ИксИспользовать -Икс возможность показывать все прослушиватели NetworkDirect, соединения и общие конечные точки.
-Y -Y Коммутатор может использоваться для отображения шаблона TCP-соединения для всех соединений. Вы не можете использовать -Y с любой другой опцией netstat.
интервал времениЭто время (в секундах), которое вы хотели бы, чтобы команда netstat автоматически выполнялась повторно, останавливаясь только при использовании Ctrl-C для завершения цикла.
/?Используйте переключатель справки, чтобы показать подробную информацию о нескольких параметрах команды netstat.

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

Примеры команд Netstat

netstat -f

В этом первом примере мы выполняем netstat, чтобы показать все активные соединения TCP. Однако мы хотим видеть компьютеры, к которым мы подключены, в формате FQDN [] вместо простого 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:49231 TIM-PC: icslap УСТАНОВЛЕН
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, который ожидался, потому что мы не использовали .

Вы также можете увидеть три набора IP-адресов в столбце «Локальный адрес» — фактический IP-адрес 192.168.1.14 и версии IPv4 и IPv6 петлевых адресов вместе с портом, используемым каждым соединением. В столбце «Внешний адрес» также указывается полное доменное имя (75.125.212.75 по какой-то причине не удалось разрешить) и порт.

Наконец, в столбце «Состояние» указывается состояние TCP этого конкретного соединения.

netstat -o

В этом примере netstat будет работать нормально, поэтому он показывает только активные соединения TCP, но мы также хотим видеть соответствующий идентификатор процесса [] для каждого соединения, чтобы мы могли определить, какая программа на компьютере инициировала каждое из них.

Вот что отображал компьютер:

Активные подключения
Прото Локальный адрес Внешний адрес Состояние 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.

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

Хотя этот и предыдущий примеры были запущены на одном компьютере и всего за одну минуту, вы можете видеть, что список активных соединений TCP значительно отличается. Это связано с тем, что ваш компьютер постоянно подключается и отключается от различных других устройств в сети и через Интернет.

netstat -0 | findstr 28604

Приведенный выше пример аналогичен тому, что мы уже рассматривали, но вместо отображения всех соединений мы сообщаем команде netstat показывать только соединения, использующие определенный PID, 28604 в этом примере.

Подобную команду можно использовать для фильтрации соединений с состоянием CLOSE_WAIT, заменив PID на ESTABLISHED.

netstat -s -p tcp -f

В этом примере мы хотим видеть специфическую для протокола статистику [-s] но не все, только статистика TCP [-п ТСР]. Мы также хотим, чтобы внешние адреса отображались в формате FQDN [].

Вот что команда 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 выполняется, чтобы показать некоторую базовую статистику сетевого интерфейса [] и чтобы эта статистика постоянно обновлялась в командном окне каждые пять секунд [-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

Различные части информации, которые вы можете увидеть здесь и которые мы перечислили в Синтаксис выше, отображаются.

Команда netstat автоматически выполняется только один раз, как видно из двух таблиц в результате. Обратите внимание на символ ^ C внизу, указывающий, что команда отмены Ctrl + C использовалась, чтобы остановить повторный запуск команды.

Команды, связанные с Netstat

Команда netstat часто используется с другими командами командной строки, такими как nslookup, ping, tracert, ipconfig и другими.

[1] Возможно, вам придется вручную добавить столбец PID в диспетчер задач. Вы можете сделать это, выбрав PID после щелчка правой кнопкой мыши заголовки столбцов в Процесс Вкладка. Если вы используете Windows 7 или более старую ОС Windows, выберите PID (идентификатор процесса) флажок от Посмотреть > Выберите столбцы в диспетчере задач. Вы также можете выбрать Показать процессы от всех пользователей со дна Процессы Если PID, который вы ищете, отсутствует в списке.

Ссылка на основную публикацию