• ICMP => Internet Control Message Protocol
  • ICMP is a network layer protocol used for diagnostics and error reporting between routers and end hosts.
  • It works directly with IP addresses.

Structure of an ICMP packet

0        8        16       24       32 
+--------+--------+--------+--------+   
|        ICMP Header          | 
+--------+--------+--------+--------+  
|           ICMP Data         | 
+----------------------------+

The ICMP Header contains:

  • Type - Echo Request, Echo Reply etc
  • Code - Subtype
  • Checksum - For error checking
  • Identifier - Match request/reply
  • Sequence Number - Match request/reply

And most importantly, it contains:

  • Source IP address
  • Destination IP address

How does ping work?