ICMP ist die Abkürzung für "Internet Control Message Protocol". Mittels ICMP werden Steuerbefehle durch das Internet geschickt. Diese Steuerbefehle werden in normale IP-Pakete verpackt und so zwischen Routern und Hosts ausgetauscht. Diese Befehle werden beispielsweise für den ping-Befehl gebraucht. Ein ICMP-Befehl setzt sich immer zusammen aus einem Typ, einem Code und den ersten 8 Bytes des IP-Headers, bei dem ein Fehler aufgetreten ist.
Dies sind einige Befehle von ICMP:
| Typ | Code | Bedeutung |
|---|---|---|
| 0 | 0 | echo reply (ping) |
| 3 | 0 | destination network unreachable (Netzwerk nicht erreichbar) |
| 3 | 1 | destination host unreachable (Host nicht erreichbar) |
| 3 | 2 | destination protocol unreachable (Protokoll nicht verfügbar) |
| 3 | 3 | destination port unreachable (Port nicht erreichbar) |
| 3 | 6 | destination network unknown (Netzwerk unbekannt) |
| 3 | 7 | destination host unknown (Host unbekannt) |
| 4 | 0 | source quench (für Überlastungskontrolle, nicht benutzt) |
| 8 | 0 | echo request (ping) |
| 9 | 0 | route advertisement |
| 10 | 0 | router discovery |
| 11 | 0 | TTL expired (traceroute) |
| 12 | 0 | bad IP header |