Wireshark中的ARP协议包分析
Wireshark可以跟踪网络协议的通讯过程,本节通过ARP协议,在了解Wireshark使用的基础上,重温ARP协议的通讯过程。
ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。
主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
在Wireshark界面,我们可以看到19、20号数据包,就是一对标准的ARP请求和响应包。
打开ARP请求数据包报文
Ethernet II部分:
Destination(目的物理地址)字段的值为:ff:ff:ff:ff:ff:ff,说明该以太网帧是广播帧,和ARP请求分组是通过广播形式发送吻合。
Source(源物理地址)字段的值为:00:0c:29:7f:da:7b,这是发送方主机的物理地址,和ARP协议的Sender MAC address字段的值完全吻合。
Type字段为:ARP(0x0806)。说明该以太网帧封装的是一个ARP协议分组。
ARP协议部分:
前4个字段表明物理地址和逻辑地址的类型和长度。
第五个字段Opcode的值为1,说明是ARP请求报文。
后面4个字段是源物理地址和IP地址,以及目标物理地址和IP地址。
值得注意的是,目标物理地址正如之前所说,全部填充的0。因为该字段正是ARP请求报文需要获取的,目前不知,只能全部填充为0。
打开ARP响应数据包报文
在Ethernet II部分:
Destination(目的物理地址)字段的值正好是ARP请求报文的Source字段的值。也就是说,该ARP响应报文是用来回应之前的ARP请求分组的。该值也和Target MAC address的值相同。
Source(源物理地址)字段的值为目的端的物理地址,该值和Sender MAC address的值相同。
Padding是填充字段,用来填充以太网帧到最小帧长。
在ARP协议部分:
前4个字段没什么好讲的。
第五个字段Opcode为2,表示这是ARP响应分组。
后面4个字段,源MAC地址正是ARP请求报文想寻找的物理地址。源IP地址正好是ARP请求分组的目的IP地址。目的物理地址和目的IP地址正好是ARP请求分组的源物理地址和源IP地址。
通过上面的通讯过程,加深我们对ARP协议请求的了解,同时也加强Wireshark对数据包支持的理解。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY