Kaip klausytis portų. Kaip sužinoti, kuris procesas klausosi „Windows“ prievado? Netstat išvestyje rodomas PID ir proceso pavadinimas

Mes įdiegsime naują programą serveryje, o programa klausys 8443 prievado. Prieš diegdami programą paprašėme tinklo komandos atidaryti 8443 prievadą šiame serveryje. Programa šiuo metu neklauso šio serverio prievado.

Bet kokiu atveju galiu įsitikinti, kad ugniasienė atidaryta 8443 prievadui

OS: Solaris 10 10/09 s10s_u8wos_08a SPARC

5 sprendimai renka žiniatinklio formas „Kaip patikrinti, ar ugniasienė atidaryta prievade, bet neklauso prievado“

Jei norite sužinoti, ar galite užmegzti TCP ryšį iš nuotolinio kompiuterio, įdiekite OpenCSW tame ir tiksliniame kompiuteryje ir abiejuose įdiekite netcat. Tai sintaksė, skirta naudoti netcat tikrinant TCP ryšius:

nc -vz targetServer portNum

Pavyzdžiui, norėdami išbandyti SSH „homeServer1“:

nc -vz namų serveris1 22

Tai leidžia išbandyti ryšį TCP lygiu iš nuotolinės sistemos. Netcat taip pat gali būti sukonfigūruotas taip, kad klausytųsi prievado, o ne veiktų kaip klientas. Norėdami klausytis TCP/8443:

Serveryje, kuriame bus nc -l homeserver1 8443 programa: nc -l homeserver1 8443

Įrenginyje, kuris yra už ugniasienės ribų: nc -vz homeserver.fqdn 8443

Tai yra sėkmingo vykdymo pavyzdys:

$ nc -vz ditirlns01.ncat.edu 8443 Prisijungimas prie ditirlns01.ncat.edu 8443 prievado pavyko!

Nepavyko vykdyti:

$ nc -vz ditirlns01.ncat.edu 8443 nc: prisijungti prie ditirlns01.ncat.edu prievado 8443 (tcp) nepavyko: prisijungti atmestas

Ugniasienės privalo atsako ICMP pranešimu, kai blokuoja užklausą. Tačiau tai nebūtinai yra (jums gali būti įdomus šis geras straipsnis).

Galite išbandyti išoriškai, kad pamatytumėte, ar prievadas pasiekiamas per užkardą, ir jei taip, ar kas nors klausosi. Toliau pateikiami trys skirtingi scenarijai, susiję su tcp užklausa, kurią galite stebėti naudodami Wireshark ar kitą paketų snifferį, ir tai, ką pamatysite:

1) Ugniasienė atmeta užklausą

Gausite ICMP pranešimą, o užklausą pateikęs įrankis turėtų nedelsdamas apie tai pranešti („nepasiekiamas, atmetė administratorius“ ir pan.). Sakydamas „įrankį“ turiu omenyje klientą, kurį naudojate siųsdami užklausą (naudojau telnet).

„Nėra maršruto į prieglobą“ gali tai reikšti, tačiau tai gali reikšti ir subtilesnes maršruto parinkimo problemas.

2) Ugniasienė numeta paketą

Atsakymo nėra, todėl įrankis laukia, kol suges arba atsibosta.

3) Ugniasienė leidžia paketą (arba ugniasienės nėra), bet prievade nieko neklausoma.

Pasirodo pranešimas TCP RST/ACK. Spėju, kad to reikia TCP protokolui. Kitaip tariant, jei prievade nieko neklausoma, pati OS siunčia šį atsakymą. Tai gali būti sunku atskirti nuo Nr. 1 vien pagal įrankio pranešimus, nes abiem atvejais tai Gal būt pasakykite tą patį (tačiau greičiausiai tai būtų atskirta kaip „ryšis atmestas“ nuo 1, „tinklas nepasiekiamas“). Scenarijus #1 (ICMP atmetimo pranešimas) ir #3 (TCP RST/ACK pranešimas), pastebėtas kliento įrenginio sniffer pakete, labai skiriasi.

Vienintelis kitas variantas yra tai, kad paketą leidžia ugniasienė ir kažkas klauso, todėl gausite sėkmingą ryšį.

Kitaip tariant: darant prielaidą, kad jūsų tinklas paprastai veikia tinkamai, jei gaunate #1 arba #2, tai reiškia, kad ugniasienė aktyviai neleidžia pasiekti prievado. #3 atsitiks, jei jūsų serveris neveikia, bet prievadas yra, ir žinoma (netiesiogiai) #4 yra sėkmingas ryšys.

Galite naudoti komandą netstat, kad pamatytumėte, ar prievadas yra atidarytas ir klausosi.

pavyzdys

$ netstat -anp | mažiau Aktyvūs interneto ryšiai (serveriai ir sukurti) Proto Recv-Q Send-Q Vietinis adresas Užsienio adresas Būsena PID/Programos pavadinimas tcp 0 0 0.0.0.0:111 0.0.0.0:* KLAUSYTI - tcp 0 0 0.0.0.0:41716 0.0. 0.0:* KLAUSYTI - tcp 0 0 0.0.0.0:22 0.0.0.0:* KLAUSYTI - tcp 0 0 127.0.0.1:631 0.0.0.0:* KLAUSYTI - tcp 0 0 0.0.0.0.0:03*0:050.0:0 /dropbox tcp 0 0 0.0.0.0:17501 0.0.0.0:* KLAUSYTI 3033/dropbox tcp 0 0 127.0.0.1:2143 0.0.0.0:* KLAUSYTI 3191/ssh .0.0.0.0.0.0.0 * SĄRAŠAS EN 3191/ssh

Išvestis rodo procesus (stulpelis iš dešinės į kairę), kurios klausosi TCP prievaduose. Prievado numeriai yra skaičiai, einantys dvitaškius po IP adresų (pavyzdžiui, 0.0.0.0:111 yra 111 prievadas).

IP adresai rodomi vietinis Ir išoriniai adresai . Vietinis bus jūsų sistema ir Užsienio– bet kokius adresus, kuriuos galima prijungti prie jūsų TCP prievado arba prie vieno iš jų TCP prievadų.

Taigi, 22 prievado atveju tai yra ssh demonas, veikiantis mano sistemoje KLAUSYMAS jungtims. Kai tik kas nors bando prisijungti prie ssh , jis išduoda savo kopiją ir perkelia tą ryšį į kitą prievadą, palikdamas TCP 22 prievadą atvirą papildomiems ryšiams, kai tik jie ateina.

Užkardos konfigūracija ir būsena priklauso nuo ugniasienės/OS.

Ką galite padaryti, tai išbandyti iš serverio2.

Jei prievadas atidarytas, tai reiškia, kad kuri nors programa (pavyzdžiui, paslauga) naudoja jį ryšiui su kita programa internetu arba vietinėje sistemoje. Norėdami pamatyti, kurie prievadai yra atidaryti jūsų Linux sistemoje, galite naudoti komandą netstat. Išvestyje bus rodomos visos paslaugos ir prievadai bei IP adresai, kurių jos klauso.

sudo netstat -ntulp

Aktyvūs interneto ryšiai (tik serveriai)
Proto Recv-Q Send-Q Vietinis adresas Užsienio adresas Būsena PID / programos pavadinimas
tcp 0 0 0.0.0.0:139 0.0.0.0:* KLAUSYTI 2392/smbd
tcp 0 0 0.0.0.0:9518 0.0.0.0:* KLAUSYTI 2894/skype
tcp 0 0 0.0.0.0:8080 0.0.0.0:* KLAUSYTI 2896/vlc
tcp 0 0 127.0.0.1:3493 0.0.0.0:* KLAUSYTI 2467/upsd
...

  • -l arba --listening - rodyti tik klausymo prievadus
  • -p arba --program - rodo programos pavadinimą ir PID
  • -t arba --tcp rodo tcp prievadus
  • -u arba --udp rodo udp prievadus
  • -n arba --numeric rodo IP adresus skaitine forma

Metodas 2 lsof

„lsof“ programa leidžia peržiūrėti visas sistemoje atidarytas jungtis, įskaitant tinklo ryšius; tam reikia naudoti i parinktį.

dhcpcd 2136 root 6u IPv4 4986 0t0 UDP *:bootpc

hamachid 2323 šaknis 8u IPv4 5587 0t0 TCP 192.168.1.2:35445->212.118.234.65:https (NUSTATYTA)
smbd 2392 root 27u IPv6 5624 0t0 TCP *:microsoft-ds (KLAUSYTI)
sshd 2421 root 3u IPv4 6196 0t0 TCP *:ssh (KLAUSYTI)
upsd 2467 nut 4u IPv4 6235 0t0 TCP comm-app.local:nut (KLAUSYTI)

Kitas pavyzdys, pažiūrėkime, kurie procesai veikia 80 prievade:

sudo lsof -i | grep 80

ntpd 2213 root 23u IPv6 5422 0t0 UDP :ntp
ntpd 2213 root 27u IPv6 5598 0t0 UDP :ntp
skype 2894 serigy 87u IPv4 7080 0t0 TCP *:9518 (KLAUSYTI)
chrome 3114 sergiy 122u IPv4 31904 0t0 TCP 192.168.1.2:47804->srv118-131-240-87.vk.com:https (NUSTATYTA)

3 būdas: nmap

Nmap yra galingas tinklo skaitytuvas, skirtas nuskaityti ir tikrinti nuotolinius pagrindinius kompiuterius, tačiau niekas netrukdo nukreipti jo į vietinį kompiuterį:

Nuo Nmap 6.47 (http://nmap.org) 2015-08-02 17:27 EEST
Nmap nuskaitymo ataskaita, skirta localhost (127.0.0.1)
Priegloba veikia (0,00036s delsa).
Kiti localhost adresai (nenuskaityti): 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1
rDNS įrašas, skirtas 127.0.0.1: comm-app.local
Nerodoma: 995 uždaryti prievadai
UOSTO VALSTYBĖS TARNYBA
22/tcp atidaryti ssh
139/tcp atidaryti netbios-ssn
445/tcp atvira microsoft-ds
3493/tcp atvira veržlė
8080/tcp atidarykite http-proxy

Nmap atlikta: 1 IP adresas (1 pagrindinis kompiuteris aukštyn) nuskaitytas per 0,10 sekundės

Jei norite pamatyti, kurie kompiuterio prievadai pasiekiami iš išorės, čia taip pat gali praversti Nmap. Jei kompiuteris yra viešasis serveris, rezultatas greičiausiai niekuo nesiskirs nuo vietinio nuskaitymo, tačiau namų kompiuteryje viskas šiek tiek skiriasi. Pirmasis variantas yra naudoti maršrutizatorių ir tinkle bus matomi tik maršrutizatoriaus prievadai; kitas apsaugos slenkstis gali būti teikėjo NAT serveris. NAT technologija leidžia keliems vartotojams naudoti vieną išorinį IP adresą. Taigi, norėdami peržiūrėti atvirus išorinius prievadus, pirmiausia išsiaiškiname išorinį IP adresą, o dėl patikimumo naudosime internetinę paslaugą:

nmap 178.93.149.50

Dėl to galime gauti atvirą 80 žiniatinklio serverio prievadą arba net 21 failų serverio prievadą, kurio mes neįdiegėme, šiuos prievadus atidaro maršrutizatorius, 80 skirtas žiniatinklio sąsajai, o 21 gali būti naudojamas programinės aparatinės įrangos atnaujinimas. Taip pat galite negauti rezultatų, tai reikš, kad visi prievadai yra uždaryti arba serveryje įdiegta IDS apsaugos nuo įsilaužimo sistema.

Komanda netstat, įtrauktas į standartinį UNIX tinklo įrankių rinkinį, rodo įvairią su tinklu susijusią informaciją, pvz., tinklo ryšius, sąsajos statistiką, maršruto parinkimo lenteles, maskaradą, daugialypę transliaciją ir kt.

Šiame straipsnyje apžvelgsime dešimt praktinių komandos naudojimo pavyzdžių „netstat“ sistemoje „Linux“..

1. Visų prievadų sąrašas (ir klausomų, ir ne)

Išvardykite visus prievadus: netstat -a

# netstat -a | daugiau Aktyvūs interneto ryšiai (serveriai ir sukurti) Proto Recv-Q Send-Q Vietinis adresas Užsienio adreso būsena tcp 0 0 localhost:domain *:* KLAUSYTI udp6 0 0 fe80::20c:29ff:fe68:ntp [::]:* Aktyvūs UNIX domeno lizdai (serveriai ir nustatyti) Proto RefCnt Žymės Tipas Būsena I-Node Path unix 2 [ ACC ] STREAM LISTENING 20492 /var/run/mysqld/mysqld.sock unix 2 [ ACC ] STREAM LISTENING 23323 /run/php5var -fpm.sock

Išvardykite visus TCP prievadus: netstat -at

# netstat -at Aktyvūs interneto ryšiai (serveriai ir nustatyti) Proto Recv-Q Send-Q Vietinis adresas Užsienio adreso būsena tcp 0 0 localhost:domain *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 localhost:ipp *:* KLAUSYTI tcp 0 0 *:http *:* KLAUSYTI

Išvardykite visus UDP prievadus: netstat -au

# netstat -au Aktyvūs interneto ryšiai (serveriai ir sukurti) Proto Recv-Q Send-Q Vietinis adresas Užsienio adresas Būsena udp 0 0 localhost:domain *:* udp 0 0 *:bootpc *:* udp6 0 0 fe80::20c: 29ff:fe68:ntp [::]:*

2. LISTEN būsenos lizdų sąrašas

Išvardykite visus klausymosi prievadus: netstat -l

# netstat -l Aktyvūs interneto ryšiai (tik serveriai) Proto Recv-Q Send-Q Vietinis adresas Užsienio adreso būsena tcp 0 0 localhost:domain *:* KLAUSYTI tcp6 0 0 [::]:ssh [::]:* KLAUSYTI udp 0 0 192.168.128.134:ntp *:*

Išvardykite TCP klausymosi prievadus: netstat -lt

# netstat -lt Aktyvūs interneto ryšiai (tik serveriai) Proto Recv-Q Send-Q Vietinis adresas Užsienio adreso būsena tcp 0 0 localhost:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp6 0 0 [::] :ssh [::]:* KLAUSYKITE

Klausymo UDP prievadų sąrašas: netstat -lu

# netstat -lu Aktyvūs interneto ryšiai (tik serveriai) Proto Recv-Q Send-Q Vietinis adresas Užsienio adresas Būsena udp 0 0 *:bootpc *:* udp6 0 0 [::]:ntp [::]:*

Išvardykite UNIX klausymosi lizdus: netstat -lx

# netstat -lx Aktyvūs UNIX domeno lizdai (tik serveriai) Proto RefCnt Žymės Tipas Būsena I mazgas Kelias unix 2 [ ACC ] STREAM LISTENING 3141 /var/run/fail2ban/fail2ban.sock unix 2 [ ACC ] STREAM LISTENING /var/var 20492 run/mysqld/mysqld.sock unix 2 [ ACC ] STRUTO KLAUSIMAS 23323 /var/run/php5-fpm.sock

3. Peržiūrėkite kiekvieno protokolo statistiką

Rodyti visų prievadų statistiką: netstat -s

# netstat -s Ip: iš viso gauta 11150 paketų 1 su netinkamais adresais 0 persiųsta 0 įeinančių paketų atmesta 11149 gaunamų paketų pristatyta 11635 išsiųstų užklausų Icmp: 13791 ICMP pranešimų gauta 12 įvesties ICMP žinutės nepavyko. Tcp: 15020 aktyvių jungčių angos 97955 pasyvaus ryšio angos 135 nesėkmingi prisijungimo bandymai Udp: gautas 2841 paketas, gautas 180 paketų į nežinomą prievadą. .....

Rodyti tik TCP prievadų statistiką: netstat -st

# netstat -st

Rodyti tik UDP prievadų statistiką: netstat -su

# netstat -su

4. Netstat išvestyje parodykite PID ir proceso pavadinimą

Variantas netstat -p„Netstat“ išvestyje pridės „PID / programos pavadinimą“ ir gali būti derinamas su bet kuriuo kitu parinkčių rinkiniu. Tai labai naudinga derinant, norint nustatyti, kuri programa veikia konkrečiame prievade.

# netstat -pt Aktyvūs interneto ryšiai (be serverių) Proto Recv-Q Send-Q Vietinis adresas Užsienio adresas Būsena PID/programos pavadinimas tcp 0 0 org-ru-putty.vm.udf:www 52-106.plus.kerch :55723 NUSTATYTA 9486/nginx: darbuotojas tcp 0 0 org-ru-putty.vm.udf:www 52-106.plus.kerch:55757 NUSTATYTA 9486/nginx: darbuotojas

5. Vardo skyra netstat išvestyje

Kai jums nereikia nustatyti pagrindinio kompiuterio pavadinimo, prievado pavadinimo, vartotojo vardo, naudokite parinktį netstat -n rodyti vertes skaitmeniniu formatu. Komanda parodys IP adresą vietoj pagrindinio kompiuterio, prievado numerį vietoj prievado pavadinimo, UID vietoj vartotojo vardo.

Tai taip pat pagreitins išvestį, nes netstat neatliks nereikalingų paieškų.

# netstat -an

Norėdami rodyti tik kai kurių iš šių elementų skaitines reikšmes, naudokite šias komandas:

# netsat -a --skaitmeniniai prievadai # netsat -a --skaitiniai-hosts # netsat -a --skaitiniai vartotojai

6. Netstat išvestis nuolat

Variantas netstat -c informaciją išves nuolat, stilingai viršuje, kas kelias sekundes atnaujinamas ekranas.

# netstat -c Aktyvūs interneto ryšiai (be serverių) Proto Recv-Q Send-Q Vietinis adresas Užsienio adreso būsena tcp 0 0 org-ru-putty.vm.udf:www 182.131.74.202:59933 FIN_WAIT2 tcp 0 0 org- ru-putty.vm.udf:www 182.131.74.202:63761 FIN_WAIT2 tcp 0 0 org-ru-putty.vm.udf:www 92-181-66-102-irk.:4585 NUSTATYTA ^C

7. Kreipkitės į šeimas, kurių sistema nepalaiko

Variantas netstat – žodinis parodys išsamią išvestį, o pačioje pabaigoje parodys nepalaikomas adresų šeimas.

Netstat: nepalaikomas „AF IPX“ šioje sistemoje. netstat: nepalaikomas „AF AX25“ šioje sistemoje. netstat: nepalaikomas „AF X25" šioje sistemoje. netstat: nepalaikomas „AF NETROM" šioje sistemoje.

8. Branduolio maršruto parinkimas

Rodyti branduolio maršruto lentelę: netstat -r

# netstat -r Branduolio IP maršruto parinkimo lentelė Paskirties šliuzas Genmask vėliavėlės MSS langas irtt Iface numatytasis 192.168.128.2 0.0.0.0 UG 0 0 0 eth0 192.168.128.0 * 255.255.200 eth0.

Pastaba: naudokite netstat -rn norėdami peržiūrėti maršrutą skaitmeniniu formatu, neatskleisdami pagrindinio kompiuterio pavadinimų.

9. Uostų ir procesų atitiktis

Sužinokite, kurį prievadą užima tam tikra programa:

# netstat -ap | grep ssh (Ne visi procesai gali būti identifikuoti, informacija apie nepriklausantį procesą nebus rodoma, jūs turite būti root, kad pamatytumėte viską.) tcp 0 0 *:ssh *:* KLAUSYTI - tcp6 0 0 [::] :ssh [::]:* KLAUSI -

Sužinokite, kuris procesas naudoja konkretų prievadą:

# netstat -an | grep ":80"

10. Tinklo sąsajos

Rodyti tinklo sąsajų sąrašą: netstat -i

# netstat -i Branduolio sąsajos lentelė Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 1911037 0 0 0 1382056 0 0 1 0 1382056 0 0 1 0 B4382056 0 0 0 0 0 0 0 0 LRU

Rodyti išplėstinę informaciją apie sąsajas (taip pat kaip ifconfig): netstat -ty

# netstat -ie Branduolio sąsajos lentelė eth0 Link encap:Ethernet HWaddr 00:0c:29:68:4c:a4 inet addr:192.168.128.134 Bcast:192.168.128.255 Mask:255.255.25:25:0c inet25:25:0c fe68:4ca4/64 Apimtis: Nuoroda UP TRANSLIAVIMAS VEIKIANTIS MULTICAST MTU:1500 Metrika:1 RX paketai:24278 klaidos:0 nukrito:0 viršijimas:0 kadras:0 TX paketai:11275 klaidos:0 nukrito:0 viršijimas:0 nešiklis:0 susidūrimai: 0 tx eilės: 1000 RX baitų: 33203025 (33,2 MB) TX baitų: 665822 (665,8 KB) Pertraukimas: 19 Bazinis adresas: 0x2000

11. netstat -lnptux

Apibendrinkime tai, kas išdėstyta aukščiau, ir sujunkite klavišus į vieną naudingą komandą, kuri parodys:

  • -I visi atviri prievadai (KLAUSYTI)
  • -t per TCP protokolą
  • -u per UDP protokolą
  • -x per UNIX Socket protokolą
  • -n neišsprendus IP/pavadinimų
  • -p, bet su procesų pavadinimais ir PID

Pastaba: ne visus procesus galima atpažinti pagal paskutinį raktą; kiti procesai nebus rodomi. Turite būti root, kad viską matytumėte.

# netstat -lnptux Aktyvūs interneto ryšiai (tik serveriai) Proto Recv-Q Send-Q Vietinis adresas Užsienio adresas Būsena PID/Programos pavadinimas tcp 0 0 0.0.0.0:80 0.0.0.0:* KLAUSYTI 9614/nginx tcp 0 0 0.0.0.0. :22 0.0.0.0:* KLAUSYTI 601/sshd udp 0 0 8.8.4.4:123 0.0.0.0:* 574/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:pd0.0 0.0.0 123 0.0.0.0:* 574/ntpd Aktyvūs UNIX domeno lizdai (tik serveriams) Proto RefCnt Žymės Tipas Būsena I mazgas PID/Programos pavadinimas Kelias unix 2 [ ACC ] STRUTO KLAUSIMAS 4233 826/python /var/run/fail2ban/ sock unix 2 [ ACC ] STREAM LISTENING 8122 2561/mysqld /var/run/mysqld/mysqld.sock unix 2 [ ACC ] STREAM LISTENING 160413 7301/php-fpm.conf /var/fpm.phs

2013 m. sausio mėn., svetainė

Įgalinkite JavaScript

© 2009–2019, svetainė – Naudodami svetainės medžiagą, nurodykite šaltinį.

    Atidarykite komandų eilutės langą (kaip administratorius). Lauke "Start\Search" įveskite "cmd", tada dešiniuoju pelės mygtuku spustelėkite "cmd.exe" ir pasirinkite "Vykdyti kaip administratorių".

    Įveskite šį tekstą ir paspauskite Enter.

    netstat -abno

    -a Rodo visas jungtis ir klausymosi prievadus.

    -b Rodo vykdomąjį failą, susijusį su kiekvieno ryšio arba klausymosi prievado kūrimu. Kai kuriais atvejais žinomas vykdomasis kompiuteris turi kelis nepriklausomus komponentus, o tokiais atvejais kuriant ryšį arba klausymosi prievadą yra įtraukta komponentų seka. Šiuo atveju vykdomojo failo pavadinimas yra apačioje, viršuje yra komponentas, kurį jis pavadino ir t. t. kol bus pasiektas TCP/IP. Atminkite, kad ši parinktis gali užtrukti ilgai ir nepavyks, jei neturėsite pakankamai leidimo.

    -n Rodo adresus ir prievadų numerius skaitine forma.

    -o Rodo nuosavybės proceso ID, susietą su kiekvienu ryšiu.

    Skiltyje „Vietinis adresas“ suraskite prievadą, kurio klausotės

    Pažiūrėkite į proceso pavadinimą tiesiai po juo.

PASTABA. Norėdami rasti procesą užduočių tvarkyklėje

    Atkreipkite dėmesį į proceso ID (proceso ID) šalia prievado, kurio ieškote.

    Atidarykite „Windows“ užduočių tvarkyklę.

    Eikite į skirtuką Procesai.

    Pažiūrėkite į PID, kurį pažymėjote atlikdami „netstat“ atlikdami 1 veiksmą.

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

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

Sveiki visi, anksčiau pradėjau pasakojimą apie sistemos administratoriaus tinklo įrankius straipsnyje „Kelio paieškos programa arba kaip diagnozuoti problemą maršrute į svetainę. Tinklo paslaugų 3 dalis“, pereikime toliau ir pažiūrėkime į kitą priemonę netstat arba kaip nustatyti, kurių prievadų kompiuteris klausosi. Ši programa bus nepakeičiamas įrankis bet kurio sistemų inžinieriaus programiniame bagaže, padės greitai diagnozuoti situaciją ir aptikti daugybę įvairių paslaugų ir jų prieinamumo problemų.

netstat komandos

Netstat- Rodo aktyvius TCP ryšius, prievadus, kurie klausosi kompiuteryje, Ethernet statistiką, IP maršruto parinkimo lentelę, IPv4 statistiką (IP, ICMP, TCP ir UDP protokolams) ir IPv6 (IPv6, ICMPv6, TCP per IPv6 ir UDP per IPv6 protokolus)

Įsivaizduokime situaciją: įsidiegėte, pavyzdžiui, MSM LSI paslaugų programą, kad galėtumėte peržiūrėti RAID valdiklio parametrus, paleidžiate programą, bet ji nieko neranda, nes prievadas uždarytas ir nežinote, kuris iš jų , ir ne visada įmanoma greitai rasti informacijos apie tai internete, tam galite paleisti netstat ir pamatyti, kokio prievado klausosi jūsų serveris su MSM procesu.

Atidarykite „Windows“ komandų eilutę ir įveskite netstat?. Pasirodys paslaugų programos pagalba.

C:\Users\sem>netstat?

Rodo protokolo statistiką ir esamus TCP/IP tinklo ryšius.

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p protokolas] [-r] [-s] [-x] [-t]
[intervalas]

  • -a Rodo visas jungtis ir klausymosi prievadus.
  • -b Rodyti vykdomąjį failą, susijusį su kūrimu
  • kiekvieną ryšį arba klausymosi prievadą. Kartais žinomuose vykdomuosiuose failuose yra daug nepriklausomų komponentų. Tada rodoma komponentų, dalyvaujančių kuriant ryšį arba klausymosi prievadą, seka. Šiuo atveju vykdomojo failo pavadinimas yra apačioje skliausteliuose, viršuje yra komponentas, kurį jis vadino, ir taip toliau, kol pasiekiamas TCP/IP. Atminkite, kad šis metodas gali užtrukti ir reikalauja pakankamai leidimų.
  • -e Rodyti Ethernet statistiką. Galima naudoti kartu su -s parinktimi.
  • -f Rodyti visiškai kvalifikuotą domeno pavadinimą () išoriniams adresams.
  • -n Rodyti adresus ir prievadų numerius skaitmeniniu formatu.
  • -o Rodyti kiekvieno ryšio proceso ID.
  • -p protokolas Rodo ryšius, susijusius su šiuo parametru nurodytu protokolu. Galiojančios reikšmės yra TCP, UDP, TCPv6 arba UDPv6. Kai naudojamas kartu su -s parinktimi, kad būtų rodoma protokolo statistika, galiojančios reikšmės yra: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP arba UDPv6.
  • -r Rodyti maršruto lentelės turinį.
  • -s Rodyti protokolo statistiką. Pagal numatytuosius nustatymus rodoma IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP ir UDPv6 protokolų statistika. Parinktis -p leidžia nurodyti išvesties poaibį.
  • -t Rodyti esamo ryšio iškrovimo būseną.
  • -x Rodo NetworkDirect ryšius, klausytojus ir bendrus galinius taškus.
  • -y Rodyti visų jungčių TCP ryšio šabloną. Negalima naudoti kartu su kitomis parinktimis. intervalas Pakartotinis pasirinktos statistikos rodymas su pertrauka tarp rodymų, nurodytų intervalu sekundėmis. Norėdami nustoti pakartotinai rodyti statistiką, paspauskite CTRL+C. Jei šis parametras praleistas, netstat vieną kartą išspausdins esamą konfigūracijos informaciją.

Pažvelkime į įdomius „netstat“ programos raktus. Pirmas dalykas, kurį įeiname

ir mūsų ekrane bus rodoma eterneto tinklo paketų statistika.

Jei pridėsime jungiklį -s, gausime statistiką apie protokolus.

Labai naudinga pamatyti viską, ko klausosi jūsų šeimininkas, todėl mes rašome

Komandos išvestyje yra protokolo tipas, TCP arba UDP, vietinis adresas su prievadu, kuris klausosi, ir išorinis adresas su prievadu bei veiksmo būsena.

Norint visiškai suprasti šios komandos pateiktą informaciją, būtina suprasti ryšio nustatymo TCP/IP protokole principus. Štai pagrindiniai TCP/IP ryšio užmezgimo žingsniai:

1. Bandydamas užmegzti ryšį, klientas serveriui siunčia SYN pranešimą.

2. Serveris atsako savo SYN pranešimu ir patvirtinimu (ACK).

3. Tada klientas siunčia ACK pranešimą atgal į serverį, užbaigdamas ryšio nustatymo procesą.

Atjungimo procesas susideda iš šių žingsnių:

1. Klientas sako „baigiau“, išsiųsdamas FIN pranešimą serveriui. Šiame etape klientas tik gauna duomenis iš serverio, bet pats nieko nesiunčia.

2. Tada serveris siunčia ACK pranešimą ir klientui siunčia savo FIN pranešimą.

3. Tada klientas serveriui siunčia ACK pranešimą, patvirtinantį FIN serverio užklausą.

4. Kai serveris gauna ACK pranešimą iš kliento, jis nutraukia ryšį.

Suprasdami ryšio nustatymo ir nutraukimo proceso veiksmus, galėsite aiškiau interpretuoti ryšio būsenas netstat komandos išvestyje. Sąrašo jungtys gali būti šios būsenos:

  • CLOSE_WAIT- nurodo pasyviąją ryšio nutraukimo fazę, kuri prasideda serveriui gavus FIN pranešimą iš kliento.
  • UŽDARYTA- ryšys buvo nutrauktas ir uždarytas serverio.
  • NUSTATYTA- klientas užmezgė ryšį su serveriu, gavęs SYN pranešimą iš serverio.
  • FIN_WAIT_1- klientas inicijavo ryšio nutraukimą (išsiuntė FIN pranešimą).
  • FIN_WAIT_2- klientas gavo ACK ir FIN pranešimus iš serverio.
  • LAST_ACK- serveris klientui išsiuntė FIN pranešimą.
  • KLAUSYKITE- serveris yra pasirengęs priimti įeinančius ryšius.
  • SYN_RECEIVED- serveris gavo SYN pranešimą iš kliento ir išsiuntė jam atsakymą.
  • TIMED_WAIT- klientas išsiuntė FIN pranešimą į serverį ir laukia atsakymo į šį pranešimą.
  • YN_SEND- nurodytas ryšys yra aktyvus ir atidarytas.

Netstat paslaugų programa arba kaip nustatyti, kurių prievadų kompiuteris klausosi. Tinklo komunalinės paslaugos 4-06 dalis