Netstat: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 173: Zeile 173:
= Manpage =
= Manpage =
NETSTAT(8)                                                    Handbuch für Linuxprogrammierer                                                    NETSTAT(8)
NETSTAT(8)                                                    Handbuch für Linuxprogrammierer                                                    NETSTAT(8)
== SYNOPSIS ==
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}


== BESCHREIBUNG ==
== BESCHREIBUNG ==

Version vom 29. Januar 2023, 23:59 Uhr

netstat - Anzeige von Netzwerksverbindungen, Routentabellen, Schnittstellenstatistiken, maskierten Verbindungen, Netlink-Nachrichten und Mitgliedschaft in Multicastgruppen

Beschreibung

Netstat zeigt Informationen des Linux-Netzwerkssystems an.

  • Neben netstat zeigt auch iptstate vorhandene Netzwerkverbindungen (mit Anzeige in Echtzeit).

Installation

Das Programm netstat ist im Paket net-tools enthalten.

# apt install net-tools

Anwendungen

Netzwerkverbindungen anzeigen

Eignet sich zum Anzeigen der aktuell vorhandenen Netzwerkverbindungen.

# netstat -tapen
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode      PID/Program name   
tcp        0      0 0.0.0.0:5060                0.0.0.0:*                   LISTEN      500        66008      3260/twinkle        
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      0          5355       1289/rpcbind        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      0          6668       1589/sshd           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      0          5505       1322/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      0          12548      2297/sendmail: acce 
tcp        0      0 0.0.0.0:33466               0.0.0.0:*                   LISTEN      0          6486       1532/rpc.statd      
tcp        0      0 192.168.1.52:59861          192.168.1.254:22            ESTABLISHED 500        100032     3703/ssh            
tcp        0      0 192.168.1.52:36330          217.188.215.74:443          ESTABLISHED 500        104396     2608/firefox        
tcp        0      0 192.168.1.52:33252          74.125.79.97:443            ESTABLISHED 500        101832     2608/firefox        
tcp        0      0 :::111                      :::*                        LISTEN      0          5360       1289/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      0          6670       1589/sshd           
tcp        0      0 ::1:631                     :::*                        LISTEN      0          5504       1322/cupsd


Ausgabe von netstat

# netstat -tapen
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name   
tcp        0      0 127.0.0.1:2208          0.0.0.0:*               LISTEN     0          17755      5328/hpiod          
tcp        0      0 127.0.0.1:111           0.0.0.0:*               LISTEN     0          14881      4339/portmap        
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     0          17723      5304/cupsd          
tcp        0      0 0.0.0.0:4185            0.0.0.0:*               LISTEN     113        18098      5607/rpc.statd      
tcp        0      0 127.0.0.1:2207          0.0.0.0:*               LISTEN     107        17768      5333/python         
tcp        0      0 192.168.4.6:4462        192.168.5.5:993         VERBUNDEN  1000       22697      6425/sylpheed-claws 
tcp        0      0 192.168.4.6:3165        84.19.178.217:5222      VERBUNDEN  1000       20523      5895/gajim          
tcp        0      0 192.168.4.6:3780        192.168.5.5:5222        VERBUNDEN  1000       20526      5895/gajim          
tcp6       0      0 :::22                   :::*                    LISTEN     0          17999      5531/sshd           
udp        0      0 0.0.0.0:1024            0.0.0.0:*                          113        18093      5607/rpc.statd      
udp        0      0 0.0.0.0:695             0.0.0.0:*                          0          18084      5607/rpc.statd      
udp        0      0 127.0.0.1:111           0.0.0.0:*                          0          14880      4339/portmap        
udp        0      0 0.0.0.0:631             0.0.0.0:*                          0          17726      5304/cupsd          
udp        0      0 192.168.4.6:123         0.0.0.0:*                          0          18130      5627/ntpd           
udp        0      0 127.0.0.1:123           0.0.0.0:*                          0          18129      5627/ntpd           
udp        0      0 0.0.0.0:123             0.0.0.0:*                          0          18124      5627/ntpd           
udp6       0      0 fe80::211:d8ff:fe6f:123 :::*                               0          18128      5627/ntpd           
udp6       0      0 fe80::20e:35ff:feba:123 :::*                               0          18127      5627/ntpd
udp6       0      0 ::1:123                 :::*                               0          18126      5627/ntpd
udp6       0      0 :::123                  :::*                               0          18125 
Die wichtigsten Spalten in dieser Tabelle sind folgende
  • Proto Das Protokoll: unix, tcp oder udp. IP-Version-6-Verbindungen werden durch eine angehängte "6" gekennzeichnet.
  • Local Address Die IP-Adresse oder der DNS-Name der Schnittstelle, über die diese Verbindung läuft, sowie durch einen Doppelpunkt abgetrennt die Portnummer. Die IP-Adresse ist entweder eine der gültigen Adressen, unter der der Rechner im Netz zu erreichen ist, oder eine der folgenden:
  • Foreign Address Adresse und Port der Gegenstelle der Verbindung. Die jeweilige Universal-Adresse (0.0.0.0 bzw. ::) bedeutet, dass hier ein Dienst auf Verbindungen von außen wartet.
  • State Status der Verbindung. UDP ist ein statusloses Protokoll, deswegen ist diese Spalte bei UDP-Sockets leer.
  • Benutzer Die Benutzer-ID, der das Socket gehört.
  • PID/Program name Prozess-ID und Programmname des Prozesses, dem das Socket gehört.

Routingtabellen anzeigen

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
default         192.168.1.254   0.0.0.0         UG        0 0          0 eth0

Interface Statistiken anzeigen

# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0    26524      0      0      0    22118      0      0      0 BMRU
lo        16436   0       34      0      0      0       34      0      0      0 LRU

Syntax

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}

Optionen

keine Der Standard-Modus. Informiert über offene Netzwerk-
--route -r Gibt die Routing-Tabelle des Kernels aus, ähnlich wie der route-Befehl.
--interface -i Gibt Statistiken über die übertragenen Pakete an den einzelnen Netzwerkschnittstellen aus.
--statistics -s Noch ausführlichere Statistiken.
--masquerade -M Liste aller aktuellen "maskierten" Verbindungen
--groups -g Informationen über Multicast-Gruppen.
--help -h Hilfe anzeigen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

  1. route(8)
  2. ifconfig(8)
  3. iptables(8)
  4. proc(5)
  5. ss(8)
  6. ip(8)

Links

Projekt-Homepage

Weblinks

  1. commands-for-linux-network-management
  2. GNU Core Utilities
  3. Manpage

Einzelnachweise

Testfragen

Wie lautet der Befehl um Routing Tabellen anzeigen zulassen?

netstat -r

Wie lautet der Befehl um Interface Statistiken anzeigen zulassen?

netstat -i

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


Manpage

NETSTAT(8) Handbuch für Linuxprogrammierer NETSTAT(8)

BESCHREIBUNG

(no option)

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.

-r, --route

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).

-i, --interfaces

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).

-M, --masquerade

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.

-N, --netlink

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.

OPTIONEN

-v, --verbose

macht detailiertere Ausgaben. Insbesondere wird ausgegeben, welche Adressfamilien nicht im Kernel konfiguriert sind.

-n, --numeric

gibt numerische Adressen anstelle von Rechner-, Port- oder Benutzernamen aus.

-p, --programs

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.

-A, --af Familie

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.

-c, --continuous

Mit dieser Option wiederholt netstat im Sekundenabstand die Ausgabe, bis es abgebrochen wird.

AUSGABE

Aktive Internet-Verbindungen (TCP, UDP, RAW) Proto

Das vom Socket verwendete Protokoll (TCP, UDP, RAW).

Recv-Q

Die Anzahl von Bytes, die noch nicht von der Anwendung vom Socket abgeholt wurden.

Send-Q

Die Anzahl von Bytes, die von der Gegenseite noch nicht bestätigt wurde.

Lokale Adresse

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.

Gegenadresse

Die Adresse und Portnummer der Gegenseite des Sockets. Wie bei lokalen Adressen werden mit -n Rechneradresse und Portnummer numerisch angezeigt.

State

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.

Benutzer

Der Name oder die Benutzer-ID des Eigentümers des Sockets.

PID/Program name

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.

Timer

(dies muss noch geschrieben werden)

aktive Sockets in der UNIX Domäne Proto

das Protokoll (in der Regel unix), welches vom Socket verwendet wird

RefZäh

der Referenzzähler, d.h. die Zahl der Prozesse, die diesen Socket benutzen

Flaggen

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.

Typ

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 :-)

Zustand

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.

PID/Programmname

Prozess-ID und Programmname des Programs, das diesen Socket hält. Details siehe oben unter Aktive Internetverbindungen.

Pfad

Zeigt den Pfad des Prozesses an, welcher den Socket hält.

Aktive IPX-Sockets

(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben werden.)

Aktive NET/ROM-Verbindungen

(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben werden.)

Aktive AX.25-Verbindungen

(Dieser Abschnitt sollte von jemandem, der davon Ahnung hat, geschrieben werden.)

BEMERKUNGEN

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.

DATEIEN

/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

PROBLEME

  • Ä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.