首页天道酬勤wireshark怎么抓arp(wireshark抓包不对)

wireshark怎么抓arp(wireshark抓包不对)

admin 01-28 19:38 199次浏览

ARP地址转换协议是从IP地址获取MAC地址的TCP/IP协议。 在TCP/IP协议中,主机之间的位置由IP地址确定,但实际位置由主机的硬件地址确定。 这个硬件地址就是MAC地址。 MAC地址用于在网络中唯一标记一个网卡。 如果一个设备具有一个或多个网卡,则每个网卡必须具有唯一的MAC地址。 因此,在主机发送消息之前,必须通过ARP协议获取与目标IP地址对应的MAC地址,才能正确发送包。

MAC地址的长度为48位、6字节,通常用16进制12个表示。 例如,54-89-98-A1-77-2B。 前三个字节表示网络硬件制造商,由IEEE分配,后三个字节由制造商自己分配,表示网卡序列号。 因此,MAC地址也称为NIC地址。

- ARP协议工作流程

ARP工作流分为ARP请求流程和ARP回应流程。 例如,主机a要与主机b进行通信,必须获取对方的MAC地址。 流程如下。

主机a以广播形式向网络上的所有主机发送ARP请求,请求消息中包含目标IP地址。

主机b接收请求,发现主机b是主机a要找的主机,返回响应,并将MAC地址包含在响应包中。 如果发现不是,则放弃相应的ARP消息。

为了避免重复发送ARP请求,将生成大量的广播数据包。 每台主机都有一个ARP缓存列表,在源主机收到ARP响应后,将目标主机的IP地址和物理地址保存在本地ARP缓存中并保留一段时间。 下次请求MAC地址时,可以直接联系ARP缓存而不发送ARP请求,从而节省网络资源。 在缓存生存期结束之前,不会重新发送ARP请求消息。

根据ARP协议报文格式及封装工作流,ARP消息分为ARP请求和ARP回复消息两种,消息长度为28字节,其中ARP报头为18字节,硬件类型、上层类型除头部外,剩下的20个字段分别表示源、目标MAC地址和IP地址。 如下图所示。

ARP是独立的三层协议,不需要IP协议封装,直接生成自己的消息,到达数据链路层后,用数据链路层协议封装。 一般是以太网协议。 封装过程在ARP消息前加以太网帧头,以4字节冗馀校验码结束,验证码用于检查数据传输是否损坏。

以太网帧头共14字节,包含目标MAC地址、源MAC地址和帧类型三个字段。 请参照下图。

*以太网帧的最小长度为64字节,最大为1518字节。 *封装的ARP帧实际上是包含14字节以太网帧头和28字节ARP消息的最小以太网帧,共42字节。 加上4字节的冗馀校验码,剩下的18字节用0填充,共计64字节。

Wireshark分析ARP协议以下使用Wireshark捕获工具在电脑本地分析ARP协议。 首先通过使用arp -d命令删除arp缓存表,触发本机发送arp消息。 其中192.168.16.1是无线路由器的IP地址,MAC地址是20-f4-1b-b6-44-ba。

在Wireshark过滤器中键入arp以过滤其他不相关的数据包。 可以看到相应的ARP请求和响应消息。

以太网第48帧是从电脑发送的ARP请求消息,在以太网帧头中,前6个字节是目标MAC地址,是广播帧,所以地址是ff-ff-ff-ff-ff-ff-ff-ff-ff 源MAC地址是本地MAC地址,这可以通过ipconfig /all命令来查看,并指示该帧是由个人计算机的本地发出的。

目标主机的IP地址包含在ARP请求消息中,并封装在以太网帧中。 目标IP地址为192.168.16.1,即无线路由器的地址。 因为不知道目标MAC地址,所以用00-00-00-00-00-00-00-00-00表示,表示任意的地址。

但是,使用华为eNSP软件,模拟ARP请求消息,抓住数据包指示目标MAC地址为广播地址ff-ff-ff-ff,用于实际生产环境广播地址和任意地址此前在网络限制考试上午的问题上参加过考试。

消息传递窗口的底部栏,左侧是Wireshark实际捕获的数据包,显示为16机制的数值,右侧显示为ACII代码。 一般来说,只关注十六进制的数值即可。

看看第49帧。 ARP会响应消息。

在以太网帧头中,源MAC地址为20-f4-1b-b6-44-ba,这正是无线路由器的地址,这表明无线路由器是发送给本地计算机的ARP回复消息。 从ARP消息中也可以看到,相应地址是无线路由器地址192.168.16.1。

通过以上的帧分析,明确了ARP帧的结构、各个场的长度和数值。 注意,Wireshark捕获的ARP帧在生产环境中为42字节。 在华为eNSP模拟环境中,为60字节。 有关安装eNSP和Wireshark的信息,请参阅以下文章:

华为eNSP V100R003C00和eNSP设备包大全,来这里一键下载! 快捷方便,不用担心网络模拟!

这似乎与以太网帧的最小长度64字节不匹配,因为实际上以太网封装的有效字段为42字节,剩下的字节用0填充,还有冗馀校验码的4字节被丢弃到Wireshark中。

本文首发公号:软考网络规划设计师(ruankaowg)。

TypeScript基础使用实例分析如何为eslintnextline禁用多个规则容器云的优势有哪些?tiktok安卓怎么连国内网linux下的lvm软件制作过程演示-linux运维详解docker-compose速度太慢解决方式怎么用JS实现太极图案
wireshark抓包arp解析(wireshark抓包原理) wireshark tcp丢包(Socket实现tcp 抓包)
相关内容