ICMP is defined by RFC 792. Headers are 8 bytes; the first 4 bytes have a fixed meaning, while the meaning of the last 4 bytes varies depending on the type of request specified in the first 4 bytes.
ICMP traffic “types” correspond to the kind of packet being sent (though different ICMP services can have multiple types):
- 0 — Ping reply
- 8 — Ping request
Ping packets typically just include either random data or all zeros.