Hogyan kell használni netstat Linux

  • Dave McKay

    @TheGurkha

  • február 17, 2020, 8:00am EDT
Fatmawati Achmad Zaenuri/

a Linux netstat parancs a hálózati kapcsolatokról, a használatban lévő portokról, valamint az azokat használó folyamatokról ad információt. Ismerje meg, hogyan kell használni.

portok, folyamatok és protokollok

hálózati aljzatok csatlakoztathatók vagy várhatók a kapcsolatra., A kapcsolatok olyan hálózati protokollokat használnak, mint a Transport Control Protocol (TCP) vagy a User Datagram Protocol UDP. Internetprotokoll-címeket és hálózati portokat használnak a kapcsolatok létrehozásához.

A Word sockets egy ólom vagy kábel fizikai csatlakozási pontjának képeit idézheti elő, de ebben az összefüggésben a socket egy olyan szoftverkonstrukció, amelyet a hálózati adatkapcsolat egyik végének kezelésére használnak.,

reklám

az aljzatoknak két fő állapota van: vagy csatlakoznak, vagy megkönnyítik a folyamatos hálózati kommunikációt, vagy várják, hogy bejövő kapcsolat csatlakozzon hozzájuk. Vannak más államok, mint például az állam, amikor egy csatlakozóaljzat a felénél létrehozó kapcsolat a távoli készüléken, de ha átmeneti államok félretéve, azt hiszem, socket, mint sem, hogy a csatlakoztatott vagy vár (ami gyakran nevezik figyel).

a hallgatóaljzatot szervernek hívják,a hallgatóaljzattal való kapcsolatot kérő aljzatot pedig kliensnek., Ezeknek a neveknek semmi köze a hardver vagy a számítógépes szerepekhez. Egyszerűen meghatározzák az egyes aljzatok szerepét a kapcsolat mindkét végén.

a netstat parancs segítségével felfedezheti, hogy mely aljzatok vannak csatlakoztatva, és mely aljzatok hallgatnak. Ami azt jelenti, hogy megmondja, mely portok vannak használatban, és mely folyamatok használják őket. Megmutatja az útválasztási táblázatokat és statisztikákat a hálózati interfészekről és a multicast kapcsolatokról.

anetstat funkcionalitását az idő múlásával különböző Linux segédprogramokban, például ip-ben és ss-ben replikálták., Még mindig érdemes tudni, hogy ez a granddaddy minden hálózati elemzés parancsok, mert elérhető az összes Linux és Unix-szerű operációs rendszerek, sőt a Windows és a Mac.

itt van, hogyan kell használni, kiegészítve például parancsokat.

az összes aljzat felsorolása

a -a (all) opció teszi a netstat az összes csatlakoztatott és várakozó aljzat megjelenítése. Ez a parancs hosszú listát állít elő, ezért a less – ba vezetjük.,

netstat -a | less
hirdetés

a lista tartalmazza a TCP (IP), TCP6 (IPv6), és UDP aljzatok.

a terminálablakban lévő körbefutás kissé megnehezíti, hogy megnézze, mi folyik itt. Itt van néhány szakasz a felsorolásból:

az” aktív Internet ” szakasz felsorolja a csatlakoztatott külső kapcsolatokat, valamint a távoli csatlakozási kérelmeket hallgató helyi aljzatokat. Ez azt jelenti, hogy felsorolja azokat a hálózati kapcsolatokat, amelyek (vagy lesznek) a külső eszközökhöz jönnek létre.,

reklám

a “UNIX domain” szakasz felsorolja a csatlakoztatott és hallgatott belső kapcsolatokat. Más szóval, felsorolja azokat a kapcsolatokat, amelyeket a számítógépén hoztak létre az operációs rendszer különböző alkalmazásai, folyamatai és elemei között.

az “aktív Internet” oszlopok a következők:

  • Proto: az aljzat által használt protokoll (például TCP vagy UDP).
  • Recv-Q: A vételi sor. Ezek bejövő bájtok, amelyeket megkaptak és puffereltek, arra várva, hogy a helyi folyamat, amely ezt a kapcsolatot használja, elolvassa és elfogyasztja őket.,
  • Send-Q: A küldési sor. Ez megmutatja azokat a bájtokat, amelyek készen állnak a küldési sorból történő elküldésre.
  • helyi cím: a kapcsolat helyi végének címe. Az alapértelmezett érték a netstat, hogy megjelenítse a cím Helyi gazdanevét, valamint a port szolgáltatásának nevét.
  • idegen cím: a kapcsolat távoli végének címe és portszáma.
  • állapot: a helyi aljzat állapota. Az UDP aljzatok esetében ez általában üres. Lásd az alábbi állami táblázatot.,

TCP kapcsolatok esetén az állapotérték a következők egyike lehet:

  • hallgassa: csak szerver oldali. Az aljzat csatlakozási kérelmet vár.
  • SYN-SENT: Client-side only. Ez az aljzat csatlakozási kérelmet nyújtott be, és várja, hogy elfogadják-e.
  • SYN-RECEIVED: Server-side only. Ez az aljzat a csatlakozási kérelem elfogadása után várja a kapcsolat nyugtázását.
  • alapítva: szerver és kliensek. A szerver és az ügyfél között működő kapcsolat jött létre, amely lehetővé teszi az adatok továbbítását a kettő között.,
  • FIN-WAIT-1: Server and clients. Ez az aljzat a távoli aljzatból érkező kapcsolat-megszakítási kérelmet, vagy a korábban ebből az aljzatból küldött kapcsolat-megszakítási kérelem nyugtázását várja.
  • FIN-WAIT-2: Server and clients. Ez az aljzat a távoli aljzatból várja a kapcsolat megszüntetésének kérését.
  • CLOSE-WAIT: Server and client. Ez az aljzat várja a kapcsolat megszüntetésének kérését a helyi felhasználótól.
  • Bezárás: szerver és kliensek., Ez az aljzat a távoli aljzatból várja a kapcsolat megszakítási kérésének nyugtázását.
  • LAST-ACK: Server and client. Ez az aljzat várja a távoli aljzatba küldött kapcsolatvégződési kérelem nyugtázását.
  • TIME-WAIT: Server and clients. Ez az aljzat nyugtázást küldött a távoli aljzatnak, hogy tudatja vele, hogy megkapta a távoli aljzat felmondási kérését. Most arra vár, hogy megbizonyosodjon arról, hogy nyugtázás érkezett.
  • zárt: nincs kapcsolat, így az aljzat megszűnt.,

a “Unix domain” oszlopok a következők:

  • Proto: a socket által használt protokoll. Ez lesz a ” unix.”
  • RefCnt: Reference count. Az aljzathoz csatlakoztatott csatolt folyamatok száma.
  • zászlók: ez általában ACC értékre van állítva , ami a SO_ACCEPTON értéket jelenti, ami azt jelenti, hogy az aljzat csatlakozási kérelmet vár. SO_WAITDATA, W, azt jelenti, hogy az adatok olvasásra várnak., SO_NOSPACE, N, azt jelenti, hogy nincs hely adatok írására az aljzatba (azaz a küldési puffer tele van).
  • típus: az aljzat típusa. Lásd az alábbi típustáblát.
  • állapot: az aljzat állapota. Lásd az alábbi állami táblázatot.
  • i-Node: a fájlrendszer inode ehhez a foglalathoz.
  • elérési út: a fájlrendszer elérési útja az aljzathoz.

a Unix domain socket típus a következők egyike lehet:

  • dgram: az aljzatot datagram módban használják, rögzített hosszúságú üzenetek segítségével., Az adatok nem garantálják, hogy megbízhatóak, szekvenáltak, sem nem másolhatók.
  • patak: ez az aljzat egy stream aljzat. Ez a szokásos” normál ” típusú aljzat-kapcsolat. Ezeket az aljzatokat úgy tervezték, hogy megbízható szekvenált (sorrendben) csomagokat szállítsanak.
  • RAW: ezt az aljzatot nyers aljzatként használják. A Raw aljzatok az OSI modell hálózati szintjén működnek, nem hivatkoznak TCP és UDP fejlécekre a szállítási szintről.
  • RDM: ez az aljzat a megbízhatóan szállított üzenetek kapcsolat egyik végén található.,
  • SEQPACKET: ez az aljzat szekvenciális csomag foglalatként működik, ami egy másik eszköz a megbízható, szekvenált, és unduplikált csomagküldés biztosításához.
  • csomag: Raw interface access socket. A csomagcsatlakozókat raw csomagok fogadására vagy küldésére használják az OSI modell eszközillesztőjének (azaz adatkapcsolati rétegnek) szintjén.

a Unix tartomány socket állapota a következők egyike lehet:

  • ingyenes: Ez az aljzat nem osztott.
  • hallgatás: ez az aljzat bejövő csatlakozási kérelmeket hallgat.,
  • csatlakozás: ez az aljzat a csatlakozás folyamatában van.
  • CONNECTED: kapcsolat jött létre, a socket képes adatokat fogadni és továbbítani.
  • leválasztás: a kapcsolat megszakítása folyamatban van.
reklám

Wow, ez egy csomó információ! A netstat opciók közül sokan úgy vagy úgy finomítják az eredményeket, de nem változtatják meg túl sokat a tartalmat. Nézzük meg.,

az aljzatok felsorolása típus szerint

a netstat -a parancs több információt nyújthat, mint amennyit látnia kell. Ha csak a TCP-aljzatokat szeretné vagy kell látnia, akkor a -t (TCP) opcióval korlátozhatja a kijelzőt csak a TCP-aljzatok megjelenítésére.

netstat -at | less

a kijelző ki jelentősen csökken. A felsorolt néhány aljzat mind TCP aljzatok.,

a-u (UDP) és-x (UNIX) opciók hasonló módon viselkednek, korlátozva az eredményeket a parancssorban megadott aljzat típusára. Itt van a használatban lévő-u (UDP) opció:

netstat -au | less

csak UDP aljzatok vannak felsorolva.

az aljzatok felsorolása állapot szerint

a hallgatási vagy várakozási állapotban lévő aljzatok megtekintéséhez használja a -l (hallgatás) opciót.

netstat -l | less
reklám

a felsorolt aljzatok azok, amelyek hallgatási állapotban vannak.,

Ez kombinálható a-T (TCP, -u (UDP) és-X (UNIX) opciókkal, hogy további otthont adjon az érdeklődő aljzatoknak. Nézzük meg a TCP-aljzatok hallgatását:

netstat -lt | less

most csak TCP-hallgatóaljzatokat látunk.

hálózati statisztikák protokoll szerint

netstat -st | less
hirdetés

a TCP kapcsolatokra vonatkozó statisztikák gyűjteménye a lessalatt jelenik meg.

Folyamatnevek és PID-ek megjelenítése

hasznos lehet A folyamat folyamatazonosítóját (PID) egy aljzat segítségével, az adott folyamat nevével együtt látni., A -p (program) opció éppen ezt teszi. Lássuk, mi a PID-ek és a folyamatnevek a hallgatási állapotban lévő TCP-aljzatot használó folyamatokhoz. A sudo – ot használjuk annak biztosítására, hogy megkapjuk az összes rendelkezésre álló információt, beleértve minden olyan információt, amely általában root engedélyeket igényel.

sudo netstat -p -at

itt van, hogy a kimenet egy formázott táblázatban:

van egy extra oszlop neve ” PID/program neve.”Ez az oszlop felsorolja a folyamat PID-jét és nevét az egyes aljzatok használatával.,

numerikus címek felsorolása

egy másik lépés, amit megtehetünk, hogy eltávolítsunk néhány kétértelműséget, az, hogy a helyi és távoli címeket IP-címekként jelenítjük meg a megoldott domain és hostnames helyett. Ha a -n (numerikus) opciót használjuk, az IPv4 címek pontozott decimális formátumban jelennek meg:

sudo netstat -an | less
hirdetés

az IP-címek numerikus értékként jelennek meg. A portszámok is megjelennek, az IP-címről ” : ” kettősponttal elválasztva.

127.0.0 IP-cím.,Az 1 azt mutatja, hogy az aljzat a helyi számítógép visszacsatolási címéhez van kötve. A 0.0.0.0-s IP-címet úgy tekintheti meg, mint a helyi címek “alapértelmezett útvonalát”, a külföldi címek “bármely IP-címét”. Az “:: ” IPv6 címek szintén nulla címek.

a felsorolt portok könnyen ellenőrizhetők, hogy megnézzék, mi a szokásos céljuk:

  • 22: Ez a Secure Shell (SSH) hallgatási port.
  • 25: Ez a Simple Mail Transfer Protocol (SMTP) hallgatási port.
  • 53: Ez a Domain Name System (DNS) hallgatási port.,
  • 68: ez a Dynamic Host Configuration Protocol (DHCP)hallgatási port.
  • 631: ez a közös UNIX nyomtatási rendszer (CUPS) hallgat port.

kapcsolódó: mi a különbség a 127.0.0.1 és a 0.0.0.0 között?

A

útválasztási táblázat megjelenítése a -r (útvonal) opció megjeleníti a kernel útválasztási tábláját.,

sudo netstat -r

itt van ez a kimenet egy ügyes táblázatban:

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

és itt van, amit az oszlopok jelentenek:

  • rendeltetési hely: a célhálózat vagy célállomás-eszköz (ha a rendeltetési hely nem Hálózat).
  • átjáró: az átjáró címe. Itt egy “*” csillag jelenik meg, ha az átjáró címe nincs beállítva.
  • Genmask: az útvonal alhálózati maszkja.
  • zászlók: lásd a zászlók táblázatot, lent.,
  • MSS: alapértelmezett maximális Szegmensméret a TCP kapcsolatokhoz ezen az útvonalon-ez a legnagyobb mennyiségű adat, amely egy TCP szegmensben fogadható.
  • ablak: a TCP-kapcsolatok alapértelmezett ablakmérete ezen az útvonalon, jelezve az átvihető és fogadható csomagok számát, mielőtt a fogadó puffer megtelne. A gyakorlatban a csomagokat a fogadó alkalmazás fogyasztja.
  • irtt: a kezdeti oda-vissza utazás ideje. Ezt az értéket a kernel hivatkozik arra, hogy dinamikus módosításokat hajtson végre a TCP paraméterekben olyan távoli kapcsolatok esetén, amelyek lassan reagálnak.,
  • Ipace: a hálózati interfész, amelyről az ezen az útvonalon küldött csomagokat továbbítják.

a zászlók értéke lehet:

  • U: az útvonal felfelé van.
  • H: A cél egy állomás, ezen az útvonalon az egyetlen lehetséges úticél.
  • G: használja az átjárót.
  • R: állítsa vissza az útvonalat a dinamikus útvonalhoz.
  • D: A routing démon által dinamikusan telepített.
  • M: az útválasztási démon módosította, amikor Internet Control Message Protocol (ICMP) csomagot kapott.,
  • a: Installed by addrconf, the automated DNS and DHCP config file generator.
  • C: Cache bejegyzés.
  • !: Utasítsa el az útvonalat.

egy folyamat által használt Port megkeresése

Ha a netstat kimenetét a grep – n keresztül vezetjük, név szerint kereshetünk egy folyamatot, és azonosíthatjuk a portot, amelyet használ. A-a (all),-n (numerikus) és-p (program) opciókat használjuk, és keressük az “sshd” – t.,”

sudo netstat -anp | grep "sshd"

grepmegtalálja a célláncot, és látjuk, hogy a sshd daemon a 22-es portot használja.

természetesen ezt fordítva is megtehetjük. Ha a “:22” – t keressük, megtudjuk, melyik folyamat használja ezt a portot, ha van ilyen.

sudo netstat -anp | grep ":22"

ezúttal grep megtalálja a “:22” célláncot, és látjuk, hogy a portot használó folyamat a sshd daemon, process ID 751.,

sorolja fel a hálózati interfészeket

a -i(interfészek) opció megjeleníti a netstat hálózati interfészek tábláját.

sudo netstat -i

itt olvasható a kimenet olvashatóbb módon:

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

Ez az, amit az oszlopok jelentenek:

  • Iface: az interfész neve. Aenp0s3 interfész a külső világ hálózati interfésze, a interfész pedig a visszacsatolási interfész., A loopback felület lehetővé teszi a folyamatok kommunikációját a számítógépen hálózati protokollok segítségével, még akkor is, ha a számítógép nincs csatlakoztatva a hálózathoz.
  • MTU: a maximális átviteli egység (MTU). Ez a legnagyobb” csomag”, amelyet el lehet küldeni. Ez egy fejlécből áll, amely útválasztási és protokolljeleket, valamint más metaadatokat tartalmaz, valamint a ténylegesen szállított adatokat.
  • RX-OK: a beérkezett csomagok száma, hibák nélkül.
  • RX-ERR: a beérkezett csomagok száma, hibákkal. Azt akarjuk, hogy ez a lehető legalacsonyabb legyen.,
  • RX-DRP: a csomagok száma csökkent (azaz Elveszett). Azt is szeretnénk, hogy ez a lehető legalacsonyabb legyen.
  • RX-OVR: a túlcsordulások miatt elveszett csomagok száma fogadáskor. Ez általában azt jelenti, hogy a fogadó puffer tele volt, és nem tudott több adatot elfogadni, de több adat érkezett, és el kellett dobni. Minél alacsonyabb ez a szám, annál jobb, a nulla pedig tökéletes.
  • TX-OK: a továbbított csomagok száma, hibák nélkül.
  • RX-ERR: a továbbított csomagok száma, hibákkal. Azt akarjuk, hogy ez nulla legyen.,
  • RX-DRP: a csomagok száma csökkent az átvitel során. Ideális esetben ennek nullának kell lennie.
  • RX-OVR:az átviteli túlcsordulások miatt elveszett csomagok száma. Ez általában azt jelenti, hogy a küldési puffer tele volt, és nem tudott több adatot elfogadni, de több adat készen állt a továbbításra, ezért el kellett dobni.
  • Flg: Flags. Lásd a zászlók alábbi táblázatot.

a zászlók a következőket képviselik:

list Multicast Group Memberships

egyszerűen fogalmazva, a multicast átvitel lehetővé teszi egy csomag küldését csak egyszer, függetlenül a címzettek számától., Például olyan szolgáltatások esetében, mint például a video streaming, ez óriási mértékben növeli a feladó szempontjából a hatékonyságot.

reklám

a -g (csoportok) opció teszi netstat felsorolja a multicast csoport tagságát aljzatok minden felületen.

sudo netstat -g

az oszlopok meglehetősen egyszerűek:

  • interfész: annak a felületnek a neve, amelyen az aljzat továbbít.
  • RefCnt: a referenciaszám, amely az aljzathoz csatlakoztatott folyamatok száma.,
  • csoport: a multicast csoport neve vagy azonosítója.

az új gyerekek a blokk

az útvonal, ip, ifconfig, ss parancsok nyújthat egy csomó, amit netstat képes megmutatni. Mindegyik nagyszerű parancs, és érdemes megnézni.

a netstat – ra koncentráltunk, mert általánosan elérhető, függetlenül attól, hogy melyik Unix-szerű operációs rendszeren dolgozik, még a homályosak is.,

Dave McKay
Dave McKay először használt számítógépet, amikor a papírszalag divatos volt, és azóta is programozik. Több mint 30 év után az informatikai iparban, most teljes munkaidős technológiai újságíró. Karrierje során szabadúszó programozóként, egy nemzetközi szoftverfejlesztő csapat menedzsereként, informatikai szolgáltatási projektmenedzserként, legutóbb pedig Adatvédelmi tisztviselőként dolgozott. Dave egy Linux evangélista és nyílt forráskódú szószólója.Olvassa el a teljes Bio ”

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Tovább az eszköztárra