Komanda netstat, ty tinklo statistika, yra komandų eilutės komanda, naudojama norint parodyti labai išsamią informaciją apie tai, kaip jūsų kompiuteris bendrauja su kitais kompiuteriais ar tinklo įrenginiais.
Konkrečiai, jis gali rodyti išsamią informaciją apie atskirus tinklo ryšius, bendrą ir su protokolu susijusią tinklo statistiką ir daug daugiau – visa tai gali padėti pašalinti tam tikras tinklo problemas.
Netstat komandos prieinamumas
Ši komanda pasiekiama komandų eilutėje daugelyje „Windows“versijų, įskaitant „Windows 11“, „Windows 10“, „Windows 8“, „Windows 7“, „Windows Vista“, „Windows XP“, „Windows Server“operacines sistemas ir kai kurias senesnes „Windows“versijas., taip pat.
Netstat yra kelių platformų komanda, o tai reiškia, kad ji pasiekiama ir kitose operacinėse sistemose, pvz., „MacOS“ir „Linux“.
Tam tikrų netstat komandų jungiklių ir kitos netstat komandų sintaksės prieinamumas įvairiose operacinėse sistemose gali skirtis.
Netstat komandos sintaksė
netstat [- a] [- b] [- e] [- f] [- n] [- o] [-p protokolas] [-r ] [-s ] [-t] [- x] [- y] [time_interval] [ /?]
Netstat komandų sąrašas | |
---|---|
Option | Paaiškinimas |
netstat | Vykdykite tik komandą „netstat“, kad būtų rodomas gana paprastas visų aktyvių TCP jungčių sąrašas, kuriame kiekviename bus rodomas vietinis IP adresas (jūsų kompiuterio), svetimas IP adresas (kito kompiuterio ar tinklo įrenginio), kartu su atitinkamais prievadų numeriais ir TCP būsena. |
- a | Šis jungiklis rodo aktyvius TCP ryšius, TCP ryšius su klausymo būsena, taip pat UDP prievadus, kurių klausoma. |
- b | Šis „netstat“jungiklis yra labai panašus į toliau pateiktą jungiklį - o, tačiau vietoj PID bus rodomas tikrasis proceso failo pavadinimas. Naudodami - b ilgiau nei - o, gali atrodyti, kad sutaupote žingsnį ar du, tačiau naudojant jį kartais labai pailgėja laikas, per kurį netstat visiškai paleidžiamas.. |
- e | Naudokite šį jungiklį su komanda netstat, kad būtų rodoma tinklo ryšio statistika. Šie duomenys apima baitus, unicast paketus, ne unicast paketus, išmetimus, klaidas ir nežinomus protokolus, gautus ir išsiųstus nuo tada, kai buvo užmegztas ryšys. |
- f | Jeigu įmanoma, jungiklis - f privers netstat komandą rodyti visiškai kvalifikuotą domeno pavadinimą (FQDN) kiekvienam užsienio IP adresui. |
- n | Naudokite jungiklį - n, kad „netstat“nebandytų nustatyti pagrindinio kompiuterio pavadinimų svetimiems IP adresams. Atsižvelgiant į esamus tinklo ryšius, naudojant šį jungiklį galima žymiai sutrumpinti laiką, per kurį netstat visiškai paleidžiamas. |
- o | Patogi parinktis daugeliui trikčių šalinimo užduočių, jungiklis - o rodo proceso identifikatorių (PID), susietą su kiekvienu rodomu ryšiu. Daugiau informacijos apie netstat -o. naudojimą rasite toliau pateiktame pavyzdyje |
- p | Naudokite jungiklį - p, kad būtų rodomi tik konkretaus protokolo ryšiai arba statistika. Negalite apibrėžti daugiau nei vieno protokolo vienu metu, taip pat negalite vykdyti netstat su - p neapibrėžę protokolo. |
protokolas | Nurodydami protokolą su - p, galite naudoti tcp, udp, tcpv6 arba udpv6 Jei naudojate - s su - p norėdami peržiūrėti statistiką pagal protokolą, galite naudoti icmp, ip, icmpv6 arba ipv6 be pirmųjų keturių, kuriuos paminėjau. |
- r | Paleiskite netstat su - r, kad būtų parodyta IP maršruto parinkimo lentelė. Tai tas pats, kas naudojant maršruto komandą vykdyti route print. |
- s | Parinktį - s galima naudoti su komanda netstat, kad būtų rodoma išsami statistika pagal protokolą. Galite apriboti rodomą statistiką iki konkretaus protokolo naudodami - s parinktį ir nurodydami tą protokolą, tačiau priešbūtinai naudokite - s - p protokolą, kai jungikliai naudojami kartu. |
- t | Naudokite jungiklį - t, kad parodytumėte esamą TCP kamino iškrovimo būseną vietoje įprastos rodomos TCP būsenos. |
- x | Naudokite parinktį - x, kad būtų rodomi visi NetworkDirect klausytojai, ryšiai ir bendrinami galiniai taškai. |
- y | Perjungiklį - y galima naudoti norint parodyti visų jungčių TCP ryšio šabloną. Negalite naudoti - y su jokia kita netstat parinktimi. |
time_in intervalal | Tai laikas sekundėmis, per kurį norite, kad komanda netstat būtų vykdoma automatiškai ir sustotų tik tada, kai ciklui užbaigti naudojate Ctrl-C. |
/? | Naudokite pagalbos jungiklį, kad parodytumėte išsamią informaciją apie kelias netstat komandos parinktis. |
Palengvinkite visą komandų eilutėje pateiktą „netstat“informaciją išvesdami tai, ką matote ekrane, į tekstinį failą naudodami peradresavimo operatorių. Norėdami gauti visas instrukcijas, žr. Kaip peradresuoti komandos išvestį į failą.
Netstat komandų pavyzdžiai
Štai keli pavyzdžiai, rodantys, kaip gali būti naudojama netstat komanda:
Rodyti aktyvius TCP ryšius
netstat -f
Šiame pirmame pavyzdyje vykdome netstat, kad būtų rodomi visi aktyvūs TCP ryšiai. Tačiau norime matyti kompiuterius, prie kurių esame prisijungę, FQDN formatu [- f], o ne paprastu IP adresu.
Štai pavyzdys, ką galite pamatyti:
Aktyvūs ryšiai
Proto vietinis adresas Užsienio adreso būsena
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 49197 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49230 TIM-PC:wsd TIME_WAIT
TCP 8.412.34:16PC 8.412.3.:icslap ESTABLISHED
TCP 192.168.1.14:49232 TIM-PC:netbios-ssn TIME_WAIT
TCP 192.168.1.33IM-4-PCns:2 TIME_WAIT
TCP [::1]:2869 VM-Windows-7:49226 NUSTATYTA
TCP [::1]:49226 VM-Windows-7:icslap NUSTATYTA
Kaip matote, šiame pavyzdyje netstat vykdymo metu buvo 11 aktyvių TCP jungčių. Vienintelis nurodytas protokolas (stulpelyje Proto) yra TCP, kurio tikėjomės, nes nenaudojome - a.
Stulpelyje Vietinis adresas taip pat galite matyti tris IP adresų rinkinius – tikrąjį IP adresą 192.168.1.14 ir IPv4 bei IPv6 grįžtamojo ryšio adresų versijas, taip pat kiekvieno ryšio naudojamą prievadą. Stulpelyje „Užsienio adresas“taip pat pateikiamas FQDN (75.125.212.75 dėl kokių nors priežasčių nepavyko išspręsti) kartu su tuo prievadu.
Galiausiai stulpelyje Būsena pateikiama to konkretaus ryšio TCP būsena.
Rodyti ryšius ir proceso identifikatorius
netstat -o
Šiame pavyzdyje „netstat“bus paleista įprastai, todėl rodo tik aktyvius TCP ryšius, tačiau taip pat norime matyti atitinkamą kiekvieno ryšio proceso identifikatorių [- o], todėl kad galėtume nustatyti, kuri programa kompiuteryje inicijavo kiekvieną.
Štai ką rodo kompiuteris:
Aktyvūs ryšiai
Proto vietinis adresas Užsienio adreso būsena PID
TCP 192.168.1.14:49194 75.125.212. CLOSE_WAIT 2948
TCP 192.168.1.14:49196 a795sm:http CLOSE_WAIT 2948
192.168.1.9
Tikriausiai pastebėjote naują PID stulpelį. Šiuo atveju visi PID yra vienodi, o tai reiškia, kad ta pati programa kompiuteryje atidarė šiuos ryšius.
Norėdami nustatyti, kurią programą kompiuteryje vaizduoja PID 2948, tereikia atidaryti užduočių tvarkytuvę, pasirinkti skirtuką Processes ir atkreipti dėmesį į vaizdo pavadinimą. nurodytas šalia mūsų ieškomo PID stulpelyje PID.1
Komandos netstat naudojimas su parinktimi - o gali būti labai naudingas nustatant, kuri programa naudoja per didelę pralaidumo dalį. Tai taip pat gali padėti nustatyti paskirties vietą, kur tam tikra kenkėjiška programa ar net kitaip teisėta programinės įrangos dalis gali siųsti informaciją be jūsų leidimo.
Nors šis ir ankstesnis pavyzdys buvo vykdomi tame pačiame kompiuteryje ir vos per minutę vienas nuo kito, matote, kad aktyvių TCP jungčių sąrašas labai skiriasi. Taip yra todėl, kad jūsų kompiuteris nuolat jungiasi ir atsijungia nuo įvairių kitų įrenginių tinkle ir internetu.
Rodyti tik konkrečius ryšius
netstat -0 | findstr 28604
Aukščiau pateiktas pavyzdys yra panašus į tai, ką jau apžvelgėme, tačiau užuot rodę visus ryšius, nurodome komandai netstat rodyti tik tas jungtis, kurios šiame pavyzdyje naudoja konkretų PID, 28604.
Panašią komandą galima naudoti norint filtruoti ryšius, kurių būsena CLOSE_WAIT, pakeičiant PID į ESTABLISHED.
Rodyti su protokolu susijusią statistiką
netstat -s -p tcp -f
Šiame pavyzdyje norime matyti specifinę protokolo statistiką [- s], bet ne visą, tik TCP statistiką [- ptcp]. Taip pat norime, kad užsienio adresai būtų rodomi FQDN formatu [-f ].
Štai tokia komanda netstat, kaip parodyta aukščiau, buvo sukurta pavyzdiniame kompiuteryje:
TCP statistika, skirta IPv4
Aktyvūs atidarymai=77
Pasyvūs atidarymai=21
nepavyko prisijungti=2 Iš naujo nustatyti ryšius=25 Dabartiniai ryšiai=5 Gauti segmentai=7313 Segmentai išsiųsti=4824 Segmentai pakartotinai persiųsti=5Aktyvūs ryšiai Proto Vietinis adresas Užsienio adreso būsena TCP 127.0.0.1:2869 VM-Windows-7:49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7:49238 NUSTATYTA27.0. 0.1:49238 VM-Windows-7:icslap NUSTATYTA TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT
.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT
Kaip matote, rodoma įvairi TCP protokolo statistika, kaip ir visi tuo metu aktyvūs TCP ryšiai.
Rodyti atnaujintą tinklo statistiką
netstat -e -t 5
Šiame paskutiniame pavyzdyje netstat komanda vykdoma, kad būtų parodyta kai kuri pagrindinė tinklo sąsajos statistika [- e] ir kad ši statistika būtų nuolat atnaujinama komandų lange kas penkias sekundes [- t 5].
Štai kas rodoma ekrane:
Sąsajos statistika
Gauta išsiųsta
baitai 22132338 1846834
1911 paketas3 9869
Neunicast paketai 0 0
Išmesti 0 0
Klaidos 0 0
Nežinomi protokolai 0Sąsajos statistika Gauta išsiųsta baitai 22134630 1846834
Unicast paketai 19128 9869
Neunicast paketai 0 0
Išmesti 0 0
Klaidos 0
Nežinomi protokolai 0
^C
Rodoma įvairi informacija, kurią galite pamatyti čia ir kurią išvardinome aukščiau esančioje - e sintaksėje.
Komanda netstat buvo automatiškai vykdoma tik vieną kartą papildomai, kaip matote dviejose rezultato lentelėse. Atkreipkite dėmesį į ^C apačioje, nurodantį, kad Ctrl+C nutraukimo komanda buvo naudojama norint sustabdyti pakartotinį komandos vykdymą.
Su „Netstat“susijusios komandos
Komanda netstat dažnai naudojama su kitomis su tinklu susijusiomis komandų eilutės komandomis, tokiomis kaip nslookup, ping, tracert, ipconfig ir kt.
[1] Gali tekti rankiniu būdu pridėti PID stulpelį prie užduočių tvarkytuvės. Tai galite padaryti pasirinkę PID dešiniuoju pelės mygtuku spustelėję stulpelių antraštes skirtuke Process. Jei naudojate „Windows 7“arba senesnę „Windows“OS, pažymėkite žymimąjį laukelį PID (proceso identifikatorius) iš View > Pasirinkite Užduočių tvarkytuvės stulpeliai. Taip pat gali tekti pasirinkti Rodyti visų vartotojų procesus skirtuko Procesai apačioje, jei ieškomo PID sąraše nėra.