Kaip naudotis Netstat komanda

Pavyzdžiai, jungikliai ir dar daugiau

"Netstat" komanda yra komandinės eilutės komanda, naudojama rodyti labai išsamią informaciją apie tai, kaip kompiuteris bendrauja su kitais kompiuteriais ar tinklo įrenginiais.

Konkrečiai, "netstat" komanda gali rodyti išsamią informaciją apie atskirus tinklo jungtys, bendrą ir konkrečiam protokolui skirtą tinklų statistiką ir daug daugiau, o tai gali padėti išspręsti tam tikrų rūšių tinklų problemas.

"Netstat" komandos prieinamumas

"Netstat" komandą galima rasti komandų eilutėje daugumoje "Windows" versijų, įskaitant " Windows 10" , " Windows 8" , " Windows 7" , " Windows Vista" , " Windows XP" , "Windows Server" operacines sistemas ir kai kurias senesnes "Windows" versijas.

Pastaba: tam tikrų netstat komandų jungiklių ir kitos netstat komandos sintaksės gali skirtis nuo operacinės sistemos iki operacinės sistemos.

"Netstat" komandų sintaksė

Netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -o ] [ -p protokolas ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ time_interval ] [ /? ]

Patarimas: žr. Kaip skaityti komandinę sintaksę, jei nežinote, kaip skaityti "netstat" komandų sintaksę, kaip parodyta aukščiau.

Vykdykite "netstat" komandą atskirai, kad būtų rodomas santykinai paprastas visų aktyvių TCP jungčių sąrašas, kuriame kiekvienam iš jų bus rodomas vietinis IP adresas (jūsų kompiuteris), užsienio IP adresas (kitas kompiuteris arba tinklo įrenginys) kartu su jų atitinkama uosto numerius, taip pat TCP būseną.

-a = Šis jungiklis rodo aktyvius TCP jungtys, TCP jungtys su klausymo būsena, taip pat UDP prievadai, kuriuos klausoma.

-b = Šis "netstat" jungiklis yra labai panašus į toliau pateiktą " -o" jungiklį, bet vietoj to, kad būtų rodomas PID, bus rodomas proceso faktinis failo vardas. Naudojant -b per -o gali atrodyti, kad ta taupymo jums žingsnis ar dvi, bet naudojant jį kartais gali labai išplėsti laiką, kurio reikia, kad netstat visiškai atliktų.

-e = Naudokite šį jungiklį su netstat komandą, kad pateiktumėte statistiką apie jūsų tinklo ryšį. Šie duomenys apima baitus, vienkartinius paketus, ne vienkartinius paketus, išmesti duomenis, klaidas ir nežinomus protokolus, kurie buvo gauti ir išsiųsti nuo ryšio sukūrimo.

-f = -f jungiklis įpareigoja netstat komandą rodyti visiško domeno vardo (FQDN) kiekvienam užsienio IP adresui, kai tai įmanoma.

-n = Naudokite -n jungiklį, kad netstat nebūtų bandęs nustatyti užsienio IP adresų vardų . Priklausomai nuo jūsų esamų tinklo jungčių, naudojant šį jungiklį, galima žymiai sutrumpinti "netstat" visą veikimo laiką.

-o = daugelio trikčių šalinimo užduočių patogus pasirinkimas, -o jungiklis rodo proceso identifikatorių (PID), susietus su kiekvienu rodomu ryšiu. Daugiau informacijos apie netstat -o naudojimą rasite žemiau pateiktame pavyzdyje.

-p = Naudokite -p jungiklį, norėdami parodyti ryšius ar statistiką tik tam tikram protokolui . Negalite vienu metu nustatyti daugiau nei vieno protokolo , taip pat negalite paleisti netstat su -p nenustatydami protokolo .

protocol = Nurodant protokolą su -p parinktimi, galite naudoti tcp , udp , tcpv6 arba udpv6 . Jei naudojate -s su -p, kad peržiūrėtumėte statistiką pagal protokolą, galite naudoti icmp , ip , icmpv6 ar ipv6 be pirmųjų keturių paminėtų.

-r = Ištaisykite netstat su -r, kad būtų rodoma IP maršruto lentelė. Tai yra ta pati kaip ir maršruto komandos naudojimas maršruto spausdinimui atlikti.

-s = -s parinktis gali būti naudojama su netstat komanda parodyti išsamią statistiką pagal protokolą. Jūs galite apriboti statistiką, rodomą konkrečiam protokolui, naudodami -s parinktį ir nurodydami tą protokolą , tačiau naudodamiesi junginiais kartu būtinai naudokite -s prieš -p protokolą .

-t = Naudokite -t jungiklį, kad būtų rodoma dabartinė TCP kamino iškraunymo būklė vietoj paprastai pateikiamos TCP būsenos.

-x = Naudokite -x parinktį, kad būtų rodomi visi "NetworkDirect" klausytojai, jungtys ir bendri galutiniai taškai.

-y = -y jungiklis gali būti naudojamas rodyti TCP jungties šabloną visam ryšiui. Jūs negalite naudoti -y su bet kuria kita netstat parinktimi.

time_interval = Tai laikas sekundėmis, kad norėtumėte, kad netstat komanda automatiškai iš naujo paleidžiama, sustabdoma tik tada, kai naudojate Ctrl-C, kad užbaigtumėte kilpą.

/? = Naudokitės pagalbos perjungikliu, kad pateiktumėte išsamią informaciją apie kelias parinktis netstat komandai.

Patarimas: lengviau dirbti su visa netstat informacija komandinėje eilutėje, rodydami ekrane matomą tekstą, naudodami peradresavimo operatorių . Norėdami gauti išsamias instrukcijas, žr. Kaip peradresuoti komandų išvestį į failą .

Netstat komandos pavyzdžiai

netstat -f

Šiame pirmame pavyzdyje paleisiu netstat, kad būtų rodomi visi aktyvūs TCP jungtys. Tačiau aš noriu matyti kompiuterius, prie kurių esate prisijungę prie FQDN formato [ -f ], o ne paprasto IP adreso.

Štai pavyzdys, ką galite pamatyti:

Active Connections Proto Vietinis adresas Užsienio adresas Valstybė 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.1http 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: nustatytas ICSlapas 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 ĮSTEIGTA TCP [:: 1] : 49226 VM-Windows-7: įdiegta "Windows" versija

Kaip matote, tuo metu, kai vykdau netstat, turėjau 11 aktyvių TCP jungčių. Vienintelis protokolas ( Proto stulpelyje) yra TCP, kurio tikimasi, nes aš nenaudoju -a .

Taip pat galite matyti tris IP adresų rinkinius stulpelyje Vietinis adresas - mano tikrasis 192.168.1.14 IP adresas ir mano " loopback" adresų IPv4 ir IPv6 versijos bei uostas, kuriame naudojamas kiekvienas ryšys. Stulpelis " Užsienio adresas" nurodo FQDN ( 75.125.212.75 dėl kokios nors priežasties nebuvo išspręsta) kartu su tuo uostu.

Galiausiai stulpelyje " Valstybės" nurodoma konkretaus ryšio TCP būklė.

netstat-o

Šiame pavyzdyje noriu paleisti "netstat" paprastai, kad būtų rodomos tik aktyvios TCP jungtys, bet aš taip pat norėčiau pamatyti kiekvieno ryšio atitinkamą proceso identifikatorių [ -o ], kad galėčiau nustatyti, kuri programa mano kompiuteryje inicijavo kiekvieną.

Štai ką parodė mano kompiuteris:

Aktyvus ryšys Proto Vietinis adresas Užsienio adresų būklė 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

Jūs tikriausiai pastebėjote naują PID stulpelį. Tokiu atveju PID yra vienodi, tai reiškia, kad ta pati programa mano kompiuteryje atidarė šias jungtis.

Norėdamas nustatyti, kokia programa yra mano PAP 2948 kompiuteryje, viskas, ką turiu padaryti, yra atidaryti užduočių tvarkytuvę , spustelėkite skirtuką Procesai ir pažymėkite Paveikslėlio pavadinimą, esantį šalia PID, kurio ieškote PID stulpelyje. . 1

Naudojant "netstat" komandą su -o parinktimi gali būti labai naudinga, kai nustatoma, kuri programa naudoja per didelę jūsų pralaidumo dalį . Tai taip pat gali padėti rasti paskirties vietą, kai tam tikros rūšies kenkėjiškos programinės įrangos ar net kitaip teisėtos programinės įrangos dalis gali siųsti informaciją be jūsų leidimo.

Pastaba: nors šis ir ankstesnis pavyzdys buvo paleisti tame pačiame kompiuteryje, o vos per minutę vienas nuo kito, galite matyti, kad aktyvių TCP jungčių sąrašas yra gerokai kitoks. Taip yra todėl, kad jūsų kompiuteris nuolat jungia ir atjungia įvairius kitus įrenginius savo tinkle ir internetu.

netstat -s-p tcp -f

Šiame trečiajame pavyzdyje norėčiau pamatyti konkrečių protokolų statistiką [ -s ], bet ne visus, tiesiog TCP statistiką [ -p tcp ]. Aš taip pat noriu, kad užsienio adresai būtų rodomi FQDN formate [ -f ].

Štai kodėl netstat komanda, kaip parodyta aukščiau, buvo sukurta mano kompiuteryje:

TCP statistika už IPv4 aktyvų atveria = 77 pasyvus atveria = 21 nepavyko prisijungimo bandymai = 2 atšaukti jungtis = 25 dabartinės jungtys = 5 segmentai gauti = 7313 segmentai išsiųsti = 4824 segmentai retransliuoti = 5 aktyvios jungtys proto vietos adresas užsienio adresų valstybė TCP 127.0.0.1: 2869 VM-Windows-7: 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 ĮSTEIGTA TCP 127.0.0.1:49238 VM-Windows-7: icslap ĮSTEIGTA 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

Kaip matote, rodomos įvairios TCP protokolo statistikos, kaip tuo metu visi aktyvūs TCP jungtys.

netstat-e-t 5

Šiame galutiniame pavyzdyje aš paleisdavau netstat komandą, norėdama parodyti keletą pagrindinių tinklo sąsajos statistikos [ -e ], ir norėjau, kad šie statistiniai duomenys būtų nuolat atnaujinami kiekvieną penkių sekundžių [ -t 5 ] komandų lange.

Štai kas pateikiama ekrane:

Gauta Sent Baitų 22132338 1846834 Unicast paketai 19113 9869 Nevienalyniški paketai 0 0 Išmetimai 0 0 Klaidos 0 0 Nežinomi protokolai 0 Gauta išsiųsta siųstų baitų 22134630 1846834 Unicast paketai 19128 9869 Nevienalyniški paketai 0 0 Išmetimai 0 0 Klaidos 0 0 Nežinomi protokolai 0 ^ C

Rodomi įvairūs informacijos elementai, kuriuos galite pamatyti čia ir kuriuos aš nurodžiau -e sintaksėje aukščiau.

Gavau, kad netstat komanda automatiškai atliktų vieną papildomą laiką, kaip matote iš dviejų rezultatų lentelių. Paspauskite "C " apačioje, nurodydami, kad aš naudoju "Ctrl-C" abort komandą, kad sustabdytų komandą.

Netstat susijusių komandų

"Netstat" komanda dažnai naudojama su kitomis su tinklu susijusiomis komandinės eilutės komandomis, tokiomis kaip nslookup, ping , tracert , ipconfig ir kt.

[1] Jums gali tekti rankiniu būdu įtraukti PID stulpelį į užduočių tvarkytuvę. Tai galite padaryti, pasirinkdami "PID (proceso identifikatorius)" žymėjimą iš "View -> Select Columns" užduočių tvarkytuve. Jei norimo PID nėra sąraše, gali tekti spustelėti mygtuką "Rodyti visus naudotojus", esantį skirtuke Procesai.