AllInfo

Wie Verwenden Sie netstat unter Linux

Fatmawati Achmad Zaenuri/Shutterstock

Die Linux netstat-Befehl haben Sie eine Fundgrube von Informationen über Ihr Netzwerk-verbindungen, die ports, die verwendet werden, und die Prozesse, die Sie verwenden. Erfahren Sie, wie es zu benutzen.

Ports, Prozesse und Protokolle

Netzwerk-sockets können entweder verbunden oder wartet auf eine Verbindung. Von den verbindungen Netzwerk-Protokolle wie TCP (Transport Control Protocol) – oder User Datagram Protocol UDP. Sie verwenden Internet-Protokoll-Adressen und Netzwerk-ports, verbindungen zu schaffen.

Das Wort sockets kann zaubern Bilder von einem physischen Anschluss für eine Leitung oder Kabel, aber in diesem Zusammenhang, ein socket ist ein software-Konstrukt verwendet, um ein Ende einer Datenverbindung.

Steckdosen haben zwei Zustände: entweder sind Sie miteinander verbunden und erleichtern eine kontinuierliche Kommunikation im Netzwerk, oder Sie sind auf eine eingehende Verbindung wartet, um Sie zu verbinden. Es gibt andere Staaten, wie der Staat, wenn ein socket ist auf halbem Weg durch herstellen einer Verbindung auf einem remote-Gerät, sondern dass die Transienten Zustände beiseite, man kann sich eine Buchse, die entweder verbunden oder warten (die oft als hören).

Der socket wird als server bezeichnet, und der socket, der eine Verbindung anfordert mit dem socket aufgerufen wird, ein client. Diese Namen haben nichts zu tun mit hardware-oder computer-Rollen. Sie definieren einfach die Rolle von jeder Steckdose, an jedem Ende der Verbindung.

Der netstat-Befehl können Sie entdecken, welche buchsen miteinander verbunden sind und die Steckdosen sind zu hören. Bedeutung, es sagt Ihnen, welche ports verwendet werden und welche Prozesse Sie benutzen. Es kann Ihnen zeigen, routing-Tabellen und Statistiken über Ihre Netzwerk-Schnittstellen-und multicast-verbindungen.

Die Funktionalität von netstat repliziert wurde im Laufe der Zeit in verschiedenen Linux-Dienstprogramme, wie z.B. ip und ss. Es ist immer noch lohnt sich zu wissen, dieser Urvater aller Netzwerk-Analyse-Befehle, denn es ist auf allen Linux-und Unix-ähnlichen Betriebssystemen und sogar auf Windows und Mac.

Hier ist, wie es zu benutzen, komplett mit Beispiel-Befehlen.

Auflistung Aller Steckdosen

-A (all) option netstat zeigen Sie alle angeschlossenen und warten sockets. Mit diesem Befehl haftet produzieren eine lange Liste, so dass wir Rohres in weniger.

netstat-a | less

Die Auflistung enthält TCP (IP), TCP6 (IPv6), – und UDP-sockets.

Die wrap-around-in das terminal-Fenster macht es ein wenig schwierig zu sehen, was Los ist. Hier ein paar Abschnitte aus, die Liste:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:domain 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 [::]:* LISTEN
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
.
.
.
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Pfad
unix 24 [ ] DGRAM 12831 /run/systemd/journal/dev-log
unix 2 [ ACC ] STREAM LISTENING 24747 @/tmp/dbus-zH6clYmvw8
unix 2 [ ] DGRAM 26372 /run/user/1000/systemd/notify
unix 2 [ ] DGRAM 23382 /run/user/121/systemd/notify
unix 2 [ ACC ] SEQPACKET HÖREN 12839 /run/udev/control

Das “Aktive ” Internet” Abschnitt enthält eine Liste der angeschlossenen externen verbindungen und lokalen sockets hören für remote-Verbindung anfordert. Das heißt, es listet die Netzwerk-verbindungen, die sind (oder werden), das eingerichtet wurde, um externe Geräte.

Die “UNIX-Domäne” listet die angeschlossenen und hören den internen verbindungen. In anderen Worten, es listet die verbindungen, die geschaffen wurden, innerhalb Ihres Computers zwischen verschiedenen Anwendungen, Prozesse und Elemente des Betriebssystems.

Die “Aktive Internet -” Spalten sind:

Für TCP-verbindungen, die state-Wert kann einer der folgenden sein :

Die “Unix-Domäne” Spalten sind:

Die Unix-domain-socket-Typ kann einer der folgenden sein:

Die Unix-domain-socket-Status kann einer der folgenden sein:

Wow, das sind eine Menge Informationen! Viele von netstat Optionen verfeinern Sie die Ergebnisse in die eine oder andere Weise, aber Sie ändern sich nicht die Inhalte zu viel. Lassen Sie uns nehmen einen Blick.

Listing Sockets vom Typ

Der Befehl netstat-a kann mehr Informationen liefern, als Sie benötigen, um zu sehen. Wenn Sie nur wollen oder müssen, um zu sehen, die TCP-sockets, können Sie die Option-t (TCP) – option, um die Anzeige einschränken, um nur TCP-sockets.

netstat -an | weniger

Die Darstellung ist stark reduziert. Die paar Steckdosen, die aufgeführt sind, werden alle TCP-sockets.

Die-u (UDP) und -x (UNIX) – Optionen Verhalten sich ähnlich, wobei die Ergebnisse der socket-Typ auf der Kommandozeile angegeben. Hier ist die-u (UDP) – option verwenden:

netstat -au | weniger

Nur UDP-sockets aufgeführt sind.

Listing Sockets durch den Staat

Um zu sehen, die buchsen sind in der mithörende oder wartende Zustand, verwenden Sie die -l (hören) option.

netstat -l | less

Die sockets, die aufgeführt sind diejenigen, die in den Wartezustand.

Dies kann kombiniert werden mit der Option-t (TCP -, – u (UDP) und -x (UNIX) Optionen weiter zu Hause in die Steckdosen, die von Interesse sind. Schauen wir uns für das hören von TCP-sockets:

netstat -lt | weniger

Jetzt sehen wir, nur die TCP-listening-sockets.

Netzwerk-Statistiken nach Protokoll

Sehen Sie die Statistiken für ein Protokoll, die-s (Statistik) option und pass in die -t (TCP), -u (UDP), oder -x – (UNIX -) Optionen. Wenn Sie nur die -s (Statistik) – option auf Ihrer eigenen, sehen Sie Statistiken für alle Protokolle. Schauen wir uns die Statistiken für das TCP-Protokoll.

netstat -st | weniger

Eine Sammlung von Statistiken, die für die TCP-verbindungen angezeigt, die in weniger.

Zeigt Prozess-Namen und PIDs

Es kann nützlich sein, um zu sehen, die Prozess-ID (PID) des Prozesses mit einem socket, zusammen mit dem Namen des Prozesses. -P (Programm) – option die genau das tut. Mal sehen, was die PIDs und Prozess-Namen sind für die Prozesse, die mittels TCP-socket, der in den Wartezustand. Wir sudo verwenden, um sicherzustellen, dass wir erhalten alle Informationen, die verfügbar ist, einschließlich aller Informationen, die normalerweise root-Rechte erfordern.

sudo netstat -p -an

Hier ist die Ausgabe in eine formatierte Tabelle:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
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:* 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 [::]:* LISTEN 751/sshd
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN 7687/cupsd
tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN 1176/master

Wir haben eine zusätzliche Spalte “PID/program name.” In dieser Spalte wird die PID und der name des Prozesses, die über die jeweiligen buchsen.

Auflistung Numerischen Adressen

Ein weiterer Schritt, die wir ergreifen können, zu entfernen, einige Mehrdeutigkeit ist für die Anzeige der lokalen und remote-Adressen als IP-Adressen anstelle von Ihr gelöst domain-und Hostnamen. Wenn wir die Option-n (numeric) option ist, die IPv4-Adressen angezeigt werden in dotted-decimal-format:

sudo netstat-an | weniger

Die IP-Adressen angezeigt werden als numerische Werte. Die port-Nummern werden auch angezeigt, getrennt durch einen Doppelpunkt ” : “von der IP-Adresse.

Eine IP-Adresse 127.0.0.1 zeigt, dass der socket gebunden ist an die loopback-Adresse des lokalen Computers. Sie können denken, der eine IP-Adresse von 0.0.0.0 bedeutet für die “default route” für lokale Adressen “(“any-IP-Adresse” für ausländische Adressen. IPv6-Adressen angezeigt, die als “::” sind auch alle zero-Adressen.

Die aufgeführten ports kann leicht überprüft werden, um zu sehen, welche Ihrer üblichen Verwendungsweise ist:

RELATED: Was ist der Unterschied Zwischen 127.0.0.1 und 0.0.0.0?

Anzeigen der Routing-Tabelle

Die -r (Strecke) zeigt die kernel-routing-Tabelle.

sudo netstat -r

Hier ist die Ausgabe in eine nette Tabelle:

Kernel IP-routing-Tabelle
Destination Gateway Genmask Flags MSS Fenster irtt Iface
Standard-Stärke.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

Und, hier ist, was die Spalten bedeuten:

Der flags-Wert kann einer der folgenden sein:

Finden Sie den Port durch einen Prozess

Wenn wir leiten Sie die Ausgabe von netstat durch grep, wir können die Suche nach einem Prozess mit Namen und den port identifizieren Sie nutzt. Wir verwenden den-a (alle), -n (numeric) und -p (Programm -) Optionen, die zuvor verwendet wurden, und suchen Sie nach “sshd.”

sudo netstat -anp | grep “sshd”

grep findet die Ziel-string, und wir sehen, dass der sshd-daemon-port 22.

Natürlich, wir können dies auch in umgekehrter Richtung. Wenn wir suchen, für “:22” können wir herausfinden, welcher Prozess diesen port, falls vorhanden.

sudo netstat -anp | grep “:22”

Dieses mal grep findet die “:22” target string, und wir sehen, dass der Prozess mit diesem port ist der sshd-daemon, Prozess-ID 751.

Liste der Netzwerk-Schnittstellen

Die-i – (Schnittstellen -) option, zeigt eine Tabelle des Netzwerk-interfaces mit netstat entdecken können.

sudo netstat -i

Hier ist die Ausgabe in einem besser lesbaren Weise:

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

Dies ist, was die Spalten bedeuten:

Die Fahnen sind die folgenden:

Liste Multicast-Gruppen-Mitgliedschaften

Einfach ausgedrückt, eine multicast-übertragung ermöglicht, dass ein Paket nur einmal gesendet, unabhängig von der Anzahl der Empfänger. Für Dienste wie video-streaming, zum Beispiel, dies erhöht die Effizienz des Absenders Sicht durch eine enorme Menge.

Die -g (- Gruppen) option netstat-Liste der multicast-Gruppe die Mitgliedschaft der Steckdosen auf jeder Schnittstelle.

sudo netstat -g

Die Spalten sind ganz einfach:

Die New Kids on the Block

Die route, ip, ifconfig und ss-Kommandos kann eine Menge von dem, was netstat ist in der Lage, Sie. Sie sind alle sehr, Befehle und lohnt sich.

Wir konzentrieren uns auf netstat, denn es ist universell verfügbar, unabhängig davon, welche Unix-artigen Betriebssystemen Sie arbeiten, auch das obskure lieben.

LESEN SIE WEITER

Exit mobile version