Използвайте Netstat, за да видите портове за слушане и PID в Windows

В друга статия обяснихме компютърните портове и за какво се използват(explained computer ports and what they’re used for) . Освен това, какво можем да направим с информацията за порта? Тъй като целият трафик към и извън компютъра минава през портове, можем да ги проверим, за да видим какво правят. Може би портът не слуша трафик? Може би нещо използва порт, който не трябва да бъде? 

Ще използваме командата netstat на (netstat)Windows , за да видим нашите портове за слушане и PID ( ID на процес(Process ID) ). Също така ще видим какво можем да направим с тази информация.

Какво е Netstat?(What Is Netstat?)

Командата netstat е комбинация от думите "мрежа" и "статистика". Командата netstat работи във всички версии на Windows от Windows XP до Windows 10 . Използва се и в други операционни системи (ОС) като Unix и Linux , но тук ще се придържаме към Windows .

Netstat може да ни предостави:

  • Името на протокола, който портът използва ( TCP или UDP ).
  • Локалният IP адрес и името на компютъра и номера на порта, който се използва.
  • IP адресът и номерът на порта, към който се свързваме.
  • Състоянието на TCP връзка. За подробности относно това какви са тези състояния, прочетете раздела за обработка на събития на RFC 793(Event Processing section of RFC 793) .

Използване на Netstat, за да видите портове за слушане и PID(Using Netstat To See Listening Ports & PID)

  • Използвайте клавишната комбинация Win Key + X X. В менюто, което се отваря, изберете Команден ред(Command Prompt) .

  • Въведете(Enter) командата
    netstat -a -n -o
    . Параметрите за netstat се предхождат с тире, а не с наклонена черта, както много други команди. -a му казва да ни покаже всички активни връзки и портовете, на които компютърът слуша.

    -n казва на netstat да показва IP адресите и портовете само като числа. Казваме му да не се опитва да разрешава имената. Това осигурява по-бърз и изчистен дисплей. -o казва на netstat да включи PID . Ще използваме PID по-късно, за да разберем кой процес използва конкретен порт.

  • Вижте(View) резултатите и си отбележете адресите, номерата на портовете, състоянието и PID . Да приемем, че искаме да знаем какво използва порт 63240. Имайте предвид, че неговият PID е 8552 и се свързва с IP адрес 172.217.12.138 на порт 443.

Какво използва този порт?(What’s Using That Port?)

  • Отворете диспечера на задачите(Task Manager) . Това се прави най-лесно с помощта на клавишната комбинация Ctrl + Shift + Esc .

  • Щракнете върху раздела Подробности(Details ) . За да направите това по-лесно за намиране, щракнете върху заглавката на колоната PID , за да сортирате (PID )PID(PIDs) числата.

  • Превъртете надолу до PID 8552 и вижте какъв процес е. В този случай това е googledrivesync.exe . Но наистина ли е така? Понякога вирусите могат да изглеждат като легитимни процеси.

  • В уеб браузър отидете на ipinfo.io . Въведете IP адреса 172.217.12.138 . Както виждаме, IP адресът е регистриран в Google . Така че този googledrivesync.exe е легитимен.

Как да получите порт, PID и име на процес в PowerShell(How To Get Port, PID, & Process Name In PowerShell)

PowerShell е по-новият начин на Microsoft за използване на интерфейс на командния ред с Windows . Ние казваме по-нова, но съществува от няколко версии. Трябва да научите PowerShell, дори ако сте домашен потребител(learn PowerShell even if you’re a home user) .

Повечето команди на Windows също работят в PowerShell , плюс можем да ги комбинираме с командлетите на PowerShell – произнасяни command-lets . Джо от Winteltools.com предоставя скрипта за този метод.

  • Отворете Notepad и въведете следния код:
$netstat = netstat -aon | Select-String -pattern "(TCP|UDP)"
$processList = Get-Process

foreach ($result in $netstat) {
   $splitArray = $result -split " "
   $procID = $splitArray[$splitArray.length – 1]
   $processName = $processList | Where-Object {$_.id -eq $procID} |    select processname
   $splitArray[$splitArray.length – 1] = $procID + " " +      $processName.processname
   $splitArray -join " "
}

  • Запазете файла като get-NetstatProcessName.ps1 . Не забравяйте да отбележите къде се запазва. Важно е да промените типа Запиши като:(Save as type: ) на All Files (*.*) или той ще бъде запазен като get-NetstatProcessName.ps1 .txt и няма да работи за нас.

  • Отворете PowerShell и отидете до мястото, където е записан скриптът. В този случай това е <pre>cd C:Scripts</pre>. Натиснете Enter , за да изпълните командата.

  • Стартирайте скрипта с помощта на източник на точки, за да го накарате да работи. Това означава да използвате ./ преди името на файла. Командата ще бъде
    ./get-NetstatProcessName.ps1< /pre

  • Сега можем да видим цялата традиционна информация за netstat плюс името на процеса. Вече няма нужда да отваряте диспечера на задачите(Task Manager) .

Вземете ги(Go Get Them)

Разгледахме два начина за използване на командата netstat, за да видите слушащите портове. Може да се използва или в стария команден ред(Command Prompt) , или в скрипт на PowerShell . С информацията, която може да ни даде, разгледахме как може да ни помогне да разберем какво прави нашият компютър. 

Ако смятате, че netstat е страхотна помощна програма, разгледайте някои други TCP/IP помощни програми на Windows като tracert, ipconfig и nslookup . Или използвайте Resource Monitor, за да разгледате по-добре скрития уебсайт и интернет връзките(use Resource Monitor to get a better look into hidden website and Internet connections) . Можете да направите много, за да видите какво точно прави вашият компютър.

Използвали ли сте netstat за решаване на проблем? Моля(Please) , кажете ни какво сте направили. Имате ли въпроси за това как да използвате netstat? Моля(Please) , попитайте ни в коментарите по-долу.



About the author

аудиофил инженер и специалист по аудио продукти с повече от 10 години опит. Специализирам се в създаването на качествени музикални високоговорители и слушалки от началото до края. Аз съм експерт в отстраняването на аудио проблеми, както и в проектирането на нови високоговорители и системи за слушалки. Моят опит надхвърля просто правенето на добри продукти; Също така имам страст да помагам на другите да бъдат възможно най-добрите, независимо дали това е чрез образование или общественополезен труд.



Related posts