我在这里讲拼的两情况,一种是同一网段内,一种是跨网段的ping ….
其中ARP报文格式如下:
以太网目的MAC
|
以太网源MAC
|
帧类型
|
硬件类型
|
4
|
6
|
OP
|
发送端以太网MAC
|
发送端IP地址
|
目的MAC
|
目的IP
|
FF-FF-FF-FF-FF-FF
|
00-50-56-C0-00-01
|
0806
|
0800
|
1
|
00-50-56-C0-00-01
|
1.1.1.1
|
00-00-00-00-00-00
|
1.1.1.3
|
ARP报文格式:
以太网目的MAC
|
以太网源MAC
|
帧类型
|
硬件类型
|
4
|
6
|
OP
|
发送端以太网MAC
|
发送端IP地址
|
目的MAC
|
目的IP
|
00-50-56-C0-00-01
|
00-50-56-C0-00-03
|
0806
|
0800
|
2
|
00-50-56-C0-00-03
|
1.1.1.3
|
00-50-56-C0-00-01
|
1.1.1.1
|
目的地址
|
源地址
|
…
|
源IP
|
目的IP
|
…
|
ICMP报文
|
00-50-56-C0-00-03
|
00-50-56-C0-00-01
|
1.1.1.1
|
1.1.1.3
|
Echo request
|
目的地址
|
源地址
|
…
|
源IP
|
目的IP
|
…
|
ICMP报文
|
00-50-56-C0-00-01
|
00-50-56-C0-00-03
|
1.1.1.3
|
1.1.1.1
|
Echo answer
|
目的地址
|
源地址
|
…
|
源IP
|
目的IP
|
…
|
ICMP报文
|
00-50-56-C0-00-02
|
00-50-56-C0-00-01
|
1.1.1.1
|
2.1.1.1
|
Echo request
|
目的地址
|
源地址
|
…
|
源IP
|
目的IP
|
…
|
ICMP报文
|
00-50-56-C0-00-05
|
00-50-56-C0-00-04
|
1.1.1.1
|
2.1.1.1
|
Echo request
|
目的地址
|
源地址
|
…
|
源IP
|
目的IP
|
…
|
ICMP报文
|
00-50-56-C0-00-04
|
00-50-56-C0-00-05
|
2.1.1.1
|
1.1.1.1
|
Echo Answer
|