ICMP-Typen
Kurz: Die verschiedenen Nachrichtentypen, die ICMP kennt — jede mit eigener Typnummer, die die Art der Information festlegt.
Genauer: Bekannte Typen: Echo Request (8) / Echo Reply (0) für Ping, Destination Unreachable (3) wenn ein Ziel nicht erreichbar ist, Time Exceeded (11) wenn die Time-to-Live eines Pakets abläuft (Basis für traceroute). Jeder Typ kann zusätzlich Subcodes haben, die den Grund weiter präzisieren.
Im Detail
Typnummer und Subcode
Jede ICMP-Nachricht trägt in ihrem eigenen kleinen Header eine Typnummer (1 Byte) und optional einen Subcode, der die genaue Bedeutung weiter eingrenzt. Eine Auswahl der wichtigsten Typen:
Typ 0: Echo Reply - Antwort auf einen Ping
Typ 3: Destination Unreachable - Ziel nicht erreichbar (mit diversen Subcodes)
Typ 5: Redirect - "nutze stattdessen diesen Router"
Typ 8: Echo Request - Ping-Anfrage
Typ 11: Time Exceeded - TTL abgelaufen, Basis für traceroute
Typ 3 (Destination Unreachable) hat besonders viele Subcodes, die den genauen Grund präzisieren — z. B. “Network Unreachable” (0, kein Routing-Weg bekannt), “Host Unreachable” (1, Ziel-Host antwortet nicht), “Port Unreachable” (3, kein Dienst lauscht auf dem angefragten Port) oder “Fragmentation Needed” (4, ein Paket ist zu groß und darf nicht fragmentiert werden — zentral für Path-MTU-Discovery).
Wie traceroute ICMP-Typen ausnutzt
Diese Typisierung erlaubt es Netzwerk-Tools, gezielt bestimmte Situationen zu erkennen, ohne Freitext auswerten zu müssen. Ein traceroute-Programm sendet absichtlich Pakete mit sehr niedriger Time-to-Live (TTL beginnend bei 1, dann 2, 3, …), provoziert dadurch bewusst Time Exceeded-Antworten von jedem Router auf dem Weg, sobald dessen jeweiliger Hop die TTL auf 0 herunterzählt, und rekonstruiert daraus die komplette Route zum Ziel, Hop für Hop:
$ traceroute emzett-digital.com
1 192.168.1.1 1.2 ms
2 10.20.30.1 8.4 ms
3 203.0.113.5 12.1 ms (Ziel erreicht, Echo Reply statt Time Exceeded)
Sicherheitsaspekte
Aus Sicherheitssicht filtern viele Netzwerke und Firewalls bestimmte ICMP-Typen gezielt heraus: Echo Request/Reply (Typ 8/0) wird oft blockiert, um sich vor automatisierten Netzwerk-Scans zu schützen (ein Angreifer, der reihenweise IP-Adressen anpingt, um herauszufinden, welche Hosts überhaupt existieren), während informative Typen wie Destination Unreachable oder Time Exceeded meist durchgelassen werden, weil sie für die reguläre Problemdiagnose wichtig sind. Komplettes ICMP-Blocken kann paradoxerweise selbst Verbindungsprobleme verursachen, weil bestimmte Path-MTU-Discovery-Mechanismen (die die maximale Paketgröße auf einem Übertragungsweg ermitteln) auf funktionierende “Fragmentation Needed”-Meldungen angewiesen sind — ohne sie können Verbindungen scheinbar grundlos hängen bleiben, wenn zu große Pakete gesendet werden.
Siehe auch: ICMP, Destination Unreachable, Time Exceeded, Ping