Appearance
ICMP 协议
ICMP(Internal Control Message Protocol)互联网控制报文协议,TCP/IP 协议簇的一个子协议。对网络连接状态进行判断。
bash
# 发送一个数据包,方便Wireshark抓包
ping -c 1 www.sourcedev.cc
发送数据包
- type == 0x8 ping
795 35.295594 192.168.3.11 42.192.78.57 ICMP 98 Echo (ping) request id=0xfb81, seq=0/0, ttl=64 (reply in 796)
0000 82 11 8f 51 9e 64 a4 5e 60 f2 a0 49 08 00 45 00 ...Q.d.^`..I..E.
0010 00 54 73 50 00 00 40 01 ca ac c0 a8 03 0b 2a c0 .TsP..@.......*.
0020 4e 39 08 00 06 dd fb 81 00 00 60 ea 4c ee 00 0e N9........`.L...
0030 5c b7 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 \...............
0040 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 .......... !"#$%
0050 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 &'()*+,-./012345
0060 36 37 67
- Destination: 82:11:8f:51:9e:64 (82:11:8f:51:9e:64)
- Source: Apple_f2:a0:49 (a4:5e:60:f2:a0:49)
- 本机 MAC 地址
- Type: IPv4 (0x0800)
响应
- type == 0 reply 应答
796 35.335367 42.192.78.57 192.168.3.11 ICMP 98 Echo (ping) reply id=0xfb81, seq=0/0, ttl=56 (request in 795)
0000 a4 5e 60 f2 a0 49 82 11 8f 51 9e 64 08 00 45 74 .^`..I...Q.d..Et
0010 00 54 16 b8 00 00 38 01 2e d1 2a c0 4e 39 c0 a8 .T....8...*.N9..
0020 03 0b 00 00 0e dd fb 81 00 00 60 ea 4c ee 00 0e ..........`.L...
0030 5c b7 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 \...............
0040 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 .......... !"#$%
0050 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 &'()*+,-./012345
0060 36 37 67
总结
- data 发送什么数据,应答什么数据,0x08 ~ 0x37,数据包固定长度 98 个字节
- id 随机,序列号重置,从 0 开始