ICMP: Fehlerdiagnose mit Ping und Traceroute
ICMP übermittelt Status-, Fehler- und Diagnosemeldungen in IP-Netzen. Router und Rechner können damit beispielsweise melden, dass ein Paket sein Ziel nicht erreicht oder seine Lebensdauer abgelaufen ist. Ping und Traceroute nutzen solche Nachrichten für Netzwerktests.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Welche Aufgabe hat ICMP im Netzwerk?
Wenn ein Router ein IP-Paket nicht weiterleiten kann, braucht der Absender eine verständliche Rückmeldung. Dafür gibt es das Internet Control Message Protocol, kurz ICMP.
ICMP
ICMP ist ein Kontroll- und Diagnoseprotokoll für IP-Netze. Es überträgt Statusinformationen und Fehlermeldungen zwischen Rechnern und Netzwerkgeräten.
Eine typische Abfolge sieht so aus:
- Ein Rechner sendet ein IP-Paket.
- Ein Router kann das Paket nicht zustellen oder muss es verwerfen.
- Der Router schickt eine passende ICMP-Nachricht an die Quell-IP-Adresse zurück.
- Der sendende Rechner oder ein Diagnoseprogramm wertet die Rückmeldung aus.
ICMP macht die Übertragung dadurch nicht zuverlässig. Das Protokoll fordert nicht automatisch verlorene Nutzdaten erneut an und stellt auch nicht deren richtige Reihenfolge her. Solche Aufgaben übernehmen bei Bedarf andere Protokolle oder Anwendungen.
ICMP ist außerdem verbindungslos: Es baut vor einer Nachricht keine Verbindung und keinen TCP-Handshake auf. Es verwendet auch keine Portnummer, um einen bestimmten Anwendungsdienst anzusprechen.
IP transportiert Pakete. ICMP berichtet über ausgewählte Zustände und Probleme dieses Transports.
Wie ist eine ICMP-Nachricht aufgebaut?
Eine ICMP-Nachricht liegt im Datenbereich eines IP-Pakets. Im IPv4-Header kennzeichnet die Protokollnummer 1 ICMP. Für ICMPv6 wird die Nummer 58 verwendet.
Der ICMP-Header beginnt mit drei wichtigen Angaben:
- Typ: bezeichnet die Art der Nachricht, etwa Echo Request oder Time Exceeded.
- Code: präzisiert die Bedeutung innerhalb eines Typs.
- Prüfsumme: hilft, Übertragungsfehler in der ICMP-Nachricht zu erkennen.
Danach folgt ein typabhängiger Datenbereich. Bei Fehlermeldungen können darin Teile des auslösenden IP-Pakets stehen. So kann der Empfänger die Meldung dem ursprünglichen Vorgang zuordnen. Der genaue Inhalt hängt vom Nachrichtentyp und von der IP-Version ab.
Ein Router kann ein Paket nicht zum Ziel weiterleiten. Er sendet eine Nachricht des Typs Destination Unreachable zurück. Der Code grenzt den Grund genauer ein, beispielsweise einen nicht erreichbaren Host oder Port.
Der Typ beantwortet also die Frage: Was ist grundsätzlich passiert? Der Code beantwortet: Welche genauere Variante liegt vor?
Für häufige Diagnosevorgänge sind diese Typen wichtig:
| Bedeutung | ICMP für IPv4 | ICMPv6 |
|---|---|---|
| Echo Reply | 0 | 129 |
| Destination Unreachable | 3 | 1 |
| Echo Request | 8 | 128 |
| Time Exceeded | 11 | 3 |
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Der bezeichnet die Art einer ICMP-Nachricht. Der präzisiert diese Art. ICMP wird in ein eingebettet und verwendet selbst .
Was verrät ein Ping wirklich?
Ping prüft mit ICMP-Echo-Nachrichten, ob ein Ziel antwortet, und misst die Laufzeit für Hin- und Rückweg.
- Der Ausgangsrechner sendet einen Echo Request.
- Ein erreichbares und antwortendes Ziel sendet einen Echo Reply zurück.
- Aus der vergangenen Zeit ergibt sich die Round Trip Time, kurz RTT.
Round Trip Time
Die Round Trip Time ist die Zeit vom Absenden einer Anfrage bis zum Eintreffen der zugehörigen Antwort. Sie umfasst Hin- und Rückweg sowie die Verarbeitung unterwegs.
Ein Diagnoseprogramm sendet vier Echo Requests. Drei Echo Replies treffen ein, einer nicht.
Daraus darfst du ableiten: Das Ziel hat mindestens zeitweise geantwortet, und bei einem Versuch kam keine Antwort an. Du darfst daraus allein noch nicht ableiten, an welcher Stelle die Antwort verloren ging oder warum sie ausblieb.
Eine erfolgreiche Antwort belegt die Erreichbarkeit für diesen Versuch. Eine ausbleibende Antwort hat dagegen mehrere mögliche Ursachen:
- Das Ziel oder ein Teil des Weges ist nicht erreichbar.
- Ein Paket oder seine Antwort ging verloren.
- Eine Firewall oder ein Gerät filtert Echo-Nachrichten.
- Das Ziel ist erreichbar, beantwortet Echo Requests aber nicht.
Ping und ICMP sind nicht dasselbe: ICMP ist das Protokoll, Ping ein Diagnosewerkzeug, das Echo Request und Echo Reply verwendet.
Wie findet Traceroute die Zwischenstationen?
Jedes IP-Paket besitzt eine begrenzte Lebensdauer. Bei IPv4 heißt das zugehörige Feld Time to Live, kurz TTL. Jeder weiterleitende Router verringert den Wert. Erreicht er 0, verwirft der Router das Paket und kann eine ICMP-Nachricht Time Exceeded an die Quelle senden.
Das verhindert, dass Pakete bei einer Routingschleife endlos weitergeleitet werden.
Hop
Ein Hop ist ein Weiterleitungsschritt von einem Netzwerkgerät zum nächsten. Traceroute ordnet die eintreffenden Rückmeldungen solchen Schritten zu.
Traceroute nutzt den TTL-Mechanismus gezielt:
- Es sendet zunächst ein Paket mit TTL
1. - Der erste Router verwirft es und meldet Time Exceeded.
- Danach sendet Traceroute ein Paket mit TTL
2. - Nun kann der zweite Router antworten.
- Das Verfahren wird mit steigenden Werten fortgesetzt, bis das Ziel oder eine andere Abbruchbedingung erreicht ist.
Angenommen, ein Paket läuft über die Router R1 und R2 zum Ziel Z.
| Startwert der TTL | Rückmeldung | Deutung |
|---|---|---|
| 1 | Time Exceeded von R1 | R1 ist der erste sichtbare Hop. |
| 2 | Time Exceeded von R2 | R2 ist der zweite sichtbare Hop. |
| 3 | Antwort von Z | Das Ziel wurde mit diesem Wert erreicht. |
Der entscheidende Gedanke lautet: Traceroute verlängert die zulässige Strecke schrittweise. Die Antwort auf jeden Versuch macht eine weitere Station sichtbar.
Je nach Betriebssystem, Variante und Einstellung kann Traceroute ICMP oder andere Paketarten verwenden. Außerdem antwortet nicht jeder Router. Eine Lücke in der Anzeige beweist daher nicht automatisch eine Unterbrechung der Route.
Welche Grenzen und Sicherheitsrisiken gibt es?
ICMP-Nachrichten können verloren gehen, gefiltert oder absichtlich unterdrückt werden. Deshalb ist eine ICMP-Meldung eine Diagnosehilfe, aber kein Beweis dafür, dass alle übrigen Netzwerkfunktionen fehlerfrei oder ausgefallen sind.
ICMP kann außerdem missbraucht werden:
- Bei einer ICMP-Flood treffen sehr viele Echo Requests ein. Verarbeitung und Antworten können die Ressourcen des Ziels belasten.
- Bei einem Smurf-Angriff wird eine gefälschte Quell-IP-Adresse verwendet. Antworten werden dadurch an das Opfer gelenkt und können es überfluten. Dieser Angriff betrifft vor allem unzureichend geschützte oder ältere Netze.
- Beim Ping of Death führen speziell gestaltete oder übergroße, wieder zusammengesetzte Pakete zu Fehlern in verwundbaren Systemen. Der Angriff ist vor allem für ältere Geräte von Bedeutung.
- Beim ICMP-Tunneling wird das Datenfeld zweckentfremdet, um andere Nutzdaten innerhalb von ICMP-Nachrichten zu übertragen.
Das pauschale Sperren aller ICMP-Nachrichten ist keine vollständige Sicherheitslösung. Es kann Diagnose und notwendige Netzrückmeldungen erschweren. Schutzmaßnahmen müssen deshalb zwischen benötigten und verdächtigen Nachrichten unterscheiden.
Ein Fehler in einem Paket, das selbst eine ICMP-Fehlermeldung trägt, soll nicht einfach eine weitere ICMP-Fehlermeldung auslösen. Dadurch werden endlose Ketten von Fehlermeldungen vermieden.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- ICMP
- Aufgabe
- Status- und Fehlermeldungen
- Netzwerkdiagnose
- Aufbau
- Typ und Code
- Prüfsumme und Daten
- Werkzeuge
- Ping mit Echo-Nachrichten
- Traceroute mit begrenzter Lebensdauer
- Grenzen
- keine zuverlässige Zustellung
- Filterung und Paketverlust möglich
- Missbrauch
- Flood und Smurf
- Ping of Death und Tunneling
- Aufgabe
ICMP macht Vorgänge in IP-Netzen sichtbar, übernimmt aber weder den Transport von Anwendungsdaten noch deren zuverlässige Zustellung. Gute Diagnosen verbinden ICMP-Rückmeldungen deshalb immer mit weiteren Beobachtungen.
Abschluss-Check
Wenn du ICMP sicher verstanden hast, kannst du nun erklären, welche Rückmeldung vorliegt, was sie aussagt und was sich daraus noch nicht ableiten lässt.
Mit Google fortfahren