Как да използвате командата Netstat

Примери, ключове и др

Командата netstat е команда за команден ред, използвана за показване на много подробна информация за това, как компютърът ви комуникира с други компютри или мрежови устройства.

По-конкретно, командата netstat може да показва подробности за отделните мрежови връзки, общи и протоколни мрежови статистики и много други, като всичко това може да помогне за отстраняването на някои видове проблеми в мрежата.

Достъпност на командата Netstat

Командата netstat се предлага от командния ред в повечето версии на Windows, включително Windows 10 , Windows 8 , Windows 7 , Windows Vista , Windows XP , операционни системи Windows Server и някои по-стари версии на Windows.

Забележка: Наличието на някои командни ключове netstat и друг синтаксис на командата netstat може да се различава от операционната система до операционната система.

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

netstat [ ] [ ] [ ] [ -f ] [ -n ] [ ] [р протокол ] [ ] [ time_interval ] [ /? ]

Съвет: Вижте Как да прочетете Синтаксис на команди, ако не сте сигурни как да четете синтаксиса на командата netstat, както е показано по-горе.

Изпълнете само командата netstat, за да покажете относително прост списък на всички активни TCP връзки, които за всеки ще покажат локалния IP адрес (вашия компютър), чуждия IP адрес (другия компютър или мрежовото устройство) заедно с техните съответни номерата на портовете, както и състоянието на TCP.

-a = Този ключ показва активни TCP връзки, TCP връзки със състоянието на слушане, както и UDP портове, които се слуша.

-b = Този комутатор на netstat е много подобен на избрания по-долу превключвател -o , но вместо да показва PID, ще покаже действителното име на файла. Използването на -b over -o може да изглежда така, сякаш ви спестява една или две стъпки, но използването на него може понякога значително да удължи времето, необходимо netstat да изпълни напълно.

-e = Използвайте този ключ с командата netstat, за да показвате статистически данни за вашата мрежова връзка. Тези данни включват байтове, пакети за еднократна употреба, пакети, които не са единични, изхвърляния, грешки и неизвестни протоколи, получени и изпратени след създаването на връзката.

-f = Превключвателят -f ще принуди командата netstat да показва напълно упълномощеното име на домейн (FQDN) за всеки чужд IP адрес, когато е възможно.

-n = Използвайте превключвателя -n, за да предотвратите възможността netstat да се опитва да определи имена на хостове за чужди IP адреси. В зависимост от вашите текущи мрежови връзки, използването на този ключ може значително да намали времето, необходимо netstat да изпълни напълно.

-o = Удобна опция за много задачи за отстраняване на неизправности, превключвателят -o показва идентификатора на процеса (PID), свързан с всяка показвана връзка. Вижте примера по-долу за повече информация относно използването на netstat -o .

-p = Използвайте превключвателя -p, за да показвате връзки или статистически данни само за конкретен протокол . Не можете да дефинирате повече от един протокол наведнъж, нито можете да изпълнявате netstat с -p без да дефинирате протокол .

protocol = При задаване на протокол с опцията -p можете да използвате tcp , udp , tcpv6 или udpv6 . Ако използвате -s с -p, за да видите статистически данни по протокол, можете да използвате icmp , ip , icmpv6 или ipv6 в допълнение към първите четири споменати.

-r = Изпълнете netstat с -r, за да видите таблицата за маршрутизиране на IP адреси. Това е същото като използването на командата за маршрут за изпълнение на печат на маршрута .

-s = Опцията -s може да се използва с командата netstat, за да се показват подробни статистически данни по протокол. Можете да ограничите показаните статистически данни за конкретен протокол, като използвате опцията -s и указвате този протокол , но не забравяйте да използвате -s преди протокола -p , когато използвате комутаторите заедно.

-t = Използвайте превключвателя -t, за да покажете състоянието на текущото TCP коминно изместване на мястото на типично показваното състояние TCP.

-x = Използвайте опцията -x, за да покажете всички слушатели на мрежата, връзки и споделени крайни точки.

-y = Превключвателят -y може да се използва за показване на шаблона за TCP връзка за всички връзки. Не можете да използвате- y с друга опция netstat.

time_interval = Това е времето, в секунди, което искате командата netstat да се изпълни отново автоматично, спирайки само когато използвате Ctrl-C, за да завършите цикъла.

/? = Използвайте бутона за помощ, за да видите подробности за няколко опции на командата netstat.

Съвет: Направете по-лесно цялата работа на тази netstat информация в командния ред, като изведете това, което виждате на екрана, към текстов файл, като използвате оператор за пренасочване . Вж. Как да пренасочите изхода на команда към файл за пълни инструкции.

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

netstat -f

В този първи пример изпълнявам netstat, за да показвам всички активни TCP връзки. Искам обаче да видя компютрите, с които съм свързан във формат FQDN [ -f ], вместо прост IP адрес.

Ето един пример за това, което може да видите:

Active Connections Proto Local Address Адрес на външен адрес 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 ТИМ-РС: wsd TIME_WAIT TCP 192.168.1.14:49231 ТИМ-РС: icslap ESTABLISHED 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 VM-Windows-7: ИСТИНСКИ УСТАНОВЕНИ

Както можете да видите, имах 11 активни TCP връзки по времето, когато изпълних netstat. Единственият протокол (в колоната Proto ) е TCP, което се очакваше, защото не използвах -a .

Можете също така да видите три набора от IP адреси в колоната " Местен адрес " - моя действителен IP адрес на 192.168.1.14 и двете IPv4 и IPv6 версии на моите обратни адреси , заедно с портовете, които всяка връзка използва. Колоната за външен адрес съдържа списък с FQDN ( 75.125.212.75 не реши по някаква причина) заедно с това пристанище.

Накрая, колоната за държавата показва състоянието на TCP на тази конкретна връзка.

netstat -o

В този пример искам да стартирам netstat нормално, така че да показва само активни TCP връзки, но също така искам да видя съответния идентификатор на процеса [ -o ] за всяка връзка, за да мога да определя коя от програмите на моя компютър инициира всеки един от тях.

Ето какво показва моят компютър:

Активни връзки Proto Local Address Държава на външния адрес 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 на моя компютър, всичко, което трябва да направите, е да отворите Task Manager , да кликнете върху раздела Processes и да запишете името на изображението, посочено до PID, което търся в PID колоната , 1

Използването на командата netstat с опцията -o може да бъде много полезна, когато проследявате коя програма използва твърде голяма част от вашата честотна лента . Тя също така може да помогне за намирането на местоназначението, където някакъв вид злонамерен софтуер или дори някакво легитимно софтуерно приложение може да изпраща информация без ваше разрешение.

Забележка: Докато този и предишният пример са били едновременно пуснати на един и същи компютър и само една минута по-рано, можете да видите, че списъкът на активните TCP връзки е значително различен. Това е така, защото компютърът ви непрекъснато се свързва с и се прекъсва от различни други устройства в мрежата ви и по интернет.

netstat -s -p tcp -f

В този трети пример искам да видя статистически данни [ -s ], но не всички от тях, само статистически данни за TCP [ -p tcp ]. Също така искам чуждите адреси да се показват във формат FQDN [ -f ].

Това е командата netstat, както е показано по-горе, произведена на моя компютър:

TCP Статистика за IPv4 Активни Отвори = 77 Пасивни Отвори = 21 Неуспешни Опити за Връзка = 2 Нулиране на Свързвания = 25 Текущи Връзки = 5 Сегменти Получени = 7313 Сегменти Изпратени = 4824 Сегменти Препредадени = 5 Активни Връзки Proto Local Address Държава TCP 127.0.0.1: 2869 VM-Windows-7: 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 ESTABLISHED TCP 127.0.0.1:49238 ВМ-Windows-7: icslap ESTABLISHED 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 Пакети Unicast 19113 9869 Пакети, които не са единични, 0 0 Изхвърлени 0 0 Грешки 0 0 Неизвестни протоколи 0 Интерфейс Статистика, получено Изпратени байтове 22134630 1846834 Пакети Unicast 19128 9869 Пакети за унифициране 0 0 Изхвърляния 0 0 Грешки 0 0 Неизвестни протоколи 0 ° С

Извеждат се различни части на информацията, които можете да видите тук и изброени в синтаксиса по-горе.

Оставям само командата netstat да изпълни автоматично едно допълнително време, както можете да видите от двете таблици в резултата. Обърнете внимание на ^ C в долната част, което показва, че използвах командата Ctrl-C за прекратяване, за да спра повторното изпълнение на командата.

Свързани с Netstat команди

Командата netstat често се използва с други команди на Command Prompt, свързани с мрежата, като nslookup, ping , tracert , ipconfig и други.

[1] Може да се наложи да добавите ръчно PID колоната към мениджъра на задачите. Можете да направите това, като поставите отметка в квадратчето "PID (Process Identifier)" от View -> Select Columns в Task Manager. Може да се наложи да кликнете върху бутона "Показване на процесите от всички потребители" в раздела "Процеси", ако PID, който търсите, не е в списъка.