Netzwerkkommunikation oder: wie Knoten reden

Netzwerkdiagnose

Bei so etwas komplexen, wie einem Netzwerk kann es von Zeit zu Zeit eben auch zu Problemen kommen und es klappt eben nicht alles so, wie es soll. Für solche Fälle gibt es einen ganzen Satz von Diagnosewerkzeugen. Im Folgenden sollen die wichtigsten vorgestellt werden.

ping

Seit „Jagd auf Roter Oktober“ kennen wir es wohl alle: Das Ping:

Kapitän Ramius:
Gib mir ein Ping, Wassili; nur ein Ping…

Das Kommandozeilentool ping macht etwas ganz ähnliches, wie das Ping beim Sonar: Es sendet Datenpakete direkt auf Network-Layer-Ebene über ICMP an den angegebenen Host. Dieser wiederum sendet als Antwort die Daten einfach wieder zurück(echo). Die Zeit von der Anfrage bis zur Antwort(RTT – Round Trip Time oder auch RTD – Round Trip Delay), wird dabei gemessen und angezeigt. So lässt sich feststellen, ob ein bestimmter Host erreichbar ist, ob man selbst überhaupt eine Verbindung ins Netzwerk und von da aus ins Internet hat, etc.
Da ping Domainnamen automatisch (per DNS) auflöst, lässt sich damit auch recht einfach DNS testen.

Beispiel:

1
2
3
4
5
6
7
8
9
10
~$ ping www.wikipedia.de
PING www.wikipedia.de (80.67.25.148) 56(84) bytes of data.
64 bytes from m20s26da.ispgateway.de (80.67.25.148): icmp_seq=1 ttl=53 time=59.0 ms
64 bytes from m20s26da.ispgateway.de (80.67.25.148): icmp_seq=2 ttl=53 time=60.7 ms
64 bytes from m20s26da.ispgateway.de (80.67.25.148): icmp_seq=3 ttl=53 time=56.3 ms
64 bytes from m20s26da.ispgateway.de (80.67.25.148): icmp_seq=4 ttl=53 time=58.2 ms

--- www.wikipedia.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 56.393/58.624/60.786/1.575 ms

Die Windows-Version von Ping hört nach 4 Paketen auf und lässt sich mit dem Parameter -t in einen ‚Dauerping-Modus‘ versetzen. Die Linux-Version hingegen muss entweder per Strg+C abgebrochen oder mit dem Parameter -c auf eine bestimmte Anzahl zu sendender Pakete eingestellt werden. Mit weiteren Parametern lassen sich Intervalllängen, Paketgrößen und anderes einstellen.

Manchmal kann es auch sinnvoll sein, ein ping 127.0.0.1 durchzuführen. Wenn es nämlich Probleme mit dem TCP/IP-Stack gibt, kann es sein, dass selbst das nicht funktioniert…

traceroute/tracert

Hat man die Vermutung, dass die Netzwerkprobleme nicht bei einem selbst, sondern in eben solchen liegen, hilft u.U. tracert(Windows) bzw. traceroute(Linux) weiter: Diese Programme zeigen welchen Weg die gesendeten Pakete zurücklegen und an welcher Stelle es u.U. „klemmt“:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
~$ traceroute www.wikipedia.de
traceroute to www.wikipedia.de (80.67.25.148), 30 hops max, 40 byte packets
 1  Router (192.168.0.1)  2.843 ms  2.390 ms  1.805 ms
 2  * * *
 3  217.0.67.42 (217.0.67.42)  64.018 ms  46.705 ms  46.792 ms
 4  f-ee2.F.DE.net.DTAG.DE (62.154.15.18)  58.266 ms  85.071 ms  47.711 ms
 5  dtag-gw-fra1.de.lambdanet.net (193.159.225.178)  59.149 ms  49.033 ms dtag-gw-fra2.de.lambdanet.net (193.159.225.182)  45.397 ms
 6  MUC-8-pos700.de.lambdanet.net (217.71.105.230)  54.896 ms  54.274 ms  54.600 ms
 7  MUC-5-pos200.de.lambdanet.net (217.71.105.54)  61.154 ms  52.961 ms  53.354 ms
 8  ispgateway-MUC.de.lambdanet.net (217.71.104.190)  69.088 ms  55.245 ms  54.080 ms
 9  GigE-0-2.core.ispgateway.de (80.67.18.117)  68.967 ms  55.684 ms  53.558 ms
10  GigE-0-1.gate.ispgateway.de (80.67.18.114)  56.900 ms  57.672 ms  56.188 ms
11  vl200.c-room2-2.ispgateway.de (80.67.29.180)  69.295 ms  53.770 ms  55.872 ms
12  m20s26da.ispgateway.de (80.67.25.148)  69.578 ms  56.635 ms  57.226 ms

Dazu werden Pakete mit speziell präparierter TTL an den Zielhost gesendet: Zuerst beträgt die TTL 1 ==> der erste Knoten, an dem das Paket vorbeikommt, verringert die TTL, diese wird dadurch 0, das Paket wird verworfen und der Absender(also das traceroute-Programm) per ICMP darüber informiert. Als nächstes folgt ein Paket mit der TTL 2 ==> Dieses erreicht den 2. Knoten auf dem Weg zum Ziel. Das Ganze wird dann so lange wiederholt, bis der Zielhost das Paket erhält und damit der gesamte Weg abgelaufen wurde. Normalerweise werden immer drei Pakete gesendet. Deshalb ergeben sich sich drei Antwortzeiten pro Hop.

ipconfig/ifconfig

ipconfig(Windows) bzw. ifconfig(Linux) zeigt die aktuellen Einstellungen(IP-Adresse, Subnetzmaske, Standardgateway, etc.) für die einzelnen Netzwerkverbindungen an. Der Paramter /all bzw.-a zeigt alle Netzwerkadapter(also nicht nur die Aktiven) und unter Windows auch noch zusätzliche Infos an. Die Windows-Version kann über den Parameter /flushdns den DNS-Cache leeren, was insbesondere beim Untersuchen von DNS-Problemen wichtig sein kann und die Linux-Version kann Konfigurationen auch selbst vornehmen.

Sniffer

Sniffer wie Wireshark(vormals Ethereal) sind Programme, die den Netzwerkverkehr aufzeichnen und für Menschen lesbar aufbereitet anzeigen. So lässt sich dann also auch genau feststellen, welche Flags in den TCP-Headern gesetzt sind, etc. Das ist besonders interssant, wenn man vermutet, dass es Probleme auf Protokollebene gibt. Außerdem eignen sie sich gut dazu die einzelnen Protokolle zu verstehen, da man ihnen direkt bei der Arbeit „zusehen“ kann.
Auch, wenn Sniffer sehr gute Diagnosetools sind und helfen können die Sicherheit zu verbessern, so sind die durch den so genannten Hackerparagraphen in Deutschland in die rechtliche Grauzone gerückt. Ähnlich ist es mit dem oben erwähnten Tool Netcat. Zu den rechtlichen Aspekten sollte man sich zumindest den verlinkten Wikipedia-Artikel durchlesen.

[22] genauer: ADSL; Das ‚A‘ steht hierbei für ‚asymmetric‘ und erklärt sich dadurch, dass die Upload-Geschwindigkeit deutlich geringer ist als die Downloadgeschwindigkeit.
[23] Siehe hierzu die Wikipedia-Artikel DSL, ADSL, PPPoE und How PPPoE fits in.

Kapitel: | Zurück | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Weiter |

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.