ICMP, ping & traceroute
IP & Adressierung (3)
Was ist ICMP?
Das ICMP (Internet Control Message Protocol) ist das „Meldewesen“ von IP. Es transportiert keine Nutzdaten, sondern Status- und Fehlermeldungen – etwa „Ziel nicht erreichbar“ oder „Zeitüberschreitung“. Auf ICMP bauen die beiden wichtigsten Diagnosewerkzeuge auf: ping und traceroute (unter Windows tracert).
ping: Echo Request & Echo Reply
ping prüft, ob ein Host erreichbar ist und wie lange die Antwort dauert. Es sendet ein Echo Request (ICMP Typ 8) und erwartet einen Echo Reply (Typ 0) zurück.
$ ping 93.184.216.34 64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.8 ms 64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=12.1 ms --- statistics --- 2 packets transmitted, 2 received, 0% packet loss rtt min/avg/max = 11.8/11.9/12.1 ms
Die time ist die Round-Trip-Time (Hin- und Rückweg). packet loss zeigt verlorene Pakete – ein Hinweis auf Störungen.
TTL – das Herzstück von traceroute
Im IP-Header gibt es das Feld TTL (Time to Live). Jeder Router auf dem Weg verringert es um 1. Erreicht TTL den Wert 0, verwirft der Router das Paket und schickt eine ICMP-Meldung Time Exceeded (Typ 11) zurück. Genau diesen Mechanismus nutzt traceroute aus.
Funktionsweise von traceroute
traceroute schickt Pakete mit schrittweise steigender TTL: zuerst TTL 1, dann 2, dann 3 … Jeder Router meldet sich, wenn „sein“ Paket abläuft – so wird der Pfad Hop für Hop sichtbar.
TTL=1 -> Router 1 verwirft -> "Time Exceeded" (Router 1 bekannt) TTL=2 -> Router 1 weiter, Router 2 verwirft -> Router 2 bekannt TTL=3 -> ... bis das Ziel erreicht ist (Echo/Port-Antwort)
$ traceroute example.com 1 192.168.1.1 1.0 ms (eigener Router) 2 84.123.0.1 9.4 ms (Provider) 3 * * * (keine Antwort) 4 93.184.216.34 12.0 ms (Ziel)
Sternchen (*) bedeuten: Dieser Hop hat nicht geantwortet – oft, weil ein Router ICMP unterdrückt. Das ist normal und kein zwingender Fehler.
Typische ICMP-Meldungen
| Typ | Name | Bedeutung |
|---|---|---|
| 0 | Echo Reply | Antwort auf ping |
| 3 | Destination Unreachable | Ziel/Netz/Port nicht erreichbar |
| 8 | Echo Request | ping-Anfrage |
| 11 | Time Exceeded | TTL abgelaufen (traceroute) |
| 5 | Redirect | besserer Weg vorhanden |
Sicherheitsbezug
ICMP ist zweischneidig. Angreifer nutzen es zum Scannen (welche Hosts leben?), für Ping-Floods oder für heimliche Datenübertragung (ICMP-Tunneling). Deshalb blockieren manche Netze ICMP – das erschwert aber legitime Diagnose und kann sogar schaden (z. B. wenn „Fragmentation needed“ gefiltert wird, bricht die Path MTU Discovery). Empfehlung: ICMP nicht pauschal blockieren, sondern gezielt erlauben und Raten begrenzen.
Welchen IP-Header-Mechanismus nutzt traceroute, um Hops sichtbar zu machen?
Zusammenfassung
ICMP übermittelt Kontroll- und Fehlermeldungen. ping misst Erreichbarkeit per Echo Request/Reply, traceroute deckt den Pfad über abgelaufene TTLs auf. Wie TTL beim Weiterleiten verarbeitet wird, vertieft die Lektion Routing-Grundlagen.