netstat - Anzeige von Netzwerksverbindungen, Routentabellen,
Schnittstellenstatistiken, maskierten Verbindungen, Netlink-Nachrichten und
Mitgliedschaft in Multicastgruppen
netstat [
-venaoc] [
--tcp|
-t]
[
--udp|
-u] [
--udplite|
-U]
[
--sctp|
-S] [
--raw|
-w] [
--groups|
-g]
[
--unix|
-x] [
--inet|
--ip] [
--ax25]
[
--ipx] [
--netrom]
netstat [
-veenc] [
--inet] [
--ipx] [
--netrom]
[
--ddp] [
--ax25] {
--route|
-r}
netstat [
-veenpac] {
--interfaces|
-i}
netstat [
-enc] {
--masquerade|
-M}
netstat [
-cn] {
--netlink|
-N}
netstat {
-V|
--version} {
-h|
--help}
Netstat zeigt Informationen des Linux-Netzwerkssystems an.
Bitte beachten Sie, dass der Inhalt der deutschen man-page derzeit noch nicht
vollständig ist.
Ohne Optionen zeigt
netstat den Zustand von offenen Sockets an. Wird
keine Adressfamilie angegeben, dann werden die offenen Sockets aller
konfigurierten Adressfamilien angezeigt. Die Option
-e gibt
zusätzliche Informationen aus (User ID). Mit der Option
-v gibt
netstat zusätzlich Fehlermeldungen über von Kernel nicht
unterstützte Adressfamilien aus. Die Option
-p gibt
zusätzlich die PID und den Namen des Programms, das den Socket
geöffnet hat, aus.
-a zeigt alle Sockets einschließlich
der auf Verbinungen wartenden Serversocketsan. Die Adressfamilie
inet
beinhaltet RAW, UDP und TCP Sockets.
Die
-r,
--route Option gibt die Routentabellen des Kernels im
gleichen Format wie
route -e aus.
netstat -er benutzt das
Ausgabeformat von
route. Für Details siehe
route(8).
Wird die
-i,
--interfaces Option verwendet, so wird eine Tabelle
aller Schnittstellen ausgegeben. Die Ausgabe ist im Format von
ifconfig
-e und wird in
ifconfig(8) beschrieben.
netstat -ei erzeugt
eine Tabelle für Interfaces wie
ifconfig. Die
-a Option
schließt nicht konfigurierte Schnittstellen in die Ausgabe ein (d.h.
die das
U=
UP Flag nicht gesetzt haben).
Hiermit wird eine Liste aller maskierten Sitzungen erstellt. Der
-e
Schalter schließt zusätzlich Informationen über
Sequenznummern und Deltas, die durch das Umschreiben von FTP-Sitzungen (PORT
Kommando) verursacht werden, ein. Maskieren wird verwendet, um Maschinen mit
inoffiziellen Netzwerkssitzungen vor der Außenwelt zu verstecken. Dies
wird in
iptables(8) beschrieben.
Aktuelle Kernel unterstützen die Kommunikation zwischen Kernel und
Anwendungen durch eine Option namens Netlink. Netlink ermöglicht,
Informationen über die Erzeugung und das Löschen von
Schnittstellen oder Routen von
/dev/route (36,0) zu erhalten.
macht detailiertere Ausgaben. Insbesondere wird ausgegeben, welche
Adressfamilien nicht im Kernel konfiguriert sind.
gibt numerische Adressen anstelle von Rechner-, Port- oder Benutzernamen aus.
Zeigt den Prozessnamen und die PID des Eigentümers des Sockets, der
ausgegeben wird oder ein Divis, falls der Socket dem Kernel gehört. Nur
der Eigentümer eines Prozess oder
Root haben alle dazu
nötigen Privilegien.
benutzt einen alternativen Weg, um Adressfamilien zu setzen.
Familie ist
eine durch Kommas getrennte Auflistung von Schlüsselworten für
Adressfamilien wie
inet,
unix,
ipx,
ax25,
netrom und
ddp. Dies hat den gleichen Effekt wie die Optionen
--inet,
--unix,
--ipx,
--ax25,
--netrom und
--ddp.
Mit dieser Option wiederholt
netstat im Sekundenabstand die Ausgabe, bis
es abgebrochen wird.
Das vom Socket verwendete Protokoll (TCP, UDP, RAW).
Die Anzahl von Bytes, die noch nicht von der Anwendung vom Socket abgeholt
wurden.
Die Anzahl von Bytes, die von der Gegenseite noch nicht bestätigt wurde.
Die lokale Adresse (lokaler Rechnername) und Portnummer des Sockets.
Außer bei Verwendung der
-n Option wird die Socketadresse nach
dem kanonischen Rechnernamen und die Portnummer in den zugehörigen
Dienstenamen aufgelöst.
Die Adresse und Portnummer der Gegenseite des Sockets. Wie bei lokalen Adressen
werden mit
-n Rechneradresse und Portnummer numerisch angezeigt.
Der Zustand des Sockets. Da RAW-Sockets keinen und UDP-Sockets
üblicherweise keinen Zustand haben, kann diese Spalte leer bleiben.
Normalerweise ist sie einer von mehreren Werten:
- VERBUNDEN
- Dieser Socket hat eine Verbindung hergestellt.
- SYN_SENT
- Es wird versucht, auf dem Socket eine Verbindung
aufzubauen.
- SYN_RECV
- Eine Verbindungsanfrage wurde von der Gegenseite
empfangen.
- FIN_WAIT1
- Der Socket wurde geschlossen und die Verbindung wird
beendet.
- FIN_WAIT2
- Die Verbindung ist geschlossen und der Socket wartet
darauf, dass sie von der Gegenseite ebenfalls geschlossen wird.
- TIME_WAIT
- Der Socket ist nach dem Schließen im Wartezustand,
um Pakete entgegenzunehmen, die sich eventuell noch im Netzwerk
befinden.
- CLOSE
- Der Socket wird nicht benutzt.
- CLOSE_WAIT
- Die Gegenseite hat die Verbindung beendet und das
Schließen des Sockets wird erwartet.
- LAST_ACK
- Die Gegenseite hat die Verbindung beendet und der Socket
ist geschlossen; die Bestätigung wird abgewartet.
- LISTEN
- Der Socket wartet auf eingehende Verbindungen. Diese
Sockets werden nur angezeigt, wenn die -a,--listening Option
gewählt wird.
- CLOSING
- Beide Sockets sind geschlossen, es wurden aber noch nicht
alle Daten geschickt.
- UNKNOWN
- Der Zustand des Sockets ist unbekannt.
Der Name oder die Benutzer-ID des Eigentümers des Sockets.
Durch einen Schrägstrich abgetrenntes Paar von Prozess-ID und
Programmname des Programms, das diesen Socket besitzt. Die Option
-p
schaltet die Anzeige dieser Spalte ein. Es werden
root Privilegien
benötigt um die nötigen Daten zu erhalten. Für IPX
Sockets sind diese Daten nicht verfügbar.
(dies muss noch geschrieben werden)
das Protokoll (in der Regel unix), welches vom Socket verwendet wird
der Referenzzähler, d.h. die Zahl der Prozesse, die diesen Socket
benutzen
die Flags, die angezeigt werden sind SO_ACCEPTON (angezeigt als
ACC),
SO_WAITDATA (
W) oder SO_NOSPACE (
N). SO_ACCECPTON wird auf
unverbundenen Sockets verwendet, wenn die zugehörigen Sockets auf
Verbindungsanfragen warten. Die anderen Flags sind normalerweise nicht von
Interesse.
Es gibt verschiedene Arten von Socketzugriff:
- SOCK_DGRAM
- Der Socket wird im verbindungslosen Datagram-Modus
verwendet.
- SOCK_STREAM
- Dies ist ein verbindungsorientierter Stream-Socket.
- SOCK_RAW
- Der Socket wird als RAW-Socket verwendet.
- SOCK_RDM
- Dieser Socket bedient zuverlässig zugestellte
Nachrichten.
- SOCK_SEQPACKET
- Dies ist ein Socket, der die Zustellung in der richtigen
Reihenfolge garantiert.
- SOCK_PACKET
- Socket mit direktem (RAW) Zugriff auf die
Schnittstelle.
- UNKNOWN
- Wer weiß, was uns die Zukunft bringt, soll es hier
hinschreiben :-)
Dieses Feld enthält eines der folgenden Schlüsselworte:
- FREI
- Der Socket ist unbenutzt
- HÖrt
- Der Socket lauscht auf Verbindungsanfragen. Diese Sockets
werden nur angezeigt, wenn die -a,--listening Option gesetzt
ist.
- VERBINDUNGSAUFBAU
- Auf dem Socket wird gerade eine Verbindung aufgebaut.
- VERBUNDEN
- Auf dem Socket ist Verbindung aufgebaut.
- VERBINDUNGSABBAU
- Die Verbindung des Sockets wird gerade abgebaut.
- (empty)
- Der Socket hat keine Verbundung zu einem anderen
Socket.
- UNKNOWN
- Unbekannt - ein Socket sollte niemals in diesem Zustand
sein.
Prozess-ID und Programmname des Programs, das diesen Socket hält. Details
siehe oben unter
Aktive Internetverbindungen.
Zeigt den Pfad des Prozesses an, welcher den Socket hält.
(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben
werden.)
(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben
werden.)
(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben
werden.)
Seit der Kern Version 2.2 zeigt netstat -i keine Schnittstellenstatistiken von
Schnittstellenaliasen mehr an. Um Statistiken per Schnittstelle zur erhalten,
müssen jetzt mit dem
iptables(8) Befehl explizite Regeln
zugefügt werden.
/etc/services -- Die Zuordungstabelle für Netzwerksdienste
/proc/net/dev -- Informationen üeber Netzwerksschnittstellen
/proc/net/raw -- Informationen über RAW-Sockets
/proc/net/tcp -- Informationen über TCP-Sockets
/proc/net/udp -- Informationen über UDP-Sockets
/proc/net/igmp -- IGMP-bezogene Informationen
/proc/net/unix -- Informationen über UNIX-Sockets
/proc/net/ipx -- Informationen üeber IPX-Sockets
/proc/net/ax25 -- Informationen über AX25-Sockets
/proc/net/appeltalk -- Informationen über Appletalk-/DDP-Sockets
/proc/net/nr -- Informationen über NET/ROM-Sockets
/proc/net/route -- Informationen zu Kernelrouten
/proc/net/ax25_route -- Kernelinformationen zu AX25-Routen
/proc/net/ipx_route -- Kernelinformationen zu IPX-Routen
/proc/net/nr_nodes -- Kernelliste der NET/ROM-Knoten
/proc/net/nr_neigh -- Kernelliste der NET/ROM-Nachbarn
/proc/net/ip_masquerade -- Liste der maskierten Verbindungen
route(8),
ifconfig(8),
iptables(8),
proc(5),
ss(8),
ip(8)
Ändert sich der Zustand des Sockets, während er gerade angezeigt
wird, so können unsinnige Informationen ausgegeben werden. Dies ist
jedoch unwahrscheinlich.
Der beschriebene Parameter
netstat -i sollte nach einigem Säubern
der BETA-Version des Codes des Net-Tools Packets funktionieren.
Die Benutzerschnittstelle wurde von Fred Baumgarten
<
[email protected]> geschrieben, die Manpage zum
größten Teil von Matt Welsh <
[email protected]>. Sie
wurde von Alan Cox <
[email protected]> aktualisiert, benötigt
aber weitere Arbeit.
Die Manpage und der eigentliche
netstat Befehl wuren von Bernd Eckenfels
<
[email protected]> vollständig neu geschrieben.
Ralf Bächle <
[email protected]>