- ICMP und ping
- Verbindung zwischen Prozessen: netstat
- Anzeigen der Netzwerkadapter
- Anzeigen der Routingtabelle
- Routen verfolgen: traceroute
- HP-UX: lanadmin
UNIX stellt einige Werkzeuge für das Netzwerk zur Verfügung. Das Programm ping wurde bereits behandelt. Hier werden noch weitere nützliche Helfer vorgestellt, die man kennen sollte.
ICMP und ping
Die Verbindung zwischen zwei Rechnern wird am einfachsten über ping geprüft. ping gehört zur Protokollfamilie ICMP (Internet Control Message Protocol). ICMP-Pakete werden versandt, wenn
- der Zielrechner in Daten ersäuft.
- ein Zwischenrechner erkennt, dass das Ziel unerreichbar ist
- ein Routingeintrag fehlerhaft ist, und das Senden über ein anderes Gateway sinnvoller ist.
- eine Prüfung der Strecke erforderlich ist.
ping prüft Leitungen, nicht Rechner
Die Tatsache, dass ein Rechner auf ein Pingsignal reagiert, heißt nicht zwingend, dass er auch arbeitsfähig ist. So reagiert das OS/2 PC/TCP sogar noch, wenn der Rechner in den Systemabschluss gefahren wurde und noch nicht ausgeschaltet wurde. Aber es sagt genau das, was es soll, dass nämlich eine Netzwerkverbindung zu dem Rechner besteht und zumindest ein minimaler TCP/IP Service läuft.Mit ping kann man recht schnell einige Problemen erkennen bzw. ausschließen. Hier sind ein paar Handgriffe und ihre Interpretation genannt. Als Beispiel dient ein Computer mit der TCP/IP Nummer 192.168.109.144 namens gaston.
- ping auf die eigene IP-Adresse
-
Dieser Test ist gar nicht so unsinnig, wie es sich anhört. Manchmal hat man
einfach die falsche IP-Nummer eingetragen oder der Netzadapter ist einfach
nicht ok. Beispiel:
ping 192.168.109.144
- ping auf IP-Adresse im eigenen Subnetz
-
Ist der Anschluss an das Netz ok? Arbeitet die eigene TCP/IP Installation?
ping 192.168.109.99
- ping auf den eigenen Hostnamen
-
Je nachdem, ob der Name per /etc/hosts oder DNS aufgelöst wird, weiß man
eine rudimentäre Namensauflösung besitzt.
ping gaston
- ping auf einen Rechner hinter dem Router
-
Meldet der eigene Rechner: >>no route to host<<, stimmen die Routing
Tabellen nicht. Kommt die Meldung vom Router, hat er ein Problem. Kommt
gar keine Antwort, wird der adressierte Rechner ein Problem mit dem
Routing haben oder einfach abgeschaltet sein.
ping 10.4.4.4
- ping mit großen Paketen
-
Man kann den ping als Option größere Pakete senden lassen. Fallen dabei
offensichtlich Pakete aus, gibt es Rauschen auf der Leitung oder die
Fragmentierung eines beteiligten Rechners klappt nicht. Letzteres passierte
auf alten SCO-Versionen, wenn ihnen die Netzwerkpuffer ausgingen.
Typischer ist allerdings dieses Problem bei Koaxial Ethernetverbindungen,
die oft Probleme durch Wackelkontakte inbesondere an den Abschlusswiderständen
haben.
Mit großen Paketen kann man auch eine hohe Netzlast simulieren.
ping -s 40000 192.168.109.143
Verbindung zwischen Prozessen: netstat
Die Verbindung zwischen Prozessen wird mit Hilfe des Befehls netstat angezeigt. Bei jeder Verbindung werden die beiden Verbindungsendpunkte aufgelistet. Dies ist die IP-Adresse gefolgt von dem verwendeten Port.
Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 gaston.willemer.edu:ftp silver.willemer.ed:1072 ESTABLISHED tcp 0 0 gaston.willemer.:telnet silver.willemer.ed:1071 ESTABLISHED tcp 1 0 217.3.183.140:1253 195.30.193.73:www-http CLOSE_WAIT tcp 1 0 217.3.183.140:1252 195.30.193.73:www-http CLOSE_WAIT tcp 1 0 217.3.183.140:1251 195.30.193.73:www-http CLOSE_WAIT |
Local Address zeigt die Sockets dieser Maschine und Foreign Address die verbundenen Maschinen. Die Zahlen hinter den Maschinen sind die Sockets, die durch die Namen der Ports ersetzt sind, sofern sie in der /etc/services aufgeführt sind.
Verbindungsstatus
Unter State steht der Status der Verbindung. Er ist ESTABLISHED, wenn die Verbindung angefordert wurde und von der anderen Seite bestätigt ist. FIN oder FIN_WAIT zeigt an, dass eine Verbindung abgebaut wurde. Beim Aufbau einer Verbindung sendet der Client eine SYN-Anfrage. Der Server sendet daraufhin ein SYN-ACK. Der Client sendet anschließend ein ACK-Data.
Einseitig abgebaute Verbindungen blockieren
Bei abbauenden Verbindungen entsteht das Problem, dass der Port nicht sofort wieder vergeben werden kann. Ist also beispielsweise ein Server-Prozess abgestürzt, der eine Verbindung auf den well-known port hielt, kann er erst wieder gestartet werden, wenn die letzte Verbindung zu diesem Port aufgelöst wurde. Das bedeutet, dass alle Clients erst geschlossen werden müssen. Ist das Neustarten des Servers zeitkritisch, kann es sinnvoll sein, die Maschine kurz mit ifconfig le0 down oder gar durch Versetzen in den Single User Modus von den Verbindungsaufforderungen zu befreien.Anzeigen der Netzwerkadapter
Mit dem Befehl netstat -i kann man sich die vorhandenen Netzwerkschnittstellen anzeigen lassen. Dieser Befehl zeigt auch Informationen über die Pakete, die über die Schnittstelle gelaufen sind. Neben den statischen Ethernetadaptern gibt es aber auch virtuelle Adapter wie ISDN- oder Modemverbindungen, die nur im Augenblick einer Verbindung ansprechbar sind.
gaston> netstat -i Kernel Schnittstellentabelle Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 0 0 0 0 4 0 0 0 BMRU lo 16436 0 259 0 0 0 259 0 0 0 LRU ppp0 1524 0 31 0 0 0 35 0 0 0 MOPRU gaston> netstat -i Kernel Schnittstellentabelle Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 0 0 0 0 4 0 0 0 BMRU lo 16436 0 421 0 0 0 421 0 0 0 LRU |
In der linken Spalte finden sich die Schnittstellen des Rechners. In der nächsten Spalte die Paketgröße. Es folgen Statistiken über die versandten und die fehlerhaften Pakete. Diese Zahlen werden aufsummiert und sind bei Rechnern, die lange im Netz stehen, manchmal recht hoch.
Netzdevices kommen und gehen
Im Beispiel sieht man bei der ersten Anfrage ein ppp0-Device. Dies ist nur solange vorhanden, wie der Rechner Kontakt zum Internet hat. Beim zweiten Aufruf war die Verbindung bereits wieder geschlossen.Das folgende Ausgabe stammt von einer HP-UX Maschine. Man sieht hier, dass nicht aktuell aktive Devices zwar angezeigt werden aber nicht belegt sind.
hpsrv# netstat -i Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ni0* 0 none none 0 0 0 0 0 ni1* 0 none none 0 0 0 0 0 lo0 4608 loopback localhost 86 0 86 0 0 lan0 1497 192.168.109 hpsrv 75 0 63 0 0 hpsrv# |
In den Spalten Ipkts und Opkts werden die Anzahl der Pakete seit dem Booten angezeigt. Ierrs und Oerrs sind dabei die Fehlerpakete. Dabei steht I für Input und O für Output. Damit kann der Datenverkehr genauer analysiert werden. Die Spalte Coll zeigt die Kollision von Paketen auf dem Netz. Bei Ethernet gehören Kollisionen zum Protokoll. Liegt der Anteil aber merkbar hoch, kommt es häufig zu Kollisionen. Dann sollte man versuchen, die Netzlast zu reduzieren.
Anzeigen der Routingtabelle
Zum Anzeigen und Kontrolle der eingetragenen Routen dient der Befehl netstat mit der Option -r.
gaston# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.109.0 * 255.255.255.0 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo |
Dieser Rechner hat nur einen Netzadapter und loopback. Es gibt auch nur die eine Route auf sein eigenes Netz. Die angezeigten Flags haben die folgende Bedeutung
Flag | Bedeutung |
---|---|
U | used: die Route wird verwendet |
G | gateway: die Route zeigt auf ein ganzes Netz über ein Gateway |
H | host: diese Route zeigt nur auf einen einzelnen Rechner |
D | dumped: wurde durch dynamisches Routen abgeschaltet |
Routen verfolgen: traceroute
Der Befehl traceroute (tracerou im PCTCP, tracert unter MS-Windows) liefert Informationen darüber, welche Gateways auf dem Weg von diesem Rechner zum Zielrechner passiert werden. Richtig interessant ist der Befehl natürlich, wenn man Internetadressen anfragt. Als Parameter nimmt der Aufruf Rechnername oder IP-Nummer. Als Beispiel wird die Route zur www.willemer.de verfolgt.
gaston# traceroute www.willemer.de traceroute to www.willemer.de (212.227.118.90), 30 hops max, 40 byte packets 1 217.5.127.105 (217.5.127.105) 59 ms 50 ms 50 ms 2 217.5.127.94 (217.5.127.94) 50 ms 50 ms 50 ms 3 FL-EB1.FL.DE.net.dtag.de (62.154.11.159) 50 ms 50 ms 50 ms 4 F-gw12.F.net.DTAG.DE (62.154.17.194) 60 ms 60 ms 60 ms 5 62.156.128.106 (62.156.128.106) 60 ms 60 ms 70 ms 6 so-1100.gw-backbone-a.ka.schlund.net (212.227.112.85) 60 ms 60 ms 61 ms 7 c1.gw-core-a.ka.schlund.net (195.20.224.19) 59 ms 70 ms 60 ms 8 * kundenserver.de (212.227.118.90) 71 ms 70 ms gaston# |
Wenn bei der Routenverfolgung nur noch Sterne angezeigt werden, dann deutet dies auf einen Fehler ab der letzten angezeigten, also funktionierenden Route hin. Interessant ist diese Information um festzustellen, ob ein Problem innerhalb oder außerhalb der eigenen Routenverantwortlichkeit liegt und um evtl. weitere Schritte einleiten zu können.
HP-UX: lanadmin
HP-UX stellt mit dem lanadm ein interaktives Programm zur Verfügung, mit dem man Statistiken auf der Paketebene sehen kann. Nach dem Starten erreicht man ein Menü, von dessen Punkten lan interessant ist. Im nächsten Menü kann man die Statistik wieder zurücksetzen. Mit dem Kommando display erhält mein eine Statistik. Mit clear werden die Statistiken zurückgesetzt.
1 vgl. Ziegler, Robert: Linux Firewalls. Markt+Technik, München, 2000. S. 61.
Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Wie werde ich UNIX-Guru? |