Netstat/Anwendungen

Aus Foxwiki

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.

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

Routingtabelle 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

Fehlerbehebung

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