Kaip žinoti, kuris procesas klausosi „Windows“ prievado?

Kaip žinoti, kuris procesas klausosi „Windows“ prievado?

1678
07 сент. Skaitykite tik 07 sept. 2008-09-07 09:26 '08 9:26 am. 2008-09-07 09:26
@ 28 atsakymai

Powershell

 Get-Process -Id (Get-NetTCPConnection -LocalPort portNumber).OwningProcess 

Cmd

  C:\> netstat -a -b 

(pridėkite -n taip, kad jis nesistengtų išspręsti hostnames, todėl jis taps daug greitesnis)

Atkreipkite dėmesį į Danijos rekomendaciją dėl TCPView . Atrodo labai naudinga!

-a Rodo visus ryšius ir klausymosi prievadus.

-b Rodo vykdomąjį failą, kuris yra susijęs su kiekvieno ryšio ar klausymosi prievado kūrimu. Kai kuriais atvejais žinomose vykdomose rinkmenose yra keli nepriklausomi komponentai, ir tokiais atvejais rodoma komponentų seka, kuri yra susijusi su ryšio ar klausymo prievado kūrimu. Tokiu atveju vykdomojo failo pavadinimas yra [] apačioje, viršuje - komponentas, kurį jis pavadino, ir pan., Kol pasiekiamas TCP / IP. Atminkite, kad šis parametras gali užtrukti ilgai ir nepavyks, jei neturėsite pakankamai leidimų.

-n Rodo adresus ir prievadų numerius.

-o Rodomas su kiekvienu ryšiu susijęs proceso nuosavybės ID.

1877 m
07 сент. Atsakymas pateikiamas Brad Wilson, rugsėjo 7 d. 2008-09-07 09:28 '08 at 9:28 2008-09-07 09:28

Yra pasirinktinė „Windows“ GUI:

  • Pradžia → Visos programos → Priedai → Sistemos įrankiai → Išteklių monitorius

arba „ Run resmon.exe arba „ TaskManager“ našumo skirtuką

2019

1772 m
18 мая '14 в 8:02 2014-05-18 08:02 bcorso atsakymas gegužės 18 d., 14 d., 8:02 2014-05-18 08:02

Jei reikia grafinės sąsajos, naudokite TCPView . Tai senoji „Sysinternals“ programa, kurią įsigijo „Microsoft“.

194
07 сент. Atsakymas duotas Dane 07 Sep. 2008-09-07 09:38 '08 at 9:38 2008-09-07 09:38
 netstat -aon | find /i "listening" 
145
07 сент. atsakymą pateikė aku 07 sep. 2008-09-07 09:32 '08 at 9:32 2008-09-07 09:32

Daugelyje atsakymų minėtas -b jungiklis reikalauja, kad turite įrenginio administratoriaus teises. Jums nereikia aukštesnių privilegijų norint gauti proceso pavadinimą!

Raskite proceso eigą pagal prievado numerį (pvz., 8080)

 netstat -ano | findStr "8080" 

Rasti proceso pavadinimą pid

 tasklist /fi "pid eq 2216" 

2019

24 янв. Atsakymą pateikė Ram Sharma, sausio 24 d. 2018-01-24 06:50 '18 - 6:50 2018-01-24 06:50

Jei norite paleisti šią komandą, galite gauti papildomos informacijos:

 netstat -aon |find /i "listening" |find "port" 

Jei norite filtruoti rezultatus, naudokite komandą Rasti. find / i "klausytis" rodys tik tuos uostus, kurie yra „Klausymas“. Atkreipkite dėmesį, kad jums reikia / i ignoruoti atvejį, kitaip įvesite „LISTENING“. | rasti „prievadas“ apriboja rezultatus tik tiems, kurie turi konkretų prievado numerį. Atkreipkite dėmesį, kad jis taip pat filtruos rezultatus, kurių kiekvienos atsakymo eilutės numeris yra.

67
08 окт. atsakymas pateikiamas Nathan24 08 okt. 2013-10-08 21:56 '13, 21:56, 2013-10-08 21:56
  • Atidarykite komandų eilutę (kaip administratorių). Lauke „Pradėti“ įveskite „cmd“, tada dešiniuoju pelės mygtuku spustelėkite „cmd.exe“ ir pasirinkite „Vykdyti kaip administratorius“

  • Įveskite šį tekstą ir paspauskite „Enter“.

    netstat -abno

    -a Rodo visus ryšius ir klausymosi prievadus.

    -b Rodo vykdomąjį failą, susijusį su kiekvienos jungties ar klausymo uosto kūrimu. Kai kuriais atvejais žinomas vykdomųjų failų kompiuteris yra keletas nepriklausomų komponentų, o tokiais atvejais - komponentų seka, susijusi su ryšio ar klausymosi uosto kūrimu. Tokiu atveju vykdomojo failo pavadinimas yra [] žemiau, viršuje - komponentas, kurį jis pavadino ir tt kol pasiekiamas TCP / IP. Atminkite, kad šis parametras gali užtrukti ilgai ir nebus sėkmingas, jei neturite pakankamai leidimo.

    -n Rodo adresus ir prievadų numerius.

    -o Rodomas su kiekvienu ryšiu susijęs proceso nuosavybės ID.

  • „Vietinio adreso“ skiltyje suraskite klausomąjį prievadą.

  • Pažvelkite į proceso pavadinimą tiesiai po juo.

PASTABA. Norėdami rasti procesą Task Manager

  • Atkreipkite dėmesį į proceso ID (proceso ID) šalia ieškomo uosto.

  • Atidarykite „Windows Task Manager“.

  • Spustelėkite skirtuką Procesai.

  • Pažvelkite į PID, kurį pažymėjote, kai 1 žingsnyje atlikote netstat.

    • Jei nematote PID stulpelio, spustelėkite „Peržiūrėti / pasirinkti stulpelius“. Pasirinkite PID.

    • Įsitikinkite, kad pasirinkta „Rodyti procesus iš visų vartotojų“.

60
08 нояб. Atsakymas į Cyborg 08 lapkritis 2012-11-08 04:49 '12 at 4:49 2012-11-08 04:49

Gaukite PID ir vaizdo pavadinimą

Naudokite tik vieną komandą:

 for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a" 

kur 9000 turėtų būti pakeistas jūsų uosto numeriu.

išvestyje bus kažkas panašaus į:

 Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ java.exe 5312 Services 0 130,768 K 

Paaiškinimas:

  • ji kartojasi per kiekvieną eilutę iš šios komandos išvesties:

     netstat -aon | findstr 9000 
  • iš kiekvienos eilutės, %a PID ( %a - vardas nėra svarbus čia) (PID yra 5 elementas šioje eilutėje) ir perduodamas kitai komandai

     tasklist /FI "PID eq 5312" 

Jei norite praleisti pavadinimą ir grąžinkite komandinę eilutę Galite naudoti:

 echo off  (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a")  echo on 

Išvada:

 java.exe 5312 Services 0 130,768 K 
43
10 февр. Atsakymas pateikiamas ROMANIA_engineer 10 vasario mėn. 2016-02-10 13:17 '16 at 13:17 2016-02-10 13:17

Pirmiausia surandame šio konkretaus užduoties proceso ID, kurį turime nustatyti norėdami gauti nemokamą uostą.

tipo
netstat -n -a -o

Atlikus šią komandą, Windows komandų eilutėje (cmd) pasirinkite pid, kuri, manau, paskutinis stulpelis bus 3312

Dabar įveskite

užduočių rinkinys / F / PID 3312

Dabar galite atlikti kryžminį patikrinimą, įvesdami netstat.

PASTABA. Kartais >

37
23 авг. Atsakymą pateikė Pankaj Pateriya 23 rug . 2014-08-23 18:25 '14 at 18:25 2014-08-23 18:25

Labai paprasta gauti prievado numerį iš „pid“ į >

Toliau pateikiami veiksmai:

1) Eikite į paleisti → įveskite cmd → paspauskite enter.

2) parašykite šią komandą ...

 netstat -aon | findstr [port number] 

(Pastaba: neįtraukite kvadratinių skliaustų.)

3) paspauskite Enter ...

4) Tada cmd suteiks jums išsamią informaciją apie šią uostą veikiančią paslaugą kartu su pid.

5) Atidarykite užduočių tvarkyklę ir eikite į paslaugų skirtuką ir suderinkite pid su cmd identifikatoriumi ir jį.

21
30 мая '16 в 9:36 2016-05-30 09:36 atsakymą pateikė Nishat Lakhani gegužės 30, 16 d. 9:36 2016-05-30 09:36

Jei norite gauti visų su kiekvienu ryšiu susijusių nuosavybės procesų ID sąrašą:

 netstat -ao |find /i "listening" 

Jei norite nužudyti bet kurį procesą, įveskite id ir naudokite šią komandą, kad uostas būtų laisvas

 Taskkill /F /IM pidof a process 
20
17 апр. atsakė Monis Majeed balandžio 17 d 2014-04-17 17:38 '14 at 17:38 PM 2014-04-17 17:38

Tiesiog atidarykite komandą ir įveskite: (jei jūsų prievadas yra 123456)

 netstat -a -n -o | find "123456" 

Pamatysite viską, ko jums reikia.

Antraštės:

  Proto Local Address Foreign Address State PID TCP 0.0.0.0:37 0.0.0.0:0 LISTENING 1111 

tai yra kaip nurodyta čia

16
25 янв. Tajveer Singh Nijjar atsakymas, sausio 25 d 2017-01-25 03:13 '17 at 3:13 2017-01-25 03:13

Jei norite naudoti GUI įrankį, SysInternals TCPView .

12
07 сент. Atsakymą pateikė Dave Webb 07 Sep. 2008-09-07 09:40 '08 at 9:40 2008-09-07 09:40

Naudodami „PowerShell 5“ „Windows 10“ arba „Windows Server 2016“ paleiskite „ Get-NetTCPConnection . Manau, kad ji taip pat turėtų veikti senesnėse „Windows“ versijose.

Pagal numatytuosius nustatymus „ Get-NetTCPConnection nepateikia proceso ID tam tikros priežasties, ir ji yra šiek tiek paini. Tačiau visada galite jį gauti formatavę išvestį. Nuosavybė, kurią ieškote, priklauso „ OwningProcess .

  • Jei norite sužinoti proceso, kuris klausosi 443 prievado, ID, atlikite šią komandą:

     PS C:\> Get-NetTCPConnection -LocalPort 443 | Format-List LocalAddress : :: LocalPort : 443 RemoteAddress : :: RemotePort : 0 State : Listen AppliedSetting : OwningProcess : 4572 CreationTime : 02.11.2016 21:55:43 OffloadState : InHost 
  • Formatuokite išvestį į lentelę su ieškomomis savybėmis:

     PS C:\> Get-NetTCPConnection -LocalPort 443 | Format-Table -Property LocalAddress, LocalPort, State, OwningProcess LocalAddress LocalPort State OwningProcess ------------ --------- ----- ------------- :: 443 Listen 4572 0.0.0.0 443 Listen 4572 
  • Jei norite sužinoti proceso pavadinimą, vykdykite šią komandą:

     PS C:\> Get-Process -Id (Get-NetTCPConnection -LocalPort 443).OwningProcess Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 143 15 3448 11024 4572 0 VisualSVNServer 
10
02 нояб. atsakymas pateikiamas lapkričio 2 d. 2016-11-02 22:19 '16 at 10:19 pm 2016-11-02 22:19

Įveskite komandą: netstat -aon | findstr :DESIRED_PORT_NUMBER netstat -aon | findstr :DESIRED_PORT_NUMBER

Pavyzdžiui, jei noriu rasti 80 prievadą: netstat -aon | findstr :80 netstat -aon | findstr :80

Šis atsakymas iš pradžių buvo išsiųstas į šį srautą .

9
22 нояб. Atsakymą pateikė „ Technotronic “ lapkričio 22 d. 2016-11-22 18:36 '16 at 6:36 pm 2016-11-22 18:36

netstat -ao ir netstat -ab pasakys jums apie taikomąją programą, bet jei nesate administratorius, gausite „Prašoma operacija reikalauja reklamos“.

Tai nėra ideali, tačiau jei naudojate sysinternals Process Explorer, galite pereiti prie konkrečių procesų savybių ir pamatyti TCP skirtuką, kad sužinotumėte, ar jie naudoja jus dominančią uostą. Bitinė adata ir šienapjovės, bet galbūt tai padės kam nors ...

9
13 марта '14 в 22:57 2014-03-13 22:57 Atsakymą pateikė Tony Delroy kovo 13 d. 14, 22:57 2014-03-13 22:57

Aš rekomenduoju „ CurrPorts“ iš „NirSoft“.

CurrPorts gali filtruoti rodomus rezultatus. TCPView neturi šios funkcijos.

Pastaba Galite dešiniuoju pelės klavišu spustelėti procesų lizdo ryšį ir pasirinkti „Uždaryti pasirinktus TCP ryšius“ (tai taip pat galima padaryti TCPView). Tai dažnai išsprendžia su „Outlook“ ir „Lync“ susijusią ryšio problemą po VPN perjungimo. Su „CurrPorts“ taip pat galite uždaryti ryšius iš komandų eilutės su parametru „/ close“.

8
30 июня '15 в 1:07 2015-06-30 01:07 Atsakymą davė Josh birželio 30 d. 15: 07: 2015-06-30 01:07

Tiems, kurie naudoja „Powershell“, pabandykite Get-NetworkStatistics :

 > Get-NetworkStatistics | where Localport -eq 8000 ComputerName : DESKTOP-JL59SC6 Protocol : TCP LocalAddress : 0.0.0.0 LocalPort : 8000 RemoteAddress : 0.0.0.0 RemotePort : 0 State : LISTENING ProcessName : node PID : 11552 
5
25 авг. mikemaccana atsakymas 25 rug . 2016-08-25 16:36 '16 at 16:36 pm 2016-08-25 16:36

Norėdami sužinoti, kuris konkretus procesas (PID) naudoja kurį uostą:

 netstat -anon | findstr 1234 

Kur 1234 yra jūsų proceso PID. [Eikite į „Task Manager“ → „Services / Processes“ skirtuką, kad sužinotumėte savo taikomąją programą PID]

5
14 дек. Atsakymą pateikė Talha Imam gruodžio 14 d. 2018-12-14 09:55 '18 at 9:55 2018-12-14 09:55

netstat -a -o Tai rodo proceso, vykstančio konkrečiame uoste, PID.

Atminkite proceso ID ir eikite į skirtuką „Task Manager“ ir „Services“ arba „Details“ ir atlikite tą patį PID procesą.

Tokiu būdu galite nužudyti procesą, kuris vyksta tam tikruose „Windows“ prievaduose.

5
13 авг. atsakymas pateikiamas nisha 13 rug . 2013-08-13 05:32 '13, 5:32 2013-08-13 05:32

Atlikite šiuos įrankius: - iš cmd : - C:\> netstat -anob su administratoriaus privilegijomis.

http://technet.microsoft.com/en-us/sysinternals/bb896653 - „Process Explorer“

http://technet.microsoft.com/en-us/sysinternals/bb896645 - Process Dump

http://technet.microsoft.com/en-us/sysinternals/bb896644 - „Port Monitor“

Visi iš sysinternals.com

Jei tik norite sužinoti, kaip procesas ir temos veikia kiekviename procese, rekomenduoju mokytis apie wmic . Puikus cmd komandinės eilutės įrankis, kuris suteikia jums daug daugiau, nei galbūt žinote.

Egzaminas: -

 c:\> wmic process list brief /every:5 

Virš viršutinė komanda parodys visą procesų sąrašą kas 5 sekundes. Jei norite sužinoti daugiau, galite tiesiog eiti su komanda /? pvz., >

 c:\>wmic /? c:\>wmic process /? c:\>wmic prcess list /? 

ir pan ir tt :)

5
11 авг. atsakymą pateikė Perl Fanatic 11 rug. 2013-08-11 21:39 '13, 9:39 pm 2013-08-11 21:39

Netstat -a rodo visus klausymo ir klausymo uostus -b rodo vykdomuosius failus -n nustoti išspręsti pagrindinio kompiuterio vardus (skaitmeninę formą) -o nuosavybės procesą

 netstat -bano | findstr "7002" netstat -ano > ano.txt 

Kortelės padeda ieškoti ir filtruoti

5
23 сент. atsakymas pateikiamas „ Blue Clouds“, rugsėjo 23 d 2018-09-23 08:05 '18, 08:05 val. 2018-09-23 08:05

Programiškai jums reikia medžiagos iš iphlpapi.h , pavyzdžiui, „ GetTcpTable2“ (). Tokios struktūros kaip MIB_TCP6ROW2 turi savininko PID.

4
05 нояб. Atsakymą pateikė Michael 05 Nov. 2018-11-05 21:16 '18 at 9:16 pm 2018-11-05 21:16

Powershell naudojimas ...
... tai bus jūsų draugas (pakeiskite 8080 su savo uosto numeriu):

  netstat -abno | Select-String -Context 0,1 -Pattern 8080 

Mėginio išėjimas

 > TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 2920 [tnslsnr.exe] > TCP [::]:8080 [::]:0 LISTENING 2920 [tnslsnr.exe] 

Taigi šiame pavyzdyje tnslsnr.exe (OracleXE duomenų bazė) klausosi 8080 prievado.

Trumpas aprašymas
Select-String naudojama tam, kad filtruotų ilgą netstat išvestį atitinkamoms stygoms.
-Pattern tikrina kiekvieną eilutę, kad būtų galima reguliariai išreikšti.
-Context 0,1 išvestys 0 pirmaujančių linijų ir 1 -Context 0,1 linija kiekvienam modelio atitikimui.

2
28 дек. Atsakymą pateikė Jpsy, gruodžio 28 d. 2017-12-28 12:06 '17 at 12:06 2017-12-28 12:06

„Windows“, jei norite surasti turinį, kuris klausosi arba prijungtas prie 1234 prievado, komandinėje eilutėje paleiskite šią komandą:

 netstat -na | find "1234" 
1
25 янв. atsakymas pateikiamas Zoomzoom 25 saus 2017-01-25 00:10 '17 0:10 2017-01-25 00:10

Jei uosto keitimas neveikia:

1 veiksmas. Eikite į „Windows“ paslaugų paiešką.

2 veiksmas: užsisakyti visas paslaugas abėcėlės tvarka (neprivaloma)

3 žingsnis: sustabdykite visas su MYSQL susijusias paslaugas.

4 žingsnis: paleiskite „mysql“ iš „xampp“.

0
27 апр. atsakymas duotas Dave 27 balandžio. 2018-04-27 06:14 '18 at 6:14 2018-04-27 06:14

Tai vienintelis sprendimas, kuris padeda man, tiesiog pakeiskite 3000 savo uostu.

$P = Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess; kill $P.Id

0
03 февр. Angel Venchev atsakymas 03 vasario mėn 2019-02-03 17:46 '19, 17:46, 2019-02-03 17:46

Naudokite žemiau esantį partijos scenarijų, kuriame proceso pavadinimas įvardijamas kaip argumentas ir gaunamas proceso netstat išėjimas.

 @echo off set procName=%1 for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq %1" /fo csv') do call :Foo %%~F goto End :Foo set z=%1 echo netstat for : "%procName%" which had pid "%1" echo ---------------------------------------------------------------------- netstat -ano |findstr %z% goto :eof :End 
0
04 мая '18 в 21:15 2018-05-04 21:15 atsakymas duodamas deshapriya debesh 04 gegužės 18 d. 21:15 2018-05-04 21:15

Peržiūrėkite kitus klausimus apie „ žymes arba Užduokite klausimą