Het Gebruik van netstat op Linux

0
471
Fatmawati Achmad Zaenuri/Shutterstock

De Linux-opdracht netstat geeft u een schat aan informatie zien over je netwerk verbindingen, de poorten die in gebruik zijn, en de processen met behulp van hen. Leren hoe om het te gebruiken.

Poorten, Processen en Protocollen

Netwerk-aansluitingen kunnen worden aangesloten, of wacht op een verbinding. De verbindingen netwerkprotocollen zoals Transport Control Protocol (TCP) of User Datagram Protocol-UDP. Ze maakt gebruik van Internet Protocol-adressen en poorten tot stand brengen van verbindingen.

Het woord sockets mogelijk roepen beelden op van een fysieke verbinding met een leiding of kabel, maar in deze context, een socket is een constructie in software gebruikt voor het verwerken van het ene uiteinde van een netwerkverbinding.

Stopcontacten hebben twee belangrijke staten: Zij zijn verbonden en het faciliteren van een voortdurende communicatie van het netwerk, of ze wachten op een binnenkomende verbinding om verbinding te maken. Er zijn andere landen, zoals de staat als een socket is halverwege de oprichting van een aansluiting op een extern apparaat, maar van voorbijgaande aard staten opzij, u kunt denken aan een socket als verbonden of te wachten (die vaak genoemd luisteren).

De luisterende socket wordt de server genoemd, en de aansluiting met het verzoek om een verbinding met de luisterende socket is een zogenaamde client. Deze namen hebben niets te maken met de hardware of de computer rollen. Ze gewoon het definiëren van de rol van elk van de aansluiting aan elk uiteinde van de verbinding.

Het netstat commando kunt u ontdekken welke aansluitingen zijn aangesloten en die houders zijn van het luisteren. Betekenis, het vertelt je welke poorten in gebruik zijn en welke processen worden gebruikt. Het kan je laten zien routing tabellen en statistieken over uw netwerk interfaces en multicast-verbindingen.

De functionaliteit van netstat is gerepliceerd loop van de tijd in verschillende Linux-programma ‘ s zoals ip en de ss. Het is nog steeds de moeite waard te weten deze grootvader van alle netwerk analyse-opdrachten, omdat het beschikbaar is op alle Linux-en Unix-achtige operating systemen, en zelfs op Windows en Mac.

Hier is hoe het te gebruiken, compleet met voorbeeld commando ‘ s.

Lijst Van Alle Sockets

De-a (alle) optie maakt netstat toon alle aangesloten en wachten op aansluitingen. Deze opdracht is aansprakelijk voor het produceren van een lange lijst, dus we pijp in minder.

netstat -a | minder

De lijst bevat TCP (IP), TCP6 (IPv6) en UDP-sockets.

De wrap-around in het terminal-venster maakt het een beetje moeilijk om te zien wat er gaande is. Hier is een paar hoofdstukken uit die lijst:

Actieve Internet verbindingen (servers en gevestigde)
Proto Recv-Q Stuur-Q Lokaal Adres Buitenlands Adres Staat
tcp 0 0 localhost:domein 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp-0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LUISTEREN
tcp6 0 0 ip6-localhost:ipp [::]:* LUISTEREN
.
.
.
Actieve UNIX domein sockets (servers en gevestigde)
Proto RefCnt Vlaggen Type Staat I-Node Pad
unix 24 [ ] DGRAM 12831 /run/systemd/journal/dev-log
unix-2 [ ACC ] STREAM LUISTEREN 24747 @/tmp/dbus-zH6clYmvw8
unix-2 [ ] DGRAM 26372 /run/user/1000/systemd/melden
unix-2 [ ] DGRAM 23382 /run/user/121/systemd/melden
unix-2 [ ACC ] SEQPACKET LUISTEREN 12839 /run/udev/controle

De “Actieve Internet” sectie is een lijst van de aangesloten externe verbindingen en de lokale sockets luisteren voor externe verbinding aanvragen. Dat is, worden de netwerk-verbindingen die zijn (of zullen worden), opgericht op externe apparaten.

De “UNIX domein” sectie is een lijst van de aangesloten en het luisteren van de inwendige verbindingen. In andere woorden, het toont de verbindingen die tot stand zijn gekomen in uw computer worden tussen verschillende applicaties, processen en elementen van het besturingssysteem.

De “Actieve Internet” kolommen zijn:

  • Protocol: Het protocol dat wordt gebruikt door deze aansluiting (bijvoorbeeld TCP of UDP).
  • Recv-Q: De receive queue mag zijn. Dit zijn de binnenkomende bytes dat is ontvangen en opgeslagen, wachtend op het lokale proces dat het gebruik van deze verbinding te lezen en ze verbruiken.
  • Verzend-Q: De send queue mag zijn. Dit geeft het aantal bytes dat zijn klaar om te worden verzonden vanaf de send queue mag zijn.
  • Lokaal adres: Het adres van de lokale einde van de verbinding. De standaard is voor netstat om de lokale hostnaam voor het adres, en de naam van de dienst voor de haven.
  • Buitenlands adres: Het adres en poortnummer van de externe kant van de verbinding.
  • Staat: De staat van de lokale aansluiting. Voor UDP-sockets, dit is meestal leeg. Zie de tabel staat hieronder.

Voor TCP-verbindingen, de staat van waarde kan een van de volgende handelingen uit :

  • LUISTEREN: Server-side’. De socket is het wachten voor een aansluiting aanvragen.
  • SYN-SENT: Client-zijde. Deze bus heeft een verbinding gemaakt aanvraag en wacht om te zien of het zal worden geaccepteerd.
  • SYN-ONTVANGEN: Server-side’. Deze bus staat te wachten voor een aansluiting bevestiging na het accepteren van een verbinding aanvraag.
  • OPGERICHT: Server en clients. Een werkende verbinding tot stand is gebracht tussen de server en de client, waarmee gegevens worden overgedragen tussen de twee.
  • FIN-WAIT-1: Server en clients. Deze bus staat te wachten voor een aansluiting verzoek om ontbinding van de remote-aansluiting, of voor een erkenning van een verbinding verzoek om ontbinding die eerder verstuurd vanaf deze socket.
  • FIN-WAIT-2: Server en clients. Deze bus staat te wachten voor een aansluiting verzoek om ontbinding van de remote-aansluiting.
  • CLOSE-WAIT: Server en client. Deze bus staat te wachten voor een aansluiting verzoek om ontbinding van de lokale gebruiker.
  • SLUITEN: Server en clients. Deze bus staat te wachten voor een verbinding beëindigen aanvraag erkenning van de externe aansluiting.
  • LAST-ACK: Server en client. Deze aansluiting is het wachten op een bevestiging van de verbinding beëindigen aanvraag verzonden naar de externe aansluiting.
  • TIME-WAIT: Server en clients. Deze aansluiting ontvangt een ontvangstbevestiging aan de afstandsbediende contactdoos om te laten weten dat het ontvangen van de externe contactdoos van het verzoek om ontbinding. Het is nu wachten om ervoor te zorgen dat de aanvraag werd ontvangen.
  • GESLOTEN: Er is geen verbinding, zodat de socket is beëindigd.

De “Unix domein” kolommen zijn:

  • Protocol: Het protocol dat wordt gebruikt door deze aansluiting. Het zal worden “unix”.
  • RefCnt: Referentie telling. Het aantal aangesloten processen verbonden aan deze aansluiting.
  • Vlaggen: Dit is meestal ingesteld op ACC , wat neerkomt op SO_ACCEPTON, wat betekent dat de socket is het wachten voor een aansluiting aanvragen. SO_WAITDATA, weergegeven als W, betekent dat er gegevens op te wachten om gelezen te worden. SO_NOSPACE, weergegeven als N, betekent dat er geen ruimte is om gegevens te schrijven naar de aansluiting (d.w.z. het verzenden van de buffer is vol).
  • Type: De socket type. Zie de onderstaande tabel.
  • Staat: De staat van de bus. Zie de tabel staat hieronder.
  • I-Knooppunt: Het bestandssysteem van de inode in verband met deze socket.
  • Pad: Het bestandssysteem pad naar de socket.

De Unix domein socket-type kan een van de volgende handelingen uit:

  • DGRAM: De socket wordt gebruikt in datagram-modus, met berichten van een vaste lengte. Datagrammen worden niet gegarandeerd betrouwbaar te zijn, doorgeschoven, noch gedupliceerd.
  • STREAM: Deze aansluiting is een stroom aansluiting. Dit is het gemeengoed “normale” type socket-verbinding. Deze aansluitingen zijn ontworpen om betrouwbare gesequenced (in volgorde) de levering van de pakketten.
  • RAW: Deze aansluiting wordt gebruikt als een raw socket. Raw sockets werken op het niveau van het netwerk van het OSI-Model en niet een verwijzing TCP-en UDP-headers van de transport-niveau.
  • RDM: Deze aansluiting is gelegen op een einde van een betrouwbaar geleverd berichten verbinding.
  • SEQPACKET: Deze aansluiting wordt gebruikt als een sequentiële packet socket, dat is een ander middel van het leveren van betrouwbare, gesequenced, en gedupliceerd pakket levering.
  • PAKKET: Raw-interface toegang socket. Packet-sockets worden gebruikt voor het ontvangen of verzenden van raw-pakketten op de device driver (d.w.z. data link layer) niveau van de OSI-model.

De Unix domein socket staat kan een van de volgende handelingen uit:

  • GRATIS: Deze aansluiting is niet toegewezen.
  • LUISTEREN: Deze aansluiting is luisteren naar binnenkomende verbindingsaanvragen.
  • AANSLUITEN: Deze aansluiting is in het proces van het maken van de verbinding.
  • VERBINDING: EEN verbinding tot stand is gebracht, en de socket is in staat om het zenden en ontvangen van gegevens.
  • LOSKOPPELEN: De verbinding is in het proces wordt beëindigd.

Wow, dat is een hoop informatie! Veel van de netstat opties voor het verfijnen van de resultaten op één of andere manier, maar ze veranderen niet de inhoud te veel. Laten we een kijkje nemen.

Lijst Sockets per Type

De opdracht netstat-a, kan meer informatie geven dan je nodig hebt om te zien. Als u alleen wilt of nodig hebt om de TCP sockets, kunt u gebruik maken van de -t (TCP) optie voor het beperken van het display aan laten alleen TCP sockets.

netstat -in | minder

Het display uit is sterk verminderd. Het aantal contactdozen die worden vermeld zijn alle TCP sockets.

De -u (UDP) en -x (UNIX) opties gedragen zich op een vergelijkbare manier, het beperken van de resultaten van het type socket opgegeven op de opdracht regel. Hier is het -u (UDP) optie in gebruik:

netstat -au | minder

Alleen UDP-sockets worden vermeld.

Lijst Sockets van de door de Staat

Om de aansluitingen die zijn in het luisteren naar of wachten op staat, gebruik je de-l (luisteren) optie.

netstat -l | minder

De contactdozen die worden vermeld, zijn degenen die in het luisteren staat.

Dit kan gecombineerd worden met de -t (TCP, -u (UDP) en -x (UNIX) opties om verder in te kunnen spelen op de sockets van belang. Laten we er voor het luisteren TCP sockets:

netstat -lt | minder

Nu zien we alleen luisteren TCP sockets.

Netwerk Statistieken per Protocol

Om de statistieken te zien voor een protocol, gebruik je de-s (statistieken) optie en pas in de -t (TCP), -u (UDP), of -x (UNIX) opties. Als u gewoon gebruik maken van de -s (statistieken) de optie op zijn eigen, ziet u de statistieken voor alle protocollen. Kijkt u eens naar de statistieken voor het TCP-protocol.

netstat -st | minder

Een verzameling van statistieken voor de TCP-verbindingen is weergegeven in minder.

Het tonen van het Proces Namen en pid ‘ s

Het kan nuttig zijn om de proces-ID (PID) van het proces met behulp van een stopcontact, samen met de naam van dat proces. De -p (programma) – optie doet. Laten we eens kijken wat de pid ‘ s en proces worden de namen van de processen met behulp van een TCP-socket, dat is in het luisteren staat. Wij maken gebruik van sudo ervoor te zorgen dat we het ontvangen van alle informatie die beschikbaar is, met inbegrip van alle informatie die normaal vereist root rechten.

sudo netstat -p -op

Hier is dat de output in een opgemaakte tabel:

Actieve Internet verbindingen (servers en gevestigde)
Proto Recv-Q Stuur-Q Lokaal Adres Buitenlands Adres Staat PID/naam van het Programma
tcp 0 0 localhost:domein 0.0.0.0:* LISTEN 6927/systemd-resolv
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 751/sshd
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN 7687/cupsd
tcp 0 0 localhost:smtp-0.0.0.0:* LISTEN 1176/master
tcp6 0 0 [::]:ssh [::]:* LUISTEREN 751/sshd
tcp6 0 0 ip6-localhost:ipp [::]:* LUISTEREN 7687/cupsd
tcp6 0 0 ip6-localhost:smtp – [::]: * LUISTEREN 1176/master

We hebben een extra kolom genaamd “PID/naam van het programma.” Deze kolom geeft de PID en de naam van het proces met behulp van elk van de aansluitingen.

Lijst Numerieke Adressen

Een andere stap die we kunnen nemen om bepaalde dubbelzinnigheid is voor de lokale en remote-adressen IP-adressen in plaats van hun opgelost domein en host namen. Als we gebruik maken van de -n (numerieke) optie, de IPv4-adressen zijn weergegeven in decimale notatie:

sudo netstat-an | minder

De IP-adressen worden weergegeven als numerieke waarden. De poort nummers zijn ook weergegeven, gescheiden door een dubbele punt ” : “vanaf het IP-Adres.

Een IP-adres 127.0.0.1 blijkt dat de socket is gebonden aan het loopback-adres van de lokale computer. U kunt denken aan een IP-adres 0.0.0.0, in de betekenis van de “standaardroute” voor lokale adressen, en “IP-adres” voor buitenlandse adressen. IPv6-adressen weergegeven als “::” ook al nul adressen.

De havens die zijn vermeld, gemakkelijk kan worden gecontroleerd om te zien wat hun gebruikelijke doel is:

  • 22: Dit is de ” Secure Shell (SSH) poort voor luisteren.
  • 25: Dit het Simple Mail Transfer Protocol (SMTP) poort voor luisteren.
  • 53: Dit is het Domein Naam Systeem (DNS) poort voor luisteren.
  • 68: Dit is het Dynamic Host Configuration Protocol (DHCP) – poort voor luisteren.
  • 631: Dit is de Common UNIX Printing System (CUPS) – poort voor luisteren.

GERELATEERD: Wat is het Verschil Tussen 127.0.0.1 en 0.0.0.0?

Het weergeven van de Routing-Tabel

De -r (route) optie geeft de kernel routeringstabel.

sudo netstat -r

Hier is dat de output in een nette tabel:

Kernel IP routing table
Bestemming Gateway Genmask Vlaggen MSS Venster irtt Iface
standaard Slagkracht.router 0.0.0.0 UG 0 0 0 enp0s3
link-lokaal 0.0.0.0 255.255.0.0 U 0 0 0 enp0s3
192.168.4.0 255.255.255.0 0.0.0.0 U 0 0 0 enp0s3

En, hier is wat de kolommen betekenen:

  • Bestemming: De bestemming-netwerk of bestemming host-apparaat (indien de bestemming niet in een netwerk).
  • Gateway: Het gateway-adres in. Een asterisk “*” verschijnt hier als een gateway-adres wordt ingesteld.
  • Genmask: Het subnetmasker voor de route.
  • Vlaggen: Zie de vlaggen tabel hieronder.
  • MSS: Standaard Maximum Segment Size voor TCP verbindingen via deze route—dit is de grootste hoeveelheid gegevens die kan worden ontvangen in een TCP-segment te gebruiken.
  • Venster: Het venster standaard grootte voor TCP verbindingen over deze route, met vermelding van het aantal pakketten die kunnen worden overgedragen en ontvangen vóór de ontvangst buffer vol is. In de praktijk worden de pakketten die door de ontvangende toepassing.
  • irtt: De Eerste Round Trip Time. Deze waarde wordt verwezen door de kernel te maken van dynamische aanpassingen aan TCP parameters voor externe verbindingen die zijn traag om te reageren.
  • Iface: De netwerk interface van waaruit de pakketten die verzonden wordt via deze route worden verzonden.

De vlaggen waarde kan zijn:

  • U: De route is.
  • H: Doel is een host en de enige bestemming mogelijk op deze route.
  • G: het Gebruik van de gateway.
  • R: Herstellen van de route voor dynamische routering.
  • D: Dynamisch geïnstalleerd door de routing daemon.
  • M: Gewijzigd door de routing-daemon zodra deze ontvangen een Internet Control Message Protocol (ICMP) pakket.
  • A: Geïnstalleerd door addrconf, de geautomatiseerde DNS-en DHCP-config-bestand generator.
  • C: vermelding in de Cache.
  • !: Weigeren route.

Het vinden van de Poort die wordt Gebruikt door een Proces

Als we de pijp van de uitvoer van netstat door grep, kunnen we op zoek naar een proces met de naam en het identificeren van de poort in gebruik is. We maken gebruik van de-a (alle), -n (numeriek) en -p (programma) opties eerder hebt gebruikt, en zoek naar “sshd.”

sudo netstat -anp | grep “sshd”

grep vindt de doel-string, en we zien dat de sshd daemon is het gebruik van poort 22.

Natuurlijk kunnen we dit ook doen in omgekeerde richting. Als we zoeken naar “:22”, kunnen we ontdekken dat proces is met behulp van die poort, indien van toepassing.

sudo netstat -anp | grep “:22”

Deze keer grep vindt het “:22” target string, en we zien dat het proces met behulp van deze haven is de sshd daemon, proces-ID 751.

Een lijst van de Netwerk Interfaces

De-i (interfaces) optie verschijnt een tabel van de netwerk interfaces die netstat kan ontdekken.

sudo netstat -i

Hier is de output in een meer leesbare manier:

Kernel Interface tabel
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

Dit is wat de kolommen betekenen:

  • Iface: de naam van De interface. De enp0s3 interface het netwerk interface met de buitenwereld, en de lo-interface is de loopback interface. De loopback-interface maakt het mogelijk processen te intercommunicate binnen de computer met behulp van netwerkprotocollen, zelfs als de computer niet is aangesloten op een netwerk.
  • MTU: De Maximum Transmission Unit (MTU). Dit is de grootste “packet” dat kan worden verzonden. Het bestaat uit een header met routering en protocol vlaggen en andere metadata, plus de gegevens die daadwerkelijk wordt vervoerd.
  • RX-OK: Het aantal ontvangen pakketten, met geen fouten.
  • RX-ERR: Het aantal ontvangen pakketten, met fouten. Dit willen wij zo laag mogelijk.
  • RX-DRP: Het aantal pakketten verwijderd (dat wil zeggen, verloren). Ook willen We deze zo laag mogelijk.
  • RX-OVR: Aantal pakketten verloren door overstorten bij ontvangst. Dit betekent meestal dat de ontvangstbuffer vol was en kon het niet meer accepteren van gegevens, maar meer gegevens zijn ontvangen en moest worden verwijderd. Hoe lager dit cijfer, hoe beter, en nul is perfect.
  • TX-OK: Het aantal pakketten verzonden, met geen fouten.
  • RX-ERR: Het aantal pakketten verzonden, met fouten. We willen dat dit nul.
  • RX-DRP: Het aantal ontvangen pakketten bij het verzenden. Idealiter moet dit nul.
  • RX-OVR: Het aantal pakketten verloren door overstorten bij het verzenden. Dit betekent meestal dat het verzenden buffer vol was en kon het niet meer accepteren van gegevens, maar meer gegevens zijn was klaar om te worden verzonden en moest worden verwijderd.
  • Flg: Vlaggen. Zie de vlaggen tabel hieronder.

De vlaggen vertegenwoordigen de volgende:

  • B: Een broadcast-adres in gebruik is.
  • L: Deze interface is een loopback device.
  • M: Alle pakketten worden ontvangen (d.w.z. in promiscuous mode). Niets is gefilterd of weggegooid.
  • O: ARP (Address Resolution Protocol) is uitgeschakeld voor deze interface.
  • P: Dit is een Point-to-Point (PPP) verbinding.
  • R: De interface wordt uitgevoerd.
  • U: De interface is.

Lijst Multicast-Groep Lidmaatschappen

Simpel gezegd, een multicast-overdracht mogelijk maakt om een pakket te worden verzonden slechts een keer, ongeacht het aantal ontvangers. Voor services zoals video-streaming, bijvoorbeeld, dit verhoogt de efficiëntie van de afzender standpunt door een enorme hoeveelheid.

De -g (groepen) optie maakt netstat lijst van de multicast-groep lidmaatschap van sockets op elke interface.

sudo netstat -g

De kolommen zijn vrij eenvoudig:

  • Interface: de naam van De interface waarop de aansluiting is met zenden.
  • RefCnt: De referentie telling, die is het aantal processen aangesloten op het stopcontact.
  • Groep: De naam of aanduiding van de multicast-groep.

De New Kids on the Block

De route, ip, ifconfig, en ss-commando ‘ s kan zorgen voor een veel van wat netstat is in staat te laten zien. Ze zijn allemaal commando ‘ s en de moeite waard.

We hebben gericht op netstat omdat het overal beschikbaar is, ongeacht van welke Unix-achtig besturingssysteem dat u aan het werk bent, zelfs de obscure degenen.

LEES VERDER

  • “Hoe de Stream van de Daytona 500 Zonder Kabel
  • “Wat Doet “HMU” Betekenen, en Hoe Gebruik Je Het?
  • “Het Inschakelen van een Enkele Klik te Openen Pictogrammen op Windows 10
  • “Het Oplossen van Veelvoorkomende Problemen met Apple AirPods
  • “Het Toevoegen van “Verplaatsen naar” of “Kopiëren naar” Windows 10 Context Menu