Begriff
ICMP (Internet Control Message Protocol)
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
IP-Pakete transportieren Daten. Wenn aber was schiefgeht ("Straße gesperrt", "Empfänger tot"), braucht das Netzwerk eine Möglichkeit, Fehler zu melden. Das ist ICMP. Es ist der Hausmeister des Internets. Bekannteste Anwendung: Ping. "Hallo, bist du da?" (Echo Request). "Ja, bin hier." (Echo Reply).
Merksatz: Ein Hilfsprotokoll der IP-Schicht, das für Fehlerberichte (z. B. "Ziel nicht erreichbar") und Diagnosezwecke (Ping, Traceroute) verwendet wird.
Ping: ping google.com. Prüft Erreichbarkeit und Latenz.
Traceroute: tracert google.com (Windows). Zeigt jeden Router auf dem Weg. Nutzt den TTL-Trick (Time To Live).
Fehlercodes lesen:
Destination Host Unreachable: Der Router findet den PC im lokalen Netz nicht (ARP failed).Destination Net Unreachable: Der Router kennt keinen Weg zu diesem Subnetz.Request Timed Out: Paket wurde gesendet, aber keine Antwort kam (Firewall blockt).
1. PMTU Discovery (Packet Too Big)
Wichtigste Funktion neben Ping.
Sender schickt riesiges Paket (1500 Byte) mit Flag Don't Fragment.
Router hat aber nur einen kleinen Tunnel (1400 Byte).
Er muss das Paket wegwerfen.
Er sendet ICMP "Fragmentation Needed" zurück.
Sender lernt: "Aha, ich darf nur 1400 Byte senden."
Wenn Firewalls ICMP blockieren ("Security"), funktioniert das nicht -> Black Hole. Webseiten laden ewig nicht. Niemals alle ICMP Typen blockieren!
2. ICMP Redirect
Ein Router sagt dem PC: "Hey, für dieses Ziel gibt es einen besseren Router (192.168.1.2). Nimm den nächsten Mal direkt." Wird oft aus Sicherheitsgründen deaktiviert, da Hacker damit Traffic umleiten können.
3. Smurf Attack
Ein uralter DDoS.
Hacker pingt die Broadcast-Adresse eines Netzes an (ping 192.168.1.255), fälscht aber den Absender auf das Opfer.
255 PCs antworten gleichzeitig dem Opfer. Verstärkungsfaktor 255.
Moderne Router blockieren Broadcast-Pings.
1. MTU Blackholes und ICMP Fragmentation
Das Internet basiert meist auf einer MTU (Maximum Transmission Unit) von 1500 Bytes. Fährt ein VPN-Tunnel dazwischen (IPsec), sinkt die MTU auf 1400 (Overhead der Header).
Ein Fat-Packet mit dem Don't Fragment (DF)-Bit im IP-Header prallt am VPN-Router ab. Dieser Router (z. B. eine Firewall) schickt standardmäßig ein ICMP Type 3, Code 4 (Fragmentation Needed) an den Sender zurück, der daraufhin sein Paket zerschneidet.
Das Problem: Wenn ein übereifriger Sysadmin aus vermeintlichen Security-Gründen eine "Drop All ICMP"-Regel (Stealth Mode) scharfstellt, verbietet er auch diesen harmlosen Code 4. Der Sender weiß nicht, dass sein TCP-Paket verhungert ist, rennt ins Timeout und schickt stur wieder ein verbotenes 1500-Byte Paket. Die Verbindung (TCP 3-Way Handshake klappt, aber Payload blockt) gefriert in einem MTU Blackhole, woran Tausende VPN-Tunnel lautlos sterben.
2. Time specified Diagnostics (Time To Live Expired)
Wie funktioniert Traceroute? Mittels des IP-Headers TTL (Time to Live) und ICMP Type 11 (Time Exceeded).
Dein PC (Absender) modifiziert das TCP/UDP-Paket auf Absicht:
- Ping 1: Er setzt
TTL=1. Der erste lokale Router dekrementiert 1 auf0. Er wirft das Paket weg und stöhnt ein ICMP Type 11 ("Sorry, Zeit abgelaufen") zum Absender (Ah! Ich kenne Router 1). - Ping 2:
TTL=2. Hop 1 macht1, Hop 2 macht0. ICMP von Router 2 kommt zurück. Das Programm iteriert hoch, bis die Host-IP an der Ziel-Maschine aufschlägt, oder der Path komplett aufgedeckt wurde. Traceroute ist technisch ein ICMP Hack aus den 80ern, der das Fehler-Handling des Routers massiv provoziert.
3. ND Protocol (NDP) in IPv6
In der modernen Serverwelt hat IPv6 kein Broadcast (192.168.1.255) und folglich auch kein ARP (Address Resolution Protocol), um MAC-Adressen via LAN-Geschrei im Kabelring zu erfragen.
ARP wurde bei IPv6 komplett durch ICMPv6 (Type 135/136) ersetzt, das sogenannte ND (Neighbor Discovery) Protocol.
Zusammen mit SLAAC (Stateless Address Autoconfiguration, Type 133/134) nutzt ICMPv6 zielgerichtete flüsternde Multicasts (ff02::1), um Router im Subnetz nach Subnetz-Präfixen zu befragen und das Netzwerk extrem elegant von Kollisionsdomänen (Broadcast-Stürmen) zu befreien.
Quick-Check
Hat ICMP Ports?
Nein! ICMP sitzt direkt auf IP (Protokoll Nummer 1). Es gibt keine Ports (wie TCP 80), sondern Typen und Codes (Type 8 = Echo Request, Type 0 = Echo Reply).Ping of Death?
Ein malformiertes Ping-Paket (größer als 65535 Bytes), das früher Windows 95 zum Absturz brachte (Buffer Overflow im Kernel). Heute gefixt.ICMP Tunneling?
Man kann Daten im Payload eines Ping-Pakets verstecken ("Hallo"). In strengen Firewalls ist oft nur Ping erlaubt. Hacker nutzen das, um Daten rauszuschmuggeln (Reverse Shell over ICMP).