netstat komandų naudojimas Linux

Sužinokite, kas yra „netstat“ komanda, ir keletą realiojo laiko pavyzdžių.


„netstat“ (tinklo statistika) yra komandų eilutės įrankis, rodantis tinklo ryšius (tiek gaunamus, tiek išeinančius), maršruto parodymo lenteles ir daugybę tinklo sąsajos statistinių duomenų.

Tai galima naudoti „Linux“, „Unix“ ir „Windows“ operacinėse sistemose. „netstat“ yra galingas ir gali būti patogus įrankis šalinant su tinklu susijusias problemas ir tikrinant ryšio statistiką.

Jei įvesite netstat -help, gausite šias naudojimo gaires.

[[apsaugotas el. paštu] ~] # netstat -help
naudojimas: netstat [-vWeenNcCF] [] -r netstat {-V | –versija | -h | –help}
„netstat“ [-vWnNcaeol] […]
„netstat“ {[-vWeenNac] -I [] | [-veenNac] -i | [-cnNe] -M | -ai [-6tuw]} [atidėlioti]

-r, – maršruto parinkimo lentelė
-I, – sąsajos = ekrano sąsajos lentelė
-i, – sąsajų lentelės sąsajos
-g, – grupės rodo daugialypių grupių narystę
-s, –statistika rodo tinklo statistiką (pvz., SNMP)
-M, – maskuoti ekranus, kuriuose užmaskuotos jungtys

-v, – žodžiu
-W, – nesiaurinkite IP adresų
-n, – skaitinis nesprendžia vardų
–Skaičių priegloba neišsprendžia prieglobos pavadinimų
–skaitmeniniai prievadai neišsprendžia prievadų pavadinimų
–skaitiniai vartotojai neišsprendžia vartotojų vardų
-N, – simboliniai aparatinės įrangos pavadinimai
-e, – išplėsti, rodyti kitą / daugiau informacijos
-p, –programose rodomas lizdų PID / programos pavadinimas
-o, – laikmačiai rodo laikmačius
-c, – nenutrūkstamas nuolatinis įtraukimas į sąrašą

-l, – atidaro ekrano klausymo serverio lizdus
-a, –vaizduoja visus lizdus (numatytasis: prijungtas)
-F, – pluošto ekranas Persiuntimo informacijos bazė (numatytoji)
-C, – talpyklos ekrano maršrutizacijos talpykla, o ne FIB
-Z, –kontekstinis ekranas rodo „SELinux“ lizdų saugos kontekstą

= {- t | –tcp} {-u | –udp} {-U | –udplite} {-S | –sctp} {-w | –raw}
{-x | –unix} –ax25 –ipx –netrom
= Naudokite ‘-6 | -4’ arba ‘-A’ arba ‘-‘; numatytasis: inet
Galimų adresų šeimų (kurios palaiko nukreipimą) sąrašas:
„inet“ („DARPA Internet“) „inet6“ (IPv6) „ax25“ (AMPR AX.25)
netrom („AMPR NET / ROM“) „ipx“ („Novell IPX“) ddp („Appletalk DDP“)
x25 (CCITT X.25)
[[apsaugotas el. paštu] ~] #

Leiskite parodyti jums keletą komandos pavyzdžių. „RHEL / CentOS“ yra išbandyti šie dalykai: nematau jokios priežasties nedirbti kitame distro, pavyzdžiui, „Ubuntu“.

Užmegztas ryšys

Jei ieškote visų nustatytų ryšių iš serverio.

[[apsaugotas el. paštu] ~] # netstat -natu | grep ‘ĮRENGTAS’
tcp 0 21 68.183.37.102:22 222.186.31.135:21714 ĮSTEIGTAS
tcp 0 36 68.183.37.102:22 52.148.155.182:49859 ĮSTEIGTAS
tcp 0 0 68.183.37.102:22 61.177.142.158:55481 ĮSTEIGTAS
[[apsaugotas el. paštu] ~] #

Jei užmezgėte ryšius ir norite ieškoti vieno iš IP, galite naudoti kitą greip.

[[apsaugotas el. paštu] ~] # netstat -natu | greip ‘ĮRENGTAS’ | grep 61.177.142.158
tcp 0 1280 68.183.37.102:22 61.177.142.158:33932 ĮSTEIGTAS
[[apsaugotas el. paštu] ~] #

Klausomasis ryšys

Tarkime, kad jau pradėjote kokią nors paslaugą, kuri turėtų būti klausoma tam tikru IP: Prievadas, tai bus patogu patvirtinti.

[[apsaugotas el. paštu] ~] # 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 ::: * KLAUSYKITE
tcp6 0 0 ::: 80 ::: * KLAUSYKITE
tcp6 0 0 ::: 22 ::: * KLAUSYKITE
[[apsaugotas el. paštu] ~] #

Arba galite naudoti argumentą -l, norėdami parodyti visus klausymo lizdus.

[[apsaugotas el. paštu] ~] # netstat -l
Aktyvus interneto ryšys (tik serveriai)
„Proto Recv-Q Send-Q“ vietinio adreso užsienio adresas
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 [::]: * KLAUSYKITE
tcp6 0 0 [::]: žiniatinklio talpykla [::]: * KLAUSYKLĖ
tcp6 0 0 [::]: ssh [::]: * KLAUSYKITE
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 [::]: *
Aktyvūs UNIX domeno lizdai (tik serveriai)
„Proto RefCnt“ vėliavų tipas, I tipo mazgo kelias
unix 2 [ACC] STREAM LISTENING 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] STREAM LISTENING 17542 public / pikapas
„unix 2“ [ACC] STREAM LISTENING 15165 /var/run/rpcbind.sock
„unix 2“ [ACC] STREAM LISTENING 17546 public / cleanup
unix 2 [ACC] STREAM LISTENING 15605 /var/lib/gssproxy/default.sock
unix 2 [ACC] STREAM LISTENING 12706 / run / systemd / private
unix 2 [ACC] STREAM LISTENering 17549 public / qmgr
unix 2 [ACC] STREAM LISTENering 17571 public / flush
unix 2 [ACC] STREAM LISTENING 17553 private / tlsmgr
unix 2 [ACC] STREAM LISTENering 17586 public / showq
unix 2 [ACC] STREAM LISTENING 17556 privati ​​/ perrašyti
unix 2 [ACC] STREAM LISTENING 17559 private / bounce
unix 2 [ACC] STREAM LISTENING 17562 private / atidėti
unix 2 [ACC] STREAM LISTENING 17565 privati ​​/ atsekama
unix 2 [ACC] STREAM LISTENING 17568 privati ​​/ patvirtinti
unix 2 [ACC] STREAM LISTENING 17574 private / proxymap
unix 2 [ACC] STREAM LISTENING 17577 private / proxywrite
„unix 2“ [ACC] SRAUTŲ KLAUSYMAS 17580 privatus / smtp
unix 2 [ACC] STREAM LISTENING 17583 private / relay
unix 2 [ACC] STREAM LISTENING 17589 privati ​​/ klaida
„unix 2“ [ACC] STREAM LISTENING 17592 private / retry
„unix 2“ [ACC] STREAM LISTENering 17595 private / discard
„unix 2“ [ACC] STREAM LISTENering 17598 private / local
unix 2 [ACC] STREAM LISTENING 17601 private / virtual
unix 2 [ACC] STREAM LISTENING 17604 private / lmtp
unix 2 [ACC] STREAM LISTENING 17607 private / anvil
unix 2 [ACC] STREAM LISTENING 17610 private / scache
„unix 2“ [ACC] STREAM LISTENING 15606 /run/gssproxy.sock
[[apsaugotas el. paštu] ~] #

Norėdami filtruoti rezultatus, pasinaudokite grep.

Prievado numeris, kurį naudoja PID

Jūs žinote, kad jūsų programa buvo paleista, ir žinote PID (proceso identifikatorių), bet nežinote, kokį prievado numerį ji naudoja. Žemiau pateiktas PID 3937 pavyzdys

[[apsaugotas el. paštu] ~] # netstat -anlp | grep 3937
tcp6 0 0 ::: 80 ::: * LISTEN 3937 / httpd
unix 3 [] STREAM CONNECTED 2442387 3937 / httpd
[[apsaugotas el. paštu] ~] #

Kaip matote, 80 prievadas naudojamas PID 3937.

Visų protokolų statistika

Ar dažnai atsijungiate dėl pakeisto paketo? -s argumentas parodys bendrą statistiką, kurioje galite atkreipti dėmesį į paketus, atmestus.

[[apsaugotas el. paštu] ~] # netstat -s
IP:
Gauta 731422 paketai
0 persiuntė
0 įeinančių paketų buvo išmesti
Pristatyti 731399 gaunami paketai
787732 išsiųstos užklausos
16 žmonių krito dėl trūkstamo maršruto
IPC:
Gauti 5277 ICMP pranešimai
Nepavyko įvesti 120 ICMP pranešimo.
„InCsumErrors“: 6
ICMP įvesties histograma:
nepasiekiama paskirties vieta: 193
tranzito laikas: 16
aidų prašymai: 5060
atsakymai į aidą: 2
Išsiųsti 9355 ICMP pranešimai
0 ICMP pranešimų nepavyko
ICMP išvesties histograma:
paskirties vieta nepasiekiama: 4295
echo atsakymai: 5060
IcmpMsg:
„InType0“: 2
„InType3“: 193 m
„InType8“: 5060
„InType11“: 16
„OutType0“: 5060
„OutType3“: 4295
TCP:
42 aktyvios jungčių angos
35226 pasyvių jungčių angos
1693 nepavyko prisijungti
Gautas 645 prisijungimas iš naujo
Užmegzti 2 ryšiai
Gauti 646705 segmentai
648037 segmentai išsiųsti
Perduoti 99463 segmentai
Gauti 27377 blogi segmentai.
Išsiųstas 150893 atstatymas
„InCsumErrors“: 27377
Udp:
Gautos 74547 pakeliai
Gauti 4814 paketai į nežinomą uostą.
56 paketų priėmimo klaidos
Išsiųsta 74584 pakelių
0 gauti buferio klaidų
0 siųsti buferio klaidas
„InCsumErrors“: 56
„UdpLite“:
TcpExt:
Gauti 177 netinkami SYN slapukai
Embrioniniams „SYN_RECV“ lizdams buvo gauta 1693 atstatymai
316 TCP lizdų pabaigos laikas laukia greitame laikmatyje
3 paketai atmetami nustatytuose ryšiuose dėl laiko žymos
Išsiųsti 70248 vėluojantys aklai
Dėl užrakinto lizdo dar vėluoja 6 aklai
Greitojo reagavimo režimas buvo įjungtas 3082 kartus
SYN į LISTEN lizdus sumažėjo
28179 pakeliai, tiesiogiai įrašyti į eilę, siekiant atkurti išankstinį užsakymą.
9802 baitai, tiesiogiai gaunami proceso kontekste iš prequek
Prognozuojamos 72106 paketų antraštės
94182 patvirtinimai, kuriuose nėra gauto duomenų krovinio
40094 numatė pripažinimus
332 kartus buvo atkurta po paketo praradimo atrankiniais patvirtinimais
„DSACK“ netruko paleisti 8 spūsčių langus
1173 spūsčių langai atsigavo be lėto užvedimo po dalinio ack
Atlikus SACK atkūrimą, buvo 1029 laiko skirtumai
8 nuostoliai dėl nuostolių
329 greitas retransliavimas
3 persiuntimai į priekį
32 retransliuoja lėtai
44785 kiti TCP terminai
TCPLossProbes: 9763
TCPLossProbeRecovery: 1732
54 SACK retransliuoti nepavyko
Išsiųsta 3144 DSACK už senus paketus
Siunčiami 4 DSACK paketai, kurių pakuotės nėra užsakytos
Gauti 695 DSACK
1 DSACK už gautus netinkamus paketus
Dėl netikėtų duomenų atkurtos 44 jungtys
76 ryšiai atkurti dėl ankstyvo vartotojo uždarymo
6079 jungtys nutrauktos dėl laiko
TCPDSACKIgnoredNoUndo: 448
TCPSpuriousRTO: 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
[[apsaugotas el. paštu] ~] #

Branduolio maršruto informacija

Turite maršruto parinkimo problemą? arba sujungimas neveikia taip, kaip tikėtasi, nes ryšys keliauja kitu maršrutu?

Greitai patikrinkite maršruto lentelę.

[[apsaugotas el. paštu] ~] # netstat -r
Branduolio IP maršrutizacijos lentelė
„Destination Gateway“ „Genmask“ vėliavos „MSS Window irtt Iface“
numatytasis šliuzas 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
[[apsaugotas el. paštu] ~] #

PID naudojamas prievado numeriu

Labai patogu pašalinti uosto konflikto problemą. Tarkime, kad jūs bandote paleisti „Apache“ arba „Nginx“ serverius, kurie klausosi 80 prievado, bet to negali padaryti, nes kai kurie kiti procesai jau naudoja 80 prievadą.

[[apsaugotas el. paštu] ~] # netstat -anlp | grep 80 | grep LISTEN
tcp6 0 0 ::: 80 ::: * LISTEN 3937 / httpd
[[apsaugotas el. paštu] ~] #

Ir, jūs galite pamatyti, PID 3937 naudoja tą prievadą.

Jei naudojate AIX, tada

netstat -Aan | grep $ portnumber

Tai rodys šešioliktainį Protokolo valdymo bloko adresą

Kai turėsite šešioliktainį, tada galėsite vykdyti žemiau, kad gautumėte procesą, kuriame yra uosto numeris.

rmsock $ address_of_pcb tcpcb

Tinklo sąsajų sąrašas

Turite kelias ethernet sąsajas? ar nesate tikri ir norite sužinoti?

[[apsaugotas el. paštu] ~] # netstat -i
Branduolio sąsajos lentelė
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
[[apsaugotas el. paštu] ~] #

Nuolatinis klausymasis

Puikus pasirinkimas, kai trikčių šalinimo tarnybos susiduria su problemomis, susijusiomis su avarijomis. Tarkime, kad programa atsitiktinai sugenda kas kelias minutes. Bet nežinote kada tiksliai. Galite naudoti argumentą -c, kuris nuolat rodys rezultatus.

[[apsaugotas el. paštu] ~] # netstat -anlpc | grep 8080
tcp6 0 0 ::: 8080 ::: * KLAUSYKITE 11766 / httpd
tcp6 0 0 ::: 8080 ::: * KLAUSYKITE 11766 / httpd
tcp6 0 0 ::: 8080 ::: * KLAUSYKITE 11766 / httpd
tcp6 0 0 ::: 8080 ::: * KLAUSYKITE 11766 / httpd

Kai jis nustoja atnaujinti, tada žinote, kad jis sudužo.

Išvada

„netstat“ yra viena iš „sysadmin“ plačiai naudojamų komandų ir tikiuosi, kad aukščiau pateikti pavyzdžiai suteiks jums supratimo, ką galite su ja padaryti. Jei norite sužinoti daugiau apie „Linux“ administravimą, tada patikrinkite tai Udemy kursas.

ŽENKLAI:

  • „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