Com utilitzar netstat a Linux

El Linux netstat La comanda us proporciona informació sobre les vostres connexions de xarxa, els ports que s’utilitzen i els processos que les utilitzen. Apreneu a utilitzar-lo.

Ports, processos i protocols

Les preses de xarxa es poden connectar o esperar una connexió. Les connexions utilitzen protocols de xarxa com Transport Control Protocol (TCP) o User Datagram Protocol UDP. Utilitzen adreces de protocol d’Internet i ports de xarxa per establir connexions.

La paraula endolls pot evocar imatges d’un punt de connexió física per a un cable o un cable, però en aquest context, un sòcol és una construcció de programari que s’utilitza per gestionar un extrem d’una connexió de dades de xarxa.

Els sòcols tenen dos estats principals: són els dos connectat i facilitar una comunicació de xarxa contínua, o ho són esperant perquè una connexió entrant hi connecti. Hi ha altres estats, com ara l'estat en què un sòcol està a mitja distància per establir una connexió en un dispositiu remot, però deixant de banda els estats transitoris, es pot pensar que un sòcol està connectat o està esperant (que sovint es diu escoltant).

El sòcol d'escolta s'anomena servidor, i el sòcol que sol·licita una connexió amb el sòcol d'escolta s'anomena a client. Aquests noms no tenen res a veure amb els rols de maquinari o d’ordinador. Simplement defineixen el paper de cada sòcol a cada extrem de la connexió.

El netstat La comanda us permet descobrir quins sòcols estan connectats i quins sòcols estan escoltant. És a dir, us indica quins ports s’utilitzen i quins processos els utilitzen. Us pot mostrar taules d’encaminament i estadístiques sobre les vostres interfícies de xarxa i connexions multidifusió.

La funcionalitat de netstat s'ha reproduït al llarg del temps en diferents utilitats Linux, com ara ip i ss. Encara val la pena conèixer aquest avi de totes les ordres d’anàlisi de xarxa, perquè està disponible a tots els sistemes operatius similars a Linux i Unix, i fins i tot a Windows i Mac.

A continuació s’explica com utilitzar-lo, amb exemples d’ordres.

Llistat de tots els endolls

El -a (totes) opcions marca netstat mostra tots els endolls connectats i d’espera. Aquesta ordre és susceptible de produir una llista llarga, de manera que la introduïm en menys.

netstat -a | menys

El llistat inclou sockets TCP (IP), TCP6 (IPv6) i UDP.

L’embolcall de la finestra del terminal fa que sigui una mica difícil veure què passa. Aquí teniu un parell de seccions d’aquest llistat:

Connexions d'Internet actives (servidors establerts) Proto Recv-Q Send-Q Adreça local Adreça estrangera Estat tcp 0 0 localhost: domini 0.0.0.0:* ESCOLTA tcp 0 0 0.0.0.0:ssh 0.0.0.0:* ESCOLTA tcp 0 0 localhost : ipp 0.0.0.0:* ESCOLTA tcp 0 0 localhost: smtp 0.0.0.0:* ESCOLTA tcp6 0 0 [::]: ssh [::]: * ESCOLTA tcp6 0 0 ip6-localhost: ipp [::]: * ESCOLTA. . . Sockets de domini actius UNIX (servidors i establerts) Proto RefCnt Senyaladors Tipus Estat I-Node Camí unix 24 [] DGRAM 12831 / run / systemd / journal / dev-log unix 2 [ACC] ESCOLTA DE CURS 24747 @ / tmp / dbus-zH6clYmvw8 unix 2 [] DGRAM 26372 / run / user / 1000 / systemd / notification unix 2 [] DGRAM 23382 / run / user / 121 / systemd / notification unix 2 [ACC] SEQPACKET LISTENING 12839 / run / udev / control

A la secció "Internet actiu" es mostren les connexions externes connectades i els sockets locals que escolten les sol·licituds de connexió remota. És a dir, llista les connexions de xarxa que s’estableixen (o s’establiran) a dispositius externs.

La secció "Domini UNIX" llista les connexions internes connectades i escoltades. Dit d’una altra manera, enumera les connexions establertes a l’ordinador entre diferents aplicacions, processos i elements del sistema operatiu.

Les columnes "Internet actiu" són:

  • Proto: El protocol utilitzat per aquest sòcol (per exemple, TCP o UDP).
  • Recv-Q: La cua de recepció. Es tracta de bytes entrants que s’han rebut i estan emmagatzemats a la memòria intermèdia, esperant que el procés local que utilitza aquesta connexió els llegeixi i consumeixi.
  • Envia-Q: La cua d’enviament. Mostra els bytes que estan preparats per enviar-se des de la cua d’enviament.
  • Adreça local: Detalls de l'adreça del final local de la connexió. El valor per defecte és per a netstat per mostrar el nom d'amfitrió local per a l'adreça i el nom del servei per al port.
  • Adreça estrangera: L'adreça i el número de port de l'extrem remot de la connexió.
  • Estat: L'estat del sòcol local. Per als sòcols UDP, això sol estar en blanc. Vegeu el estat taula, a sota.

Per a les connexions TCP, el fitxer estat el valor pot ser un dels següents:

  • ESCOLTA: Només al servidor. El sòcol espera una sol·licitud de connexió.
  • SYN-SENT: Només al costat del client. Aquest sòcol ha fet una sol·licitud de connexió i està a l’espera de si s’acceptarà.
  • SYN-REBUT: Només al servidor. Aquest sòcol espera un confirmació de connexió després d’acceptar una sol·licitud de connexió.
  • ESTABLIT: Servidor i clients. S'ha establert una connexió de treball entre el servidor i el client, que permet la transferència de dades entre els dos.
  • FIN-WAIT-1: Servidor i clients. Aquest sòcol està esperant una sol·licitud de finalització de la connexió des del sòcol remot o un reconeixement d’una sol·licitud de finalització de la connexió que s’havia enviat prèviament des d’aquest sòcol.
  • FIN-WAIT-2: Servidor i clients. Aquest sòcol espera una sol·licitud de finalització de la connexió del sòcol remot.
  • ESPERA TANCAT: Servidor i client. Aquest sòcol espera una sol·licitud de finalització de la connexió de l'usuari local.
  • TANCAMENT: Servidor i clients. Aquest sòcol està esperant un avís de sol·licitud de finalització de la connexió del sòcol remot.
  • ÚLTIMA ACK: Servidor i client. Aquest sòcol espera un reconeixement de la sol·licitud de finalització de la connexió que ha enviat al sòcol remot.
  • TEMPS-ESPERA: Servidor i clients. Aquest sòcol va enviar un reconeixement al sòcol remot per fer-li saber que va rebre la sol·licitud de finalització del sòcol remot. Ara està esperant per assegurar-se que s’ha rebut el reconeixement.
  • TANCAT: No hi ha connexió, de manera que el sòcol s'ha tancat.

Les columnes "Domini Unix" són:

  • Proto: El protocol utilitzat per aquest sòcol. Serà "unix".
  • RefCnt: Recompte de referència. El nombre de processos connectats connectats a aquest sòcol.
  • Banderes: Normalment es defineix a ACC , que representa SO_ACCEPTON, és a dir, el sòcol espera una sol·licitud de connexió. SO_WAITDATA, mostrat com W, vol dir que hi ha dades pendents de ser llegides. SO_NOSPACE, mostrat com N, vol dir que no hi ha espai per escriure dades al sòcol (és a dir, la memòria intermèdia d’enviament està plena).
  • Tipus: El tipus de sòcol. Vegeu el tipus taula següent.
  • Estat: L'estat del sòcol. Vegeu el estat taula següent.
  • I-Node: L'inode del sistema de fitxers associat amb aquest sòcol.
  • Camí: El camí del sistema de fitxers al sòcol.

El sòcol de domini Unix tipus pot ser un dels següents:

  • DGRAM: El sòcol s’utilitza en mode datagrama, mitjançant missatges de longitud fixa. No es garanteix que els datagrames siguin fiables, seqüenciats ni sense duplicar.
  • CORRENT: Aquest sòcol és un sòcol de flux. Aquest és el tipus de connexió de sòcol "normal" habitual. Aquests sòcols estan dissenyats per proporcionar lliurament seqüencial (en ordre) fiable de paquets.
  • RAW: Aquest sòcol s’utilitza com a sòcol en brut. Els sockets sense format funcionen al nivell de xarxa del model OSI i no fan referència a les capçaleres TCP i UDP des del nivell de transport.
  • RDM: Aquest sòcol es troba en un extrem d’una connexió de missatges lliurats de manera fiable.
  • PAQUET SEQ: Aquest sòcol funciona com un sòcol de paquets seqüencial, que és un altre mitjà per proporcionar lliurament de paquets fiable, seqüenciat i sense duplicar.
  • PAQUET: Socket d'accés a la interfície en brut. Els sockets de paquets s’utilitzen per rebre o enviar paquets en brut al nivell del controlador de dispositiu (és a dir, capa d’enllaç de dades) del model OSI.

El sòcol de domini Unix estat pot ser un dels següents:

  • GRATU :T: Aquest sòcol no està assignat.
  • ESCOLTA: Aquest sòcol està escoltant les sol·licituds de connexió entrants.
  • CONNECTANT: Aquest sòcol està en procés de connexió.
  • CONNECTAT: S'ha establert una connexió i el sòcol pot rebre i transmetre dades.
  • DESCONECTAR: La connexió està en procés de finalització.

Vaja, això és molta informació! Molts dels netstat les opcions refinen els resultats d’una manera o d’una altra, però no canvien massa el contingut. Fem una ullada.

Llistat de sòcols per tipus

El netstat -a Comanda pot proporcionar més informació de la que necessiteu veure. Si només voleu o necessiteu veure els sockets TCP, podeu utilitzar el fitxer -t Opció (TCP) per restringir la visualització només per mostrar sòcols TCP.

netstat -at | menys

La visualització fora es redueix considerablement. Els pocs sòcols que es mostren són tots els sòcols TCP.

El -u (UDP) i -x Les opcions (UNIX) es comporten d’una manera similar, restringint els resultats al tipus de sòcol especificat a la línia d’ordres. A continuació, es mostra l’opció -u (UDP):

netstat -au | menys

Només es mostren els sòcols UDP.

Llistats de sòcols per estat

Per veure els sòcols en estat d’escolta o d’espera, utilitzeu el fitxer -l (escolta) opció.

netstat -l | menys

Els sòcols que es mostren són els que es troben en estat d’escolta.

Això es pot combinar amb les opcions -t (TCP, -u (UDP) i -x (UNIX) per aprofundir en els sockets d'interès. Cerquem sockets TCP escoltats:

netstat -lt | menys

Ara només veiem preses d’escolta TCP.

Estadístiques de xarxa per protocol

Per veure les estadístiques d'un protocol, utilitzeu el fitxer -s (estadístiques) i passar a la -t (TCP), -u (UDP), o bé -x (UNIX) opcions. Si només utilitzeu el fitxer -s (estadístiques), veureu estadístiques de tots els protocols. Comprovem les estadístiques del protocol TCP.

netstat -st | menys

Es mostra una col·lecció d'estadístiques de les connexions TCP a menys.

Mostrant noms de processos i PID

Pot ser útil veure l'identificador de procés (PID) del procés mitjançant un sòcol, juntament amb el nom d'aquest procés. El -p (programa) opció fa això. Vegem quins són els PID i els noms dels processos per als processos que utilitzen un sòcol TCP que es troba en estat d’escolta. Fem servir sudo per assegurar-nos que rebem tota la informació disponible, inclosa qualsevol informació que normalment requereixi permisos d’arrel.

sudo netstat -p -at

A continuació, es mostra aquest resultat en una taula amb format:

Connexions d'Internet actives (servidors establerts) Proto Recv-Q Send-Q Adreça local Adreça estrangera Estat PID / Nom del programa tcp 0 0 localhost: domain 0.0.0.0:* LISTEN 6927 / systemd-resolv tcp 0 0 0.0.0.0:ssh 0.0 .0.0: * ESCOLTA 751 / sshd tcp 0 0 localhost: ipp 0.0.0.0:* ESCOLTA 7687 / cupsd tcp 0 0 localhost: smtp 0.0.0.0:* ESCOLTA 1176 / master tcp6 0 0 [::]: ssh [:: ]: * LISTEN 751 / sshd tcp6 0 0 ip6-localhost: ipp [::]: * LISTEN 7687 / cupsd tcp6 0 0 ip6-localhost: smtp [::]: * LISTEN 1176 / master

Tenim una columna addicional anomenada "PID / nom del programa". Aquesta columna llista el PID i el nom del procés que utilitza cadascun dels sòcols.

Llistat d'adreces numèriques

Un altre pas que podem fer per eliminar una certa ambigüitat és mostrar les adreces locals i remotes com a adreces IP en lloc del domini i dels noms d'amfitrió resolts. Si fem servir el fitxer-n (numèrica), les adreces IPv4 es mostren en format decimal amb punts:

sudo netstat -an | menys

Les adreces IP es mostren com a valors numèrics. També es mostren els números de port, separats per dos punts ” : ”De l’adreça IP.

Una adreça IP de 127.0.0.1 mostra que el sòcol està lligat a l’adreça de loopback de l’ordinador local. Podeu pensar en una adreça IP de 0.0.0.0 com a "ruta predeterminada" per a les adreces locals i "qualsevol adreça IP" per a adreces estrangeres. Les adreces IPv6 es mostren com "::”També són zero adreces.

Els ports que apareixen a la llista es poden comprovar fàcilment per veure quin és el seu propòsit habitual:

  • 22: Es tracta del port d’escolta del Secure Shell (SSH).
  • 25: Aquest és el port d’escolta del protocol de transferència de correu simple (SMTP).
  • 53: Aquest és el port d’escolta del sistema de noms de domini (DNS).
  • 68: Aquest és el port d’escolta del Protocol de configuració d’amfitrió dinàmic (DHCP).
  • 631: Aquest és el port d'escolta del sistema d'impressió comú UNIX (CUPS).

RELACIONATS:Quina diferència hi ha entre 127.0.0.1 i 0.0.0.0?

Visualització de la taula d’encaminament

El -r L'opció (ruta) mostra la taula d'encaminament del nucli.

sudo netstat -r

Aquí teniu aquest resultat en una taula ordenada:

Taula d’encaminament IP del nucli Gateway de destinació 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

I això és el que signifiquen les columnes:

  • Destinació: La xarxa de destinació o el dispositiu amfitrió de destinació (si la destinació no és una xarxa).
  • Passarel·la: L'adreça de la passarel·la. Un asterisc "*”Apareix aquí si no es defineix una adreça de passarel·la.
  • Màscara genètica: La màscara de subxarxa de la ruta.
  • Banderes: Vegeu el banderes taula, a sota.
  • MSS: Mida màxima del segment per defecte per a les connexions TCP en aquesta ruta: és la quantitat de dades més gran que es pot rebre en un segment TCP.
  • Finestra: La mida de finestra predeterminada per a les connexions TCP en aquesta ruta, que indica el nombre de paquets que es poden transferir i rebre abans que el buffer receptor estigui ple. A la pràctica, l’aplicació receptora consumeix els paquets.
  • irtt: El temps inicial d’anada i tornada. Aquest nucli fa referència a aquest valor per fer ajustaments dinàmics als paràmetres TCP per a connexions remotes que responen lentament.
  • Afronto: La interfície de xarxa des de la qual es transmeten els paquets enviats per aquesta ruta.

El banderes el valor pot ser un de:

  • U: El recorregut és amunt.
  • H: Target és un amfitrió i l'única destinació possible en aquesta ruta.
  • G: Utilitzeu la passarel·la.
  • R: Restableix la ruta per a l'encaminament dinàmic.
  • D: Instal·lat dinàmicament pel dimoni d’encaminament.
  • M: Modificat pel dimoni d’encaminament quan va rebre un paquet ICMP (Internet Control Message Protocol).
  • A: Instal·lat per addrconf, el generador automatitzat de fitxers de configuració de DNS i DHCP.
  • C: Entrada de memòria cau.
  • !: Rebutja la ruta.

Cercar el port utilitzat per un procés

Si canalitzem la sortida de netstat a través grep, podem cercar un procés per nom i identificar el port que utilitza. Utilitzem el fitxer -a (tots), -n (numèric) i -p (programa) opcions utilitzades anteriorment i cerqueu "sshd".

sudo netstat -anp | grep "sshd"

grep troba la cadena de destinació i veiem que el fitxer sshd el dimoni utilitza el port 22.

Per descomptat, també ho podem fer al revés. Si cerquem ": 22", podem esbrinar quin procés utilitza aquest port, si n'hi ha.

sudo netstat -anp | grep ": 22"

Aquesta vegada grep troba la cadena de destinació ": 22" i veiem que el procés que utilitza aquest port és el sshd dimoni, ID de procés 751.

Enumereu les interfícies de xarxa

El -i (interfícies) mostrarà una taula de les interfícies de xarxa que netstat pot descobrir.

sudo netstat -i

Aquí teniu el resultat d’una manera més llegible:

Taula d'interfície del nucli 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

Això és el que signifiquen les columnes:

  • Afronto: El nom de la interfície. El enp0s3 interfície és la interfície de xarxa del fitxer fora món, i el heus aquí interfície és la interfície loopback. La interfície loopback permet als processos intercomunicar-se dins l’ordinador mitjançant protocols de xarxa, fins i tot si l’ordinador no està connectat a una xarxa.
  • MTU: La Unitat de Transmissió Màxima (MTU). Aquest és el "paquet" més gran que es pot enviar. Consisteix en una capçalera que conté indicadors d’encaminament i protocol i altres metadades, a més de les dades que realment s’estan transportant.
  • RX-OK: El nombre de paquets rebuts, sense errors.
  • RX-ERR: El nombre de paquets rebuts, amb errors. Volem que sigui el més baix possible.
  • RX-DRP: El nombre de paquets caiguts (és a dir, perduts). També volem que sigui el més baix possible.
  • RX-OVR: Nombre de paquets perduts a causa de desbordaments en rebre. Normalment, això significa que la memòria intermèdia receptora estava plena i no podia acceptar cap dada més, però es van rebre més dades i es van haver de descartar. Com més baixa sigui aquesta xifra, millor i zero és perfecte.
  • TX-OK: El nombre de paquets transmesos, sense errors.
  • RX-ERR: El nombre de paquets transmesos, amb errors. Volem que sigui zero.
  • RX-DRP: El nombre de paquets ha caigut en transmetre. L’ideal seria que sigui zero.
  • RX-OVR: El nombre de paquets perduts a causa dels desbordaments en transmetre. Normalment, això significa que la memòria intermèdia d’enviament estava plena i no podia acceptar cap dada més, però hi havia més dades a punt per transmetre’s i s’havia de descartar.
  • Flg: Banderes. Vegeu el banderes taula següent.

El banderes representar el següent:

  • B: S'utilitza una adreça de difusió.
  • L: Aquesta interfície és un dispositiu loopback.
  • M: S'estan rebent tots els paquets (és a dir, en mode promiscu). No es filtra ni es descarta res.
  • O: El protocol de resolució d’adreces (ARP) està desactivat per a aquesta interfície.
  • P: Es tracta d’una connexió punt a punt (PPP).
  • R: La interfície s'està executant.
  • U: La interfície està activada.

Enumereu els membres del grup Multidifusió

En poques paraules, una transmissió multidifusió permet enviar un paquet només una vegada, independentment del nombre de destinataris. Per a serveis com la transmissió de vídeo, per exemple, això augmenta en gran mesura l’eficiència des del punt de vista del remitent.

El -g opcions (grups) que fa netstat llista la pertinença a grups de multidifusió de sockets a cada interfície.

sudo netstat -g

Les columnes són bastant senzilles:

  • Interfície: El nom de la interfície per la qual transmet el sòcol.
  • RefCnt: El recompte de referència, que és el nombre de processos connectats al sòcol.
  • Grup: El nom o identificador del grup de multidifusió.

The New Kids on the Block

Les ordres route, ip, ifconfig i ss poden proporcionar molt de què netstat és capaç de mostrar-te. Són ordres fantàstiques i val la pena consultar-les.

Ens hi hem centrat netstat perquè està disponible universalment, independentment del sistema operatiu semblant a Unix en què estigueu treballant, fins i tot dels obscurs.


$config[zx-auto] not found$config[zx-overlay] not found