Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 2001 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



Der Befehl netstat

Als nächstes wenden wir uns einem nützlichen Werkzeug zu, mit dem Sie die Konfiguration und die Aktivität Ihres Netzes überprüfen können. Es heißt netstat und ist eher eine ganze Sammlung von Werkzeugen, die in einem Programm zusammengepackt worden sind. Wir werden jede seiner Funktionen in den folgenden Abschnitten besprechen.

Anzeigen der Routing-Tabelle

Wenn Sie netstat mit dem Flag –r aufrufen, gibt es die Routing-Tabellen des Kernels aus; ähnlich, wie Sie es oben bereits bei route gesehen haben. Auf vstout erzeugt es ungefähr folgende Ausgabe:

# netstat -nr 
Kernel IP routing table 
Destination   Gateway      Genmask         Flags  MSS Window  irtt Iface 
127.0.0.1     *            255.255.255.255 UH       0 0          0 lo 
172.16.1.0    *            255.255.255.0   U        0 0          0 eth0 
172.16.2.0    172.16.1.1   255.255.255.0   UG       0 0          0 eth0

Die Option –n sorgt zusätzlich dafür, daß netstat die Adressen statt als symbolische Host- und Netzwerknamen direkt in dezimaler Notation ausgibt. Das ist dann nützlich, wenn Sie verhindern wollen, daß langwierige Adreßauflösungsanfragen über das Netzwerk ausgeführt werden, zum Beispiel beim DNS- oder NIS-Server.

Die zweite Spalte der netstat-Ausgabe zeigt jeweils das Ziel der Route an. Die zweite Spalte gibt das Gateway an, auf das der Routing-Eintrag zeigt. Wird kein Gateway verwendet, wird statt dessen ein Sternchen ausgegeben. Die dritte Spalte gibt Auskunft über die “Allgemeinheit” der Route, d.h. deren Netzmaske. Wenn der Kernel eine IP-Adresse erhält, für die er eine angemessene Route finden soll, dann durchsucht er alle Einträge in der Routing-Tabelle und führt eine bitweise UND-Verknüpfung mit der Adresse und der Genmask durch, bevor er sie mit dem Ziel der Route vergleicht.

Die vierte Spalte zeigt verschiedene Flags, die die Route näher charakterisieren.

G

Die Route geht durch ein Gateway.

U

Das zu verwendende Interface ist aktiv.

H

Die Route zeigt auf einen einzelnen Host, wie das z.B. beim Loopback-Eintrag 127.0.0.1 der Fall ist.

D

Diese Route wurde dynamisch erzeugt. Dieses Flag ist gesetzt, wenn der Tabelleneintrag von einem Routing-Dämon wie gated oder durch eine ICMP-Redirect-Nachricht generiert wurde (siehe Abschnitt Das Internet Control Message Protocol in Kapitel 2).

M

Dieses Flag ist gesetzt, wenn der entsprechende Tabelleneintrag durch eine ICMP-Redirect-Nachricht verändert wurde. Der Tabelleneintrag wurde durch einen ICMP-Redirect modifiziert.

!

Alle Datagramme werden verworfen.

Die nächsten drei Spalten geben Auskunft über die maximale Segmentgröße (MSS, Maximum Segment Size), das Fenster sowie über die Anfangsumlaufzeit (irtt, initial round trip time), die auf die über diese Route etablierten TCP-Verbindungen anzuwenden sind. Die MSS bezeichnet den Umfang des größten IP-Pakets, das der Kernel über diese Route verschickt. Mit dem Fenster ist die maximale Datenmenge gemeint, die von einem Remote-Host auf einmal empfangen werden kann. Das TCP-Protokoll stellt sicher, daß die Daten zwischen den Hosts zuverlässig übertragen werden. Falls Datenpakete unterwegs verlorengehen, wird die Übertragung dieser fehlenden Pakete automatisch wiederholt. Das TCP-Protokoll ermittelt am Anfang einer Übertragung, wie lange das gesendete Datenpaket zum Remote-Host braucht, und ermittelt aus der Zeit bis zur Rückantwort einen Wert, der für die weitere Datenübertragung als Maß dient, ob ein IP-Paket ggf. wiederholt werden muß. Diese Zeit wird als round trip time bezeichnet. Der Vorgabewert wird vom TCP-Protokoll beim erstmaligen Verbindungsaufbau benutzt. Für die meisten Netzwerktypen ist der Standardwert akzeptabel, für einige langsame Netzwerke, besonders Amateur-Paket-Radio-Netzwerke, ist die Zeit aber eindeutig zu kurz, so daß es hier zu unnötig häufigen Wiederholungen kommt. Der irtt-Wert kann mit dem route-Befehl eingestellt werden. Nullwerte in diesen Spalten bedeuten, daß Standardwerte benutzt werden.

Schließlich gibt das letzte Feld die Netzwerkschnittstelle an, die die Route benutzt.

Anzeige der Interface-Statistiken

Wenn Sie netstat mit dem Flag –i aufrufen, gibt es die Statistiken für die gerade aktiven Netzwerkschnittstellen aus. Geben Sie außerdem das Flag –a mit an, werden alle im Kernel vorhandenen Schnittstellen ausgegeben, nicht nur die konfigurierten. Auf vstout gibt netstat in etwa folgendes aus:

# netstat -i 
Kernel Interface table 
Iface MTU Met  RX-OK RX-ERR RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flags 
lo      0   0   3185      0      0      0   3185      0      0      0 BLRU 
eth0 1500   0 972633     17     20    120 628711    217      0      0 BRU

Die Spalten MTU und Met geben die aktuelle MTU und Metrik der Schnittstelle an. Die mit RX bzw. TX überschriebenen Spalten geben an, wie viele Pakete fehlerfrei empfangen bzw. gesendet wurden (RX-OK/TX-OK), wie viele beschädigt waren (RX-ERR/TX-ERR), wie viele verworfen werden mußten (RX-DRP/TX-DRP) und wie viele aufgrund eines Overruns verlorengingen (RX-OVR/TX-OVR).

Die letzte Spalte zeigt wieder die Flags an, die für die Schnittstelle gesetzt sind. Das sind einbuchstabige Versionen der langen Flag-Namen, die ifconfig ausgibt:

B

Eine Broadcast-Adresse wurde gesetzt.

L

Die Schnittstelle ist ein Loopback-Device.

M

Alle Pakete werden empfangen (promiskuöser Modus).

O

ARP ist an dieser Schnittstelle abgeschaltet.

P

Hier handelt es sich um eine Punkt-zu-Punkt-Verbindung.

R

Die Schnittstelle läuft.

U

Die Schnittstelle ist aktiv.

Anzeigen der Verbindungen

netstat bietet eine Reihe von Optionen, mit denen Sie aktive und passive Sockets auflisten können. Die Argumente –t, –u, –w und –x zeigen aktive TCP-, UDP-, RAW- und UNIX-Sockets. Wenn Sie zusätzlich –a angeben, sehen Sie außerdem die Sockets, die gerade auf eine Verbindung warten. Auf diese Weise erhalten Sie eine Liste aller Server, die derzeit auf Ihrem System laufen.

Ein Aufruf von netstat -ta ergibt auf vlager:

$ netstat -ta 
Active Internet Connections 
Proto Recv-Q Send-Q Local Address    Foreign Address    (State) 
tcp        0      0 *:domain         *:*                LISTEN 
tcp        0      0 *:time           *:*                LISTEN 
tcp        0      0 *:smtp           *:*                LISTEN 
tcp        0      0 vlager:smtp      vstout:1040        ESTABLISHED 
tcp        0      0 *:telnet         *:*                LISTEN 
tcp        0      0 localhost:1046   vbardolino:telnet  ESTABLISHED 
tcp        0      0 *:chargen        *:*                LISTEN 
tcp        0      0 *:daytime        *:*                LISTEN 
tcp        0      0 *:discard        *:*                LISTEN 
tcp        0      0 *:echo           *:*                LISTEN 
tcp        0      0 *:shell          *:*                LISTEN 
tcp        0      0 *:login          *:*                LISTEN

Man sieht, daß die meisten Server einfach auf eine eingehende Verbindung warten, da sie sich im Zustand LISTEN befinden. Die vierte Zeile zeigt allerdings eine SMTP-Verbindung von vstout, und die sechste Zeile besagt, daß eine ausgehende telnet-Verbindung zu vbardolino besteht.1

Wenn Sie netstat nur mit der Option –a aufrufen, zeigt es eine Liste aller Sockets aus allen Familien.




1.

Die Richtung einer Verbindung können Sie anhand der auftauchenden Portnummern erkennen. Das Ziel einer telnet-Verbindung zum Beispiel ist immer der Port 23, den netstat hier mit seinem symbolischen Namen ausgibt, der in /etc/services definiert ist. Der Port auf dem Ausgangsrechner dagegen ist so gut wie nie ein bekannter Service-Port, weshalb netstat auch nur eine normale Zahl anzeigt.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag