What is ICMP?

ICMP stands for Internet Control Message Protocol and is a network protocol used to send error messages, status information and diagnostic messages within IP networks.

ICMP is used, for example, to indicate that a device is unreachable, or to measure Latency with tools such as ping.


🎯 What is ICMP used for?

Function Description
Diagnostics For example via ping or traceroute
Error messages Such as “Destination Unreachable” or “Time Exceeded”
Network monitoring Devices can inform each other about connectivity issues
TTL processing Detection of routing loops or excessive hops

🔧 Important ICMP types

Type Name Description
0 Echo Reply Response to a ping
3 Destination Unreachable Destination not reachable
5 Redirect Route change required
8 Echo Request Ping request
11 Time Exceeded TTL expired (e.g. in traceroute)

🔒 ICMP and security

Although useful, ICMP can also be misused:

  • Reconnaissance by attackers (e.g. via ICMP sweep)
  • DDoS attacks with ICMP flooding (Ping flood / Smurf attack)
  • Tunnelling/abuse via ICMP packets

Best practices:

  • Rate limit ICMP traffic
  • Filter at firewalls (but don’t block everything!)
  • Allow only on specific interfaces or zones (e.g. DMZ)

📌 In summary

ICMP is an essential protocol within IP networks that handles communication about network status and errors. It plays a major role in troubleshooting, but requires careful security in both IT and OT networks.