netstat parancshasználat Linuxon

Tudja meg, mi a netstat parancs és néhány valós idejű példa.


A netstat (hálózati statisztika) egy olyan parancssori eszköz, amely megjeleníti a hálózati kapcsolatokat (mind a bejövő, mind a kimenő), az útválasztási táblákat és a hálózati interfész számos statisztikáját.

Ez elérhető Linux, Unix-szerű és Windows operációs rendszereken. A netstat nagy teljesítményű, és praktikus eszköz lehet a hálózattal kapcsolatos problémák elhárításához és a csatlakozási statisztikák ellenőrzéséhez.

A netstat -help beírásával a következő használati útmutatásokat fogja kapni.

[[Email protected] ~] # netstat -help
használat: netstat [-vWeenNcCF] [] -r netstat {-V | –verzió | -h | –help}
netstat [-vWnNcaeol] […]
netstat {[-vWeenNac] -I [] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw]} [késés]

-r, – útvonal kijelző útválasztási táblája
-I, – interfészek = megjelenítő felülettáblázat a
-i, – interfészek megjelenítő interfész táblázat
-g, –groups a multicast csoporttagságokat jeleníti meg
-s, –statisztika megjeleníti a hálózati statisztikákat (mint például az SNMP)
-M, –masquerade ábrázolt kapcsolatokat jelenít meg

-v, –verbose legyen szóbeli
-W, – az egész országban ne csonkolja le az IP-címeket
-n, –szám nem oldja meg a neveket
–a numerikus gazdagépek nem oldják meg a gazdaneveket
–A numerikus portok nem oldják meg a portneveket
–a numerikus felhasználók nem oldják meg a felhasználóneveket
-N, – szimbolikus megoldás hardvernevek
-e, –extend megjelenít további / további információkat
-p, –programs megjeleníti az aljzatok PID / programnevét
-o, – időzítők mutatják az időzítőket
-c, – folyamatos, folyamatos tőzsdei jegyzés

-l, – megjelenítő figyelő kiszolgáló-aljzatok kihelyezése
-a, –a összes aljzat megjelenítése (alapértelmezett: csatlakoztatva)
-F, –fib display Forwarding Information Base (alapértelmezett)
-C, – gyorsítótár az útválasztó gyorsítótárat az FIB helyett
-Z, –kontextus megjeleníti a SELinux biztonsági környezetét a foglalatok számára

= {- t | –tcp} {-u | –udp} {-U | –udplite} {-S | –sctp} {-w | –raw}
{-x | –unix} –ax25 –ipx –netrom
= Használjon ‘-6 | -4’ vagy ‘-A’ vagy ‘-‘; alapértelmezett: inet
A lehetséges címcsaládok listája (amelyek támogatják az útválasztást):
inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET / ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)
[[Email protected] ~] #

Hadd mutassam meg a parancs néhány példáját. Az alábbiak tesztelésre kerülnek az RHEL / CentOS rendszeren, de nem látom okát, hogy ne dolgozzanak egy másik disztróban, például az Ubuntu.

Létrejött kapcsolat

Ha az összes létrehozott kapcsolatot a kiszolgálón keresi.

[[Email protected] ~] # netstat -natu | grep ‘Létrehozva’
tcp 0 21 68.183.37.102:22 222.186.31.135:21714 MEGHATÁROZOTT
tcp 0 36 68.183.37.102:22 52.148.155.182:49859 LÉTREHOZOTT
tcp 0 0 68.183.37.102:22 61.177.142.158:55481 LÉTREHOZOTT
[[Email protected] ~] #

Ha sok kapcsolatot létesített és szeretne valamelyik IP-t keresni, akkor használhat másik grep-t.

[[Email protected] ~] # netstat -natu | grep ‘Létrehozva’ | grep 61.177.142.158
tcp 0 1280 68.183.37.102:22 61.177.142.158:33932 LÉTELT
[[Email protected] ~] #

Hallgatási kapcsolat

Tegyük fel, hogy elindított valamilyen szolgáltatást, és ezt egy adott IP-n kellene hallgatnia: Porton keresztül, ezt hasznos lehet ellenőrizni.

[[Email protected] ~] # netstat -an | grep ‘LISTEN’
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 ::: 111 ::: * LISTEN
tcp6 0 0 ::: 80 ::: * LISTEN
tcp6 0 0 ::: 22 ::: * LISTEN
[[Email protected] ~] #

Vagy használhatja az -l argumentumot az összes figyelő aljzat megjelenítéséhez.

[[Email protected] ~] # netstat -l
Aktív internetkapcsolatok (csak szerverek)
Proto Recv-Q Send-Q helyi cím idegen ország címe
tcp 0 0 localhost: smtp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0::sunrpc 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]: sunrpc [::]: * LISTEN
tcp6 0 0 [::]: webcache [::]: * LISTEN
tcp6 0 0 [::]: ssh [::]: * LISTEN
udp 0 0 0.0.0.0:805 0.0.0.0:*
udp 0 0 0.0.0.0::sunrpc 0.0.0.0:*
udp 0 0 localhost: 323 0.0.0.0:*
udp6 0 0 [::]: 805 [::]: *
udp6 0 0 [::]: sunrpc [::]: *
udp6 0 0 ip6-localhost: 323 [::]: *
Aktív UNIX domain aljzatok (csak szerverek)
Proto RefCnt zászlók, Type I-Node elérési út
unix 2 [ACC] Rádióhallgatás 15108 / run / dbus / system_bus_socket
unix 2 [ACC] STREAM LISTENING 8202 / run / systemd / journal / stdout
unix 2 [ACC] SEQPACKET LISTENING 12813 / run / udev / control
unix 2 [ACC] Rádióhallgatás 17542 nyilvános / pickup
unix 2 [ACC] STREAM LISTENING 15165 /var/run/rpcbind.sock
unix 2 [ACC] Rádióhallgatás 17546 nyilvános / takarítás
unix 2 [ACC] Rádióhallgatás 15605 /var/lib/gssproxy/default.sock
unix 2 [ACC] STREAM LISTENING 12706 / run / systemd / private
unix 2 [ACC] 17549 közönség hallgatása / qmgr
unix 2 [ACC] 17571 közönség által hallgatott folyam
unix 2 [ACC] STREAM LISTENING 17553 private / tlsmgr
unix 2 [ACC] 17586 nyilvános / showq
unix 2 [ACC] STREAM LISTENING 17556 private / rewrite
unix 2 [ACC] CSATLAKOZÁS 17559 magán / visszapattanás
unix 2 [ACC] Rádióhallgatás 17562 magán / halasztás
unix 2 [ACC] 17565-BE KÖRNYÍTŐ RENDSZER privát / nyomkövetési
unix 2 [ACC] 17568-os KÖRNYEZETT RENDSZER privát / ellenőrizze
unix 2 [ACC] Rádióhallgatás 17574 privát / proxymap
unix 2 [ACC] Rádióhallgatás 17577 privát / proxywrite
unix 2 [ACC] 17580 magán / smt
unix 2 1753 magán / relé [ACC] Rádióhallgatás
unix 2 [ACC] 17589-BE KÖRNYEZETT RENDSZERKEZELÉS privát / hiba
unix 2 [ACC] 17592-es KÖRNYEZETT RENDSZER – privát / próbálkozzon újra
unix 2 [ACC] KÉRDÉS 17595 magán / dobja el
unix 2 [ACC] 17598 privát / helyi hallgatás
unix 2 [ACC] Rádióhallgatás 17601 privát / virtuális
unix 2 [ACC] Rádióhallgatás 17604 magán / lmtp
unix 2 [ACC] Rádióhallgatás 17607 magán / üllő
unix 2 [ACC] STREAM LISTENING 17610 private / scache
unix 2 [ACC] STREAM LISTENING 15606 /run/gssproxy.sock
[[Email protected] ~] #

Használja ki a grep előnyeit az eredmények kiszűréséhez.

A PID által használt portszám

Tudja, hogy az alkalmazás elindult, és tisztában van a PID-vel (Process Identifier), de nem biztos abban, hogy milyen portszámot használ. Az alábbiakban bemutatjuk a PID 3937-et

[[Email protected] ~] # netstat -anlp | grep 3937
tcp6 0 0 ::: 80 ::: * LISTEN 3937 / httpd
unix 3 [] CSATLAKOZTATOTT GÁZ 2442387 3937 / httpd
[[Email protected] ~] #

Mint láthatja, a 80-as portot a PID 3937-hez használják.

Minden protokoll statisztika

Gyakori bontás történik a csomag eldobása miatt? -s argumentum megmutatja az általános statisztikákat, ahol figyelni lehet a csomagok eldobott üzeneteire.

[[Email protected] ~] # netstat -s
ip:
Összesen 731422 csomag érkezett
0 továbbított
0 bejövő csomag eldobva
731399 beérkező csomag szállítva
787732 kérés elküldve
16 ember esett hiányzó útvonal miatt
ICMP:
5277 ICMP üzenet érkezett
A 120 bemeneti ICMP üzenet sikertelen.
InCsumErrors: 6
ICMP bemeneti hisztogram:
rendeltetési hely elérhetetlen: 193
időkorlát tranzitban: 16
visszhang kérések: 5060
echo válaszok: 2
9355 ICMP üzenet elküldve
0 Az ICMP üzenetek nem sikerültek
Az ICMP kimeneti hisztogramja:
rendeltetési hely elérhetetlen: 4295
echo válaszok: 5060
IcmpMsg:
InType0: 2
InType3: 193
InType8: 5060
InType11: 16
OutType0: 5060
OutType3: 4295
TCP:
42 aktív csatlakozási nyílás
35226 passzív csatlakozási nyílások
1693 sikertelen csatlakozási kísérlet
A 645 kapcsolat visszaállítja a fogadást
2 kapcsolat létrejött
646705 szegmens érkezett
648037 szegmens küld ki
99463 szegmens továbbadása
27377 rossz szegmens érkezett.
150893 visszaállított küldés
InCsumErrors: 27377
udp:
74547 csomag érkezett
4814 csomag érkezett az ismeretlen porthoz.
56 csomag fogadási hiba
74584 csomag elküldve
0 pufferhibákat kap
0 pufferhiba küldése
InCsumErrors: 56
UDPlite:
TcpExt:
177 érvénytelen SYN süti érkezett
Az embrionális SYN_RECV foglalatokhoz 1693 visszaállítást kapott
A 316 TCP-aljzat készenléti ideje várjon gyors időzítővel
3 csomag elutasítja a létrehozott kapcsolatokban az időbélyeg miatt
70248 késleltetett érkezés elküldve
A késleltetett 6 akkék tovább késleltetve vannak a reteszelt foglalat miatt
A Quick Ack módot 3082 alkalommal aktiválták
17 SYN a LISTEN aljzatokra esett
28179 csomag közvetlenül a sorba áll az újjáépítés előtti sorba.
9802 bájt közvetlenül fogadott a folyamat összefüggésében az előcsomagból
72106 csomag fejléc előrejelzése
94182 nyugtázás, amely nem tartalmazza a beérkezett adatterhelést
40094 jósolt elismerésekkel
332-szer helyreállt a csomagvesztésből szelektív nyugtázással
8 torlódási ablak helyreállt a DSACK lassú indulása nélkül
1173 torlódási ablaka lassú indítás nélkül helyreállt részleges rés után
1029 időtúllépés a SACK helyreállítása után
8 időtúllépés veszteség állapotban
329 gyors újraküldés
3 előre küldés
32 lassan indul
44785 egyéb TCP időtúllépés
TCPLossProbes: 9763
TCPLossProbeRecovery: 1732
54 A SACK újraküldés sikertelen
3144 DSACK küldött régi csomagokért
4 DSACK-t küldtek el rendelés nélküli csomagokért
695 DSACK érkezett
1 DSACK csomag rendelés nélküli csomagok fogadására
A váratlan adatok miatt a 44 kapcsolat visszaáll
76 kapcsolat visszaállítása a felhasználó korai bezárása miatt
6079 kapcsolat megszakadt az időtúllépés miatt
TCPDSACKIgnoredNoUndo: 448
TCPSpuriousRTO-k: 5
TCPSackShiftFallback: 465
IPReversePathFilter: 11
TCPRcvCoalesce: 32369
TCPOFOQueue: 4313
TCPOFOMerge: 4
TCPChallengeACK: 2
TCPSynRetrans: 43670
TCPOrigDataSent: 208010
TCPACKSkippedSeq: 12
IpExt:
InNoRoutes: 12
InOctets: 133789295
OutOctets: 151093769
InNoECTPkts: 731338
InECT1Pkts: 3
InECT0Pkts: 1568
InCEPkts: 108
[[Email protected] ~] #

Kernel útválasztási információk

Van útválasztási kérdése? vagy a kapcsolat nem működik a várt módon, mivel a kapcsolat egy másik útvonalon halad át?

Gyorsan ellenőrizze a routing táblát.

[[Email protected] ~] # netstat -r
Kernel IP routing tábla
A Destination Gateway Genmask zászlói MSS Window irtt Iface
alapértelmezett átjáró 0.0.0.0 UG 0 0 0 eth0
10.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
68.183.32.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 eth0
[[Email protected] ~] #

A portszám által használt PID

Nagyon praktikus a portok ütközésével kapcsolatos problémák elhárításához. Tegyük fel, hogy megpróbálja elindítani az Apache vagy az Nginx szervert, amely meghallgatja a 80-as portot, de nem azért, mert egy másik folyamat már használja a 80-as portot.

[[Email protected] ~] # netstat -anlp | grep 80 | grep LISTEN
tcp6 0 0 ::: 80 ::: * LISTEN 3937 / httpd
[[Email protected] ~] #

És láthatja, hogy a PID 3937 ezt a portot használja.

Ha AIX-ot használ, akkor

netstat -Aan | grep $ portnumber

Ez megjeleníti a Protokoll vezérlőblokk címét hexadecimálisan

Ha egyszer van hexadecimális, akkor végre tudja hajtani az alábbiakban, hogy megkapja, melyik folyamat portszámot tart.

rmsock $ address_of_pcb tcpcb

A hálózati interfészek felsorolása

Több ethernet interfész van? vagy nem biztos benne, és szeretné megtudni?

[[Email protected] ~] # netstat -i
Kernel interfész táblázat
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 793026 0 0 0 849443 0 0 0 BMRU
lo 65536 6 0 0 0 6 0 0 0 LRU
[[Email protected] ~] #

Folyamatos hallgatás

Kiváló lehetőség, ha a szolgáltatások hibaelhárításával összeomlik a problémák. Tegyük fel, hogy egy alkalmazás néhány percenként véletlenszerűen összeomlik. De nem tudom pontosan mikor. Használhatja a -c argumentumot, amely folyamatosan mutatja az eredményeket.

[[Email protected] ~] # netstat -anlpc | grep 8080
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd

Amikor leállítja a frissítést, akkor tudja, hogy összeomlott.

Következtetés

A netstat a sysadmin általánosan használt parancsok, és remélem, hogy a fenti példák ötletet adnak arról, hogy mit lehet ezzel csinálni. Ha többet szeretne megtudni a Linux adminisztrációjáról, akkor nézd meg ezt Udemy tanfolyam.

CÍMKÉK:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map