Командата netstat, което означава мрежова статистика, е команда от командния ред, използвана за показване на много подробна информация за това как компютърът ви комуникира с други компютри или мрежови устройства.
По-конкретно, той може да показва подробности за отделни мрежови връзки, цялостна и специфична за протокол мрежова статистика и много повече, като всичко това може да помогне за отстраняване на определени видове мрежови проблеми.
Наличност на Netstat команда
Тази команда е достъпна от командния ред в повечето версии на Windows, включително Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, операционни системи Windows Server и някои по-стари версии на Windows също.
Netstat е междуплатформена команда, което означава, че е достъпна и в други операционни системи като macOS и Linux.
Наличието на определени превключватели на командата netstat и друг синтаксис на командата netstat може да се различава от операционна система до операционна система.
Синтаксис на командата Netstat
netstat [- a] [- b] [- e] [- f] [- n] [- o] [-p протокол] [-r ] [-s ] [-t] [- x] [- y] [време_интервал] [ /?] йени
Списък с команди 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 | Удобна опция за много задачи за отстраняване на проблеми, превключвателят - o показва идентификатора на процеса (PID), свързан с всяка показана връзка. Вижте примера по-долу за повече относно използването на netstat -o. |
- p | Използвайте превключвателя - p, за да покажете връзки или статистика само за определен протокол. Не можете да дефинирате повече от един протокол наведнъж, нито можете да изпълните netstat с - p, без да дефинирате протокол. |
протокол | Когато указвате протокол с опцията - p, можете да използвате tcp, udp, tcpv6 или udpv6 Ако използвате - s с - p , за да видите статистика по протокол, можете да използвате icmp, ip, icmpv6, или ipv6 в допълнение към първите четири, които споменах. |
- r | Изпълнете netstat с - r, за да покажете таблицата за IP маршрутизиране. Това е същото като използването на командата route за изпълнение route print. |
- s | Опцията - s може да се използва с командата netstat за показване на подробна статистика по протокол. Можете да ограничите показаните статистики до конкретен протокол, като използвате опцията - s и посочите този протокол, но не забравяйте да използвате - s преди- p протокол, когато използвате превключвателите заедно. |
- t | Използвайте превключвателя - t, за да покажете текущото състояние на разтоварване на TCP комина на мястото на обикновено показваното TCP състояние. |
- x | Използвайте опцията - x, за да покажете всички слушатели, връзки и споделени крайни точки на NetworkDirect. |
- y | Превключвателят - y може да се използва за показване на шаблона за TCP връзка за всички връзки. Не можете да използвате - y с друга опция на netstat. |
време_в интервал | Това е времето в секунди, за което искате командата netstat да се изпълни отново автоматично, спирайки само когато използвате Ctrl-C, за да прекратите цикъла. |
/? | Използвайте превключвателя за помощ, за да покажете подробности за няколко опции на командата netstat. |
Направете цялата тази netstat информация в командния ред по-лесна за работа, като изведете това, което виждате на екрана, в текстов файл, използвайки оператор за пренасочване. Вижте Как да пренасочите изхода на команда към файл за пълни инструкции.
Примери за команда Netstat
Ето няколко примера, показващи как може да се използва командата netstat:
Показване на активни TCP връзки
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:49231 TIM-PC: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 ESTABLISHED
TCP [::1]:49226 VM-Windows-7:icslap УСТАНОВЕН
Както можете да видите, имаше 11 активни TCP връзки по времето, когато netstat беше изпълнен в този пример. Единственият изброен протокол (в колоната Proto) е TCP, което се очакваше, защото не използвахме - a.
Можете също така да видите три комплекта IP адреси в колоната Локален адрес – действителният IP адрес 192.168.1.14 и двете версии на IPv4 и IPv6 на обратните адреси, заедно с порта, който всяка връзка използва. Колоната Чуждестранен адрес изброява FQDN (75.125.212.75 не е разрешен по някаква причина) заедно с този порт.
Накрая колоната State изброява 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 статистики [- ptcp]. Също така искаме чуждестранните адреси да се показват във формат FQDN [-f ].
Ето какво командата netstat, както е показано по-горе, създаде на примерния компютър:
TCP статистика за IPv4
Активни отваряния=77
Пасивни отваряния=21
Неуспешни опити за свързване=2 Нулиране на връзки=25 Текущи връзки=5 Получени сегменти=7313 Изпратени сегменти=4824 Повторно предадени сегменти=5Активни връзки Proto Локален адрес Чуждестранен адрес Държава 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 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
Не-unicast пакети 0 0
Отхвърляния 0 0
Грешки 0 0
Неизвестни протоколи 0Статистика на интерфейса Получено Изпратено Байтове 22134630 1846834
Unicast пакети 19128 9869
Не-unicast пакети 0 0
Отхвърляния 0 0
Грешки 0 0
Неизвестни протоколи 0
^C
Показва се различна информация, която можете да видите тук и която сме изброили в - e синтаксис по-горе.
Командата netstat се изпълни автоматично само един допълнителен път, както можете да видите от двете таблици в резултата. Обърнете внимание на ^C в долната част, което показва, че командата за прекъсване Ctrl+C е използвана за спиране на повторното изпълнение на командата.
Команди, свързани с Netstat
Командата netstat често се използва с други свързани с мрежата команди на командния ред като nslookup, ping, tracert, ipconfig и други.
[1] Може да се наложи ръчно да добавите PID колоната към диспечера на задачите. Можете да направите това, като изберете PID, след като щракнете с десния бутон върху заглавията на колоните в раздела Process. Ако използвате Windows 7 или по-стара операционна система Windows, поставете отметка в квадратчето PID (Идентификатор на процеса) от View > Select Колони в диспечера на задачите. Може също да се наложи да изберете Покажи процесите от всички потребители от долната част на раздела Процеси, ако PID, който търсите, не е в списъка.