本文主要是介绍ARP实例分析-wireshark捕获的网络报文,二进制解析每个bit位对应的意思,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下面是用wireshark捕获的一次arp报文,对他进行解析,不同的报文段使用了不同的颜色进行解析:
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
1 | ff | ff | ff | ff | ff | ff | 20 | 6a | 8a | 31 | 48 | 89 | 08 | 06 | 00 | 01 |
2 | 08 | 00 | 06 | 04 | 00 | 01 | 20 | 6a | 8a | 31 | 48 | 89 | 0a | 6c | cb | 62 |
3 | 00 | 00 | 00 | 00 | 00 | 00 | 0a | 6c | cb | 01 | 00 | 00 | 00 | 00 | 00 | 00 |
4 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
|
1、A1~F1,6B
ff | ff | ff | ff | ff | Ff |
:表示目的地是广播即broadcaast
2、G1~L1,6B
20 | 6a | 8a | 31 | 48 | 89 |
:自己的网卡MAC地址
3、M1~N1,2B
08 | 06 |
:0x0806,表示的数据时arp协议(经网上查阅是这样的)
另外几个类型的表示:
0x0835 :RARP协议
0x0800:IP
0x8137:IPX,SPX
4、1O~3J:28B,
4.1、
00 | 01 |
硬件类型
08 | 00 |
:协议类型,这里表示是IP
06 |
:硬件MAC地址的长度,6B
04 |
:协议的长度,4B
00 | 01 |
:当前是请求包还是应答包,这里是请求,应答用0x0002表示
20 | 6a | 8a | 31 | 48 | 89 |
:自己的MAC地址
0a | 6c | cb | 62 |
:自己的IP地址
00 | 00 | 00 | 00 | 00 | 00 |
:对方的MAC地址,这里因为是请求包,留空
0a | 6c | cb | 01 |
:对方的IP地址
5、3K~4L:18B,这是Ethernet推测填充的数据段,因为Ethernet规定数据段的长度最小是46bit,而arp的总共在28个所以就填充了18个空bit位,还可以由此看到Ethernet没有像教材上所说的FCS(4个字节)
应答的arp协议:
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
1 | 28 | d2 | 44 | c7 | d2 | 62 | c8 | 60 | 00 | 46 | 55 | 22 | 08 | 06 | 00 | 01 |
2 | 08 | 00 | 06 | 04 | 00 | 02 | c8 | 60 | 00 | 46 | 55 | 22 | 0a | 6c | cb | 34 |
3 | 28 | d2 | 44 | c7 | d2 | 62 | 0a | 6c | cb | 32 | 00 | 00 | 00 | 00 | 00 | 00 |
4 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
|
和上面的相比的不同是:
1、 这里的arp里面的表示是请求还是应答的字段2E~2F现在是00 02表示应答
2、 这里的在以太网目的地址没有用broadcast地址,即广播的地址,而是指定的地址
3、 这里的arp的MAC地址和IP地址是全部填充了的
这篇关于ARP实例分析-wireshark捕获的网络报文,二进制解析每个bit位对应的意思的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!