ICMP ist eine Erweiterung des IP-Protokolls und wird verwendet, um TCP- sowie UDP-Verbindungen zu beinflussen. Es kann benutzt werden, um einem Sender einen besseren Weg zu seinem Ziel anzuzeigen, um bestimmte Fehlersituationen mitzuteilen oder auch um Verbindungen aufgrund von Netzproblemen zu beenden. Diese Nachrichten können natürlich auch von Angreifern für ihre Zwecke mißbraucht werden. Eine kurze Beschreibung einiger wichtiger ICMP-Nachrichten wird im folgenden gegeben:
Eine redirect-Nachricht weist den Sender an, einen anderen Router zu benutzen, um einen bestimmten Zielrechner zu erreichen.
Nachrichten diesen Typs werden verwendet um mitzuteilen, daß das Ziel, ein bestimmter Rechner oder auch ein ganzes Netz, im Moment nicht erreichbar ist. Somit kann eine Verbindung aufgrund von Netzwerkproblemen abgebrochen werden, ohne daß auf einen timeout der Verbindung gewartet werden muß.
Sollte die time to live eines Paketes abgelaufen sein, bevor es sein Ziel erreicht hat, so wird das Paket verworfen und dem Sender mit Hilfe der time exceeded-Nachricht mitgeteilt, daß das Ziel nicht erreicht werden konnte. Dies kann der Fall sein, wenn ein Paket aufgrund eines Fehlers in den Routingtabellen in einer Schleife zwischen zwei oder mehreren Routern pendelt.
Hierbei handelt es sich um ein Paar von Nachrichten, wobei in der ersten der beiden nach der subnet mask eines Netzes gefragt wird, d. h. nach einer Bitmaske, die angibt, welcher Teil der 32-Bit-Adresse als Adresse des Subnetzes angesehen werden soll. Die zweite Nachricht enthält die Antwort auf diese Frage. Dies kann z.B. während des Bootvorganges eines Rechners notwendig sein, um ihn über die verwendete subnet mask in den angeschlossenen Netzen zu informieren.