详细参考:
- https://www.cnblogs.com/linfangnan/p/15729663.html
- https://cloud.tencent.com/developer/article/1593056
通过 类型 + 代码 两个字段,可以决定ICMP报文的功能,比如
- 8,0表示ping request
- 0,0表示ping reply
- 13,0表示timestamp request
- 14,0表示timestamp reply
用法类似:
ctl.sock_raw = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
linux中也提供ICMP报文的结构体:
struct icmphdr
在哪里见到:
- ping命令,通过wireshark抓包
- clockdiff源码(和ping都属于iputils)