- Dave McKay
@TheGurkha
- 17. helmikuuta 2020, 8:00 EDT
Linux netstat
komento antaa sinulle aarre tietoa verkon liitännät, portit ovat käytössä, ja prosesseja käyttää niitä. Opettele käyttämään sitä.
portteja, prosesseja ja protokollia
verkkopistorasioita voidaan joko kytkeä tai odottaa yhteyttä., Yhteydet käyttävät verkkoprotokollia, kuten Transport Control Protocol (TCP) tai User Datagram Protocol UDP. Ne käyttävät Internet-protokollan osoitteita ja verkkoportteja yhteyksien luomiseen.
sana pistorasiat voi loihtia kuvia fyysinen yhteys pisteen johto tai kaapeli, mutta tässä yhteydessä pistorasia on ohjelmisto rakentaa hoiti yksi pää-verkon datayhteyttä.,
Pistorasiat ovat kaksi seuraavaa: He ovat joko kytketty ja helpottaa jatkuvaa verkkoviestintää, tai he odottavat saapuvan yhteyden niitä. On muitakin valtioita, kuten valtion, kun pistorasia on puolivälissä perustaa yhteyden kauko-laite, mutta laittamalla ohimenevä valtioiden syrjään, voit ajatella socket joko on kytketty tai odottaa (joka on usein kutsutaan kuuntelu).
kuuntele pistorasia on nimeltään server, ja pistorasia, joka pyytää yhteyden kuuntelu pistorasia on nimeltään asiakas., Näillä nimillä ei ole mitään tekemistä laitteisto-tai tietokoneroolien kanssa. Ne yksinkertaisesti määritellä rooli kunkin pistorasian kussakin päässä yhteyden.
netstat
– komennolla voit selvittää, mitkä pistorasiat on kytketty ja mitkä pistorasiat kuuntelevat. Merkitys, se kertoo, mitkä portit ovat käytössä ja mitkä prosessit käyttävät niitä. Se voi näyttää reititystaulukot ja tilastot verkkorajapinnoistasi ja multicast-yhteyksistäsi.
toiminnallisuus netstat
on toistettu ajan eri Linux apuohjelmia, kuten ip-ja ss., Tämä granddaddy kaikista verkkoanalyysikomennoista kannattaa silti tuntea, sillä se on saatavilla kaikissa Linuxin ja Unixin kaltaisissa käyttöjärjestelmissä sekä jopa Windowsissa ja Macissa.
tässä miten sitä käytetään, täydennetään esimerkkikomennoilla.
Listaus Kaikki Pistorasiat
-a
(kaikki) – vaihtoehto tekee netstat
näytä kaikki yhteydet ja odottaa pistorasiat. Tämä komento on omiaan tuottamaan pitkän listauksen, joten piippaamme sen less
.,
netstat -a | less
listaus sisältää TCP-protokollan (IP), TCP6 (IPv6), ja UDP pistorasiat.
pääteikkunan kietaisu tekee hieman vaikeaksi nähdä, mitä on tekeillä. Tässä on pari jaksoa siitä, että listalle:
”Aktiivinen Internet” osassa luetellaan kytkettyjen ulkoisten yhteyksien ja paikallisen pistorasiat kuuntelee kauko-yhteyspyynnöt. Toisin sanoen siinä luetellaan verkkoyhteydet, jotka on (tai tullaan) perustamaan ulkoisiin laitteisiin.,
”UNIX-domain” – osiossa luetellaan kytketty ja kuunnella sisäisiä yhteyksiä. Toisin sanoen siinä luetellaan liitokset, jotka on perustettu tietokoneen sisällä eri sovelluksia, prosesseja ja elementtejä käyttöjärjestelmän.
”aktiivisen Internetin” sarakkeet ovat:
- Proto: tämän pistorasian käyttämä protokolla (esimerkiksi TCP tai UDP).
- Recv-Q: vastaanottojono. Nämä ovat saapuvia tavuja, jotka on vastaanotettu ja puskuroitu, odottamassa paikallista prosessia, joka käyttää tätä yhteyttä lukea ja kuluttaa niitä.,
- Send-Q: the send queue. Tämä näyttää tavut, jotka ovat valmiita lähetettäväksi lähetysjonosta.
- paikallisosoite: yhteyden paikallispään osoitetiedot. Oletuksena on, että
netstat
näyttää paikallinen hostname osoite ja nimi palvelun satama. - ulkomainen osoite: yhteyden etäpään osoite ja satamanumero.
- State: the state of the local socket. UDP-pistorasioille tämä on yleensä tyhjä. Katso valtion taulukko alta.,
TCP-yhteydet, valtio-arvo voi olla yksi seuraavista :
- KUUNTELE: Server-puolella vain. Pistorius odottaa yhteydenottopyyntöä.
- syn-SENT: Client-side only. Tämä pistorasia on tehnyt liittymäpyynnön ja odottaa, hyväksytäänkö se.
- syn-vastaanotettu: vain palvelinpuolella. Tämä pistorasia odottaa yhteyden kuittausta yhteydenottopyynnön hyväksymisen jälkeen.
- perustettu: palvelin ja asiakkaat. Palvelimen ja asiakkaan välille on luotu toimiva yhteys, jonka avulla tietoja voidaan siirtää näiden kahden välillä.,
- fin-WAIT-1: Server and clients. Tämä pistorasia on odottaa yhteyden irtisanominen pyynnöstä remote-liittimeen, tai kuittausta yhteyden irtisanominen pyynnöstä, joka oli aiemmin lähetetty tähän liittimeen.
- FIN-WAIT-2: Server and clients. Tämä pistorasia odottaa yhteyden purkupyyntöä kaukosäätimestä.
- CLOSE-WAIT: Server and client. Tämä pistorasia odottaa yhteyden purkupyyntöä paikalliselta käyttäjältä.
- sulkeminen: palvelin ja asiakkaat., Tämä pistorasia odottaa yhteyden purkamispyynnön kuittausta kaukosäätimestä.
- LAST-ACK: Server and client. Tämä pistorasia odottaa kuittausta yhteyden päättymispyynnöstä, jonka se lähetti etäpistorasiaan.
- TIME-WAIT: Server and clients. Tämä pistorasia lähetti kuittauksen kauko-socket anna sen tietää, että se sai kauko-socket on irtisanominen pyynnöstä. Nyt se odottaa, että kuittaus saatiin.
- suljettu: yhteyttä ei ole, joten pistorasia on lopetettu.,
”Unix-domain” – sarakkeet ovat:
- Proto: käyttämän protokollan tähän liittimeen. Se on ”unix.”
- RefCnt: Reference count. Tähän pistorasiaan liitettyjen prosessien lukumäärä.
- Liput: Tämä on yleensä asetettu
ACC
, joka merkitseeSO_ACCEPTON
, eli socket odottaa yhteyspyyntöä.SO_WAITDATA
, joka on merkitty nimelläW
, tarkoittaa, että on tietoja, jotka odottavat luettavaa.,SO_NOSPACE
näkyvätN
, tarkoittaa, ei ole tilaa kirjoittaa tietoja socket (eli lähettää puskuri on täynnä). - Type: the socket type. Katso alla oleva tyyppitaulukko.
- State: the state of the socket. Katso alla oleva valtion taulukko.
- i-Node: tähän pistorasiaan liittyvä tiedostojärjestelmä inode.
- polku: tiedostojärjestelmän polku pistorasiaan.
Unix domain socket tyyppi voi olla yksi seuraavista:
- DGRAM: pistorasia käytetään datagram-tilassa, käyttäen viestejä kiinteä pituus., Datagrammit eivät ole taatusti luotettavia, sekvensoituja eikä monimutkaisia.
- STREAM: this socket is a stream socket. Tämä on tavallinen ”normaali” tyyppinen pistorasia yhteys. Nämä pistorasiat on suunniteltu tarjoamaan luotettava sekvensoitu (in-order) toimitus paketteja.
- RAW: this socket is being used as a raw socket. Raw-pistorasiat toimivat OSI-mallin verkkotasolla, eivätkä ne viittaa liikenteen tasolta TCP: n ja UDP: n otsakkeisiin.
- RDM: tämä pistorasia sijaitsee luotettavasti toimitetun viestiyhteyden toisessa päässä.,
- SEQPACKET: Tämä liitin toimii sequential packet pistorasia, joka on toinen keino tarjota luotettavaa, sekvensoitiin ja unduplicated paketin toimitus.
- PACKET: Raw interface access socket. Packet-pistorasioita käytetään RAW-pakettien vastaanottamiseen tai lähettämiseen OSI-mallin laiteohjaimen (eli datalinkikerroksen) tasolla.
Unix domain socket tila voi olla yksi seuraavista:
- ILMAINEN: Tämä liitin on varaamatonta.
- kuuntelu: this socket is listening for incoming connection requests.,
- CONNECTING: this socket is in the process of connecting.
- kytketty: yhteys on perustettu, ja pistorasia pystyy vastaanottamaan ja välittämään tietoja.
- irrottaminen: yhteys on päättymässä.
Vau, että on paljon tietoa! Monet netstat
valinnat tarkentaa tuloksia tavalla tai toisella, mutta he eivät voi muuttaa sisältöä liikaa. Katsotaanpa.,
Listaus Pistorasiat Tyyppi
netstat -a
komento voi tarjota enemmän tietoa kuin sinun täytyy nähdä. Jos et vain halua tai tarvitse nähdä TCP pistorasiat, voit käyttää -t
(TCP) mahdollisuus rajoittaa näytön vain näyttää TCP pistorasiat.
netstat -at | less
näyttö on huomattavasti. Muutamia listattuja pistorasioita ovat kaikki TCP-pistorasiat.,
-u
(UDP) ja -x
(UNIX) – vaihtoehdot toimivat samalla tavalla, rajoittaa tulokset tyypin liitin on määritelty komentorivillä. Tässä on -u (UDP) – valinnan käyttö:
netstat -au | less
Vain UDP pistorasiat on lueteltu.
Listaus Pistorasiat Valtion
nähdä, pistorasiat, joita ovat kuuntelu-tai odotustilassa, käytä -l
(kuuntelu) – vaihtoehto.
netstat -l | less
pistorasiat, jotka on lueteltu ovat ne, jotka ovat kuuntelutilassa.,
Tämä voidaan yhdistää -t (TCP, -u (UDP) ja x (UNIX) vaihtoehtoja edelleen kotona pistorasiat kiinnostaa. Katsotaanpa kuuntelee TCP pistorasiat:
netstat -lt | less
Nyt, me näemme vain kuuntelee TCP pistorasiat.
Verkon Tilastoja Protokollaa
netstat -st | less
kokoelma tilastot TCP-yhteyksiä näkyy less
.
Osoittaa Prosessin Nimet ja Pidit
Se voi olla hyödyllistä nähdä prosessi-ID (PID) prosessia käyttäen socket, yhdessä nimi, että prosessi., -p
(Ohjelma) vaihtoehto tekee juuri niin. Katsotaanpa, mitä pidit ja prosessinimet ovat prosesseille käyttäen TCP-pistorasiaa, joka on kuuntelutilassa. Käytämme sudo
varmista, että saamme kaikki tiedot, jotka on saatavilla, mukaan lukien kaikki tiedot, jotka normaalisti vaativat pääkäyttäjän oikeuksia.
sudo netstat -p -at
Tässä on, että tuotos on alustettu taulukko:
– Meillä on ylimääräinen sarake nimeltään ”PID/ohjelman nimi.”Tässä sarakkeessa luetellaan PID ja nimi prosessin käyttäen kunkin pistorasiat.,
Listaus Numeerisia Osoitteita
Toinen askel, voimme poistaa joitakin epäselvyyksiä on näyttää paikallis-ja kauko-osoitteita sekä IP-osoitteiden sijaan niiden ratkaistu domain ja isäntänimiä. Jos käytämme -n
(numeerinen) vaihtoehto, IPv4-osoitteet näkyvät pisteviiva-desimaali-muodossa:
sudo netstat -an | less
IP-osoitteet on esitetty numeeriset arvot. Myös porttinumerot näkyvät, erotuksena kaksoispiste ” :
” IP-osoitteesta.
IP-osoite 127.0. 0.,1 osoittaa, että socket on sidottu loopback osoite paikallisen tietokoneen. Voit ajatella IP-osoitteen 0.0.0.0 tarkoittavan ”oletusreittiä” paikallisille osoitteille ja” mikä tahansa IP-osoite ” ulkomaisille osoitteille. IPv6-osoitteet esitetään muodossa ”::
” ovat myös kaikki nolla-osoitteet.
– portit, jotka on lueteltu voidaan helposti tarkistaa, mitä heidän tavallista tarkoituksena on:
- 22: Tämä on Secure Shell (SSH) portin.
- 25: Tämä yksinkertainen Mail Transfer Protocol (SMTP) – kuunteluportti.
- 53: This is the Domain Name System (DNS) listening port.,
- 68: Tämä on Dynamic Host Configuration Protocol (DHCP) – portin.
- 631: tämä on yhteinen UNIX-tulostusjärjestelmä (CUPS) kuunteluportti.
aiheeseen LIITTYVÄT: Mitä Eroa on 127.0.0.1 ja 0.0.0.0?
Näyttää Routing Table
-r
(reitti) – vaihtoehto näyttää kernel routing table.,
sudo netstat -r
Tässä on, että tuotos siisti pöytä:
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default Vigor.router 0.0.0.0 UG 0 0 0 enp0s3 link-local 0.0.0.0 255.255.0.0 U 0 0 0 enp0s3 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
Ja tässä on mitä sarakkeet tarkoittavat:
- Kohde: kohde, verkko tai kohde isäntä laite (jos kohde ei ole verkossa).
- Gateway: the gateway address. Asteriski ”
*
” näkyy tässä, jos yhdyskäytävän osoitetta ei ole asetettu. - Genmask: the subnet mask for the route.
- Liput: katso alla oleva lipputaulukko.,
- MSS: oletuksena TCP—yhteyksien suurin segmentin koko tällä reitillä-tämä on suurin määrä dataa, joka voidaan vastaanottaa yhdessä TCP-segmentissä.
- Ikkuna: oletuksena ikkunan koko TCP-yhteyksien yli tämän reitin, mikä osoittaa, pakettien määrä, joka voidaan siirtää ja sai ennen vastaanottava puskuri on täynnä. Käytännössä paketit kuluttavat vastaanottava sovellus.
- irtt: Alkuerämatkan aika. Tämä arvo on viitattu ytimen tehdä dynaamisia muutoksia TCP parametrit etäyhteyksien, jotka ovat hitaita vastata.,
- Iface: verkkoliitäntä, josta reitillä lähetetyt paketit lähetetään.
lippujen arvo voi olla yksi seuraavista:
- U: reitti on ylöspäin.
- H: kohde on isäntä ja ainoa mahdollinen kohde tällä reitillä.
- G: käytä yhdyskäytävää.
- R: Palauta reitti dynaamiseen reititykseen.
- d: reititysdeemonin dynaamisesti asentama.
- M: Muutettu reititys daemon, kun se sai Internet Control Message Protocol (ICMP) – paketti.,
- A: Asennettu
addrconf
, automaattinen DNS-ja DHCP-config file generator. - C: Cache entry.
- !: Hylkää reitti.
Löytää käyttämä Portti Prosessi,
Jos me putki lähtö netstat
kautta grep
voimme etsiä prosessin nimi ja tunnistaa portti on käyttää. Käytämme -a
(kaikki), -n
(numeerinen) ja -p
(ohjelma) vaihtoehtoja, joita on käytetty aiemmin, ja etsi ”sshd.,”
sudo netstat -anp | grep "sshd"
grep
löytää kohde-merkkijono, ja me näemme, että sshd
daemon käyttää porttia 22.
tietysti voimme tehdä tämän myös käänteisesti. Jos etsimme”: 22″, voimme selvittää, mikä prosessi käyttää kyseistä porttia, jos sellainen on.
sudo netstat -anp | grep ":22"
Tällä kertaa grep
havaitsee ”:22” target merkkijono, ja me näemme, että prosessi käyttää tätä porttia ei sshd
daemon -, prosessi-ID 751.,
Listan Verkon Rajapinnat
-i
(rajapinnat) – vaihtoehto tulee näkyviin taulukon verkon rajapinnat, että netstat
voi saada selville.
sudo netstat -i
Tässä on lähtö enemmän luettavissa muoti:
Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp0s3 1500 4520671 0 0 0 4779773 0 0 0 BMRU lo 65536 30175 0 0 0 30175 0 0 0 LRU
Tämä on, mitä sarakkeet tarkoittavat:
- Iface: nimi käyttöliittymä.
enp0s3
käyttöliittymä on verkon liitäntä ulkomaailmaan, jalo
käyttöliittymä on loopback liitäntä., Loopback-liitäntä mahdollistaa prosessit kommunikoivat keskenään sisällä tietokoneen verkkoprotokollia, vaikka tietokone ei ole yhteydessä verkkoon. - MTU: Maksimivaihteisto (MTU). Tämä on suurin ”paketti”, joka voidaan lähettää. Se koostuu otsakkeesta, joka sisältää reititys-ja protokollalippuja sekä muita metatietoja sekä tietoja, joita todellisuudessa kuljetetaan.
- RX-OK: vastaanotettujen pakettien määrä, ilman virheitä.
- RX-ERR: vastaanotettujen pakettien määrä virheineen. Haluamme, että tämä on mahdollisimman vähäistä.,
- RX-DRP: pakettien määrä laski (eli hävisi). Haluamme myös, että tämä on mahdollisimman vähäistä.
- RX-OVR: menetettyjen pakettien Lukumäärän vuoksi ylivuotoja, kun vastaanottava. Tämä tarkoittaa yleensä sitä, että vastaanottava puskuri oli täynnä eikä voinut hyväksyä enempää tietoja, mutta enemmän tietoja saatiin ja ne jouduttiin hävittämään. Mitä pienempi luku, sen parempi, ja nolla on täydellinen.
- TX-OK: lähetettyjen pakettien lukumäärä, ilman virheitä.
- RX-ERR: lähetettyjen pakettien määrä, jossa on virheitä. Haluamme tämän olevan nolla.,
- RX-DRP: lähetettäessä pakettien määrä laski. Ihannetapauksessa tämän pitäisi olla nolla.
- RX-OVR: määrä paketteja menetetty, koska ylivuodot toimittaessaan. Tämä tarkoittaa yleensä, lähetä puskuri oli täynnä, ja ei hyväksy mitään enemmän tietoja, mutta tiedot oli valmis toimitettava ja oli hävitettävä.
- Flg: Flags. Katso alla oleva lipputaulukko.
liput ovat seuraavat:
Listan Multicast-Ryhmän Jäsenyydet
Yksinkertaisesti sanottuna, multicast-lähetyksen avulla paketti lähetetään vain kerran, riippumatta määrä vastaanottajille., Esimerkiksi videoiden suoratoiston kaltaisissa palveluissa tämä lisää tehokkuutta lähettäjän näkökulmasta valtavasti.
-g
(ryhmät) – vaihtoehto tekee netstat
lista multicast-ryhmän jäsenyys pistorasiat kunkin käyttöliittymä.
sudo netstat -g
sarakkeet ovat melko yksinkertainen:
- Käyttöliittymä: nimi käyttöliittymän, jonka pistorasia on toiminnassa.
- RefCnt: viitemäärä, joka on pistorasiaan kiinnitettyjen prosessien lukumäärä.,
- ryhmä: monikastiryhmän nimi tai tunniste.
New Kids on The Block
reitti, ip, ifconfig, ja ss-komentoja voi antaa paljon, mitä netstat
pystyy näyttämällä. Ne ovat hienoja komentoja ja tarkistamisen arvoisia.
– Olemme keskittyneet netstat
koska se on yleisesti saatavilla, riippumatta siitä, mikä Unix-kaltainen käyttöjärjestelmä, olet työskennellyt, jopa hämärtää niitä.,
Dave McKay ensin käyttää tietokoneita, kun rei ’ itetty paperi nauha oli muodissa, ja hän on ollut ohjelmointi lähtien. Oltuaan yli 30 vuotta IT-alalla hän on nyt päätoiminen teknologiatoimittaja. Uransa aikana hän on työskennellyt freelance-ohjelmoija, johtaja kansainvälinen ohjelmisto development team, IT-palvelujen projektipäällikkö, ja, viime aikoina, kuten tietosuojavastaavan. Dave on Linux-evankelista ja avoimen lähdekoodin puolestapuhuja.Lue Koko Bio ”