wireshark 抓包ARP分组

前言

从下图的报文数据的结构来看,ARP协议属于是网络层协议,因为它在Ethernet II的上边一层,所以是网络层(从包封装的角度来讲,Ethernet II属于数据链路层,数据链路层的上一层就是网络层)。但从功能上来说,ARP是为了获得获取到MAC地址,所以也可以说是属于链路层协议。

目的地址是广播地址的request报文

在这里插入图片描述
Who has 192.168.0.1? Tell 192.168.0.101。翻译过来就是,谁是192.168.0.1,请告诉我192.168.0.101。

从ARP的字段上看,7e:90:3c:47:04:0a这个设备和192.168.0.101绑定在了一起,它想知道192.168.0.1的MAC地址是什么,所以Target IP address放的是192.168.0.1,但只知道IP地址,链路层可不知道该哪儿传,所以帧的字段里,Destination放的是(ff:ff:ff:ff:ff:ff),即MAC广播地址。

这是个ARP请求报文。

可以看到7e:90:3c:47:04:0a有点冗余,在ARP协议字段和帧的字段中,都出现了。

总结:当本机不知道某个ip地址的mac地址时,会使用这种ARP报文来请求。

目的地址不是广播地址的request报文

在这里插入图片描述
根据[RFC 826]的解释:

Another alternative is to have a daemon perform the timeouts. After a suitable time, the daemon considers removing an entry. It first sends (with a small number of retransmissions if needed) an address resolution packet with opcode REQUEST directly to the Ethernet address in the table. If a REPLY is not seen in a short amount of time, the entry is deleted. The request is sent directly so as not to bother every station on the Ethernet. Just forgetting entries will likely cause useful information to be forgotten, which must be regained.

当本机的ARP转发表的其中一个表项将要过期的时候,它会提前会去询问,这个表项里的mac地址,问它是否还拥有表项对应的IP地址。这样,以太网帧的目的MAC地址不需要是广播MAC地址,因为它已经知道了对方在链路层的地址是多少,直接使用表项里的MAC地址就行了。

总结:当本机的ARP转发表的某个表项要过期,提前去询问,表项里的mac地址是否 还拥有 表项里的ip地址。

reply报文

在这里插入图片描述
192.168.0.1 is at 24:69:68:82:8d:d6。翻译过来就是,192.168.0.1 分配给了 24:69:68:82:8d:d6。

这是个ARP响应报文,因为之前有 请求报文,所以响应报文不需要广播了,谁询问的,就发给谁。

总结:reply报文是针对request报文的回应。所以reply报文的字段也会根据request里的字段来填写:

  • Ethernet II的Destination字段是从,request报文的source字段来的。
  • Address Resolution Protocol的Target MAC address和Target IP address字段从,request报文的Sender MAC address和Sender IP address字段来的。

用来检测本机ip是否冲突的 request报文

在这里插入图片描述
开机时需要检测自己的ip地址在子网中是否冲突,需要发送这种报文。

此时本机想检测自己是否能够使用192.168.199.152,那么sender IP address必须设置为 全0,原因有两个:

  • 不确定自己能否使用192.168.199.152,因为不确定别人是否已经在使用了。
  • 设置为 全0,不会让其他网络设备更新其ARP转发表。这一点和免费ARP区分开来。

Target IP address设置为192.168.199.152,因为要去询问其他所有人。因为要问所有人,以太网帧的Dst为全1。

总结:冲突检测的request报文,Sender IP address字段为全0,Target IP address字段为 想要使用的那个ip地址。

在本例中,这个ip已经被别的机器使用了,所以会收到reply报文。
在这里插入图片描述
收到这个reply报文以后,本机就知道自己想使用的192.168.199.152已经被另一个机器占用了。这种问答过程可能重复几次,如果是体现在Windows操作系统的话,会弹出一个小窗口说明ip地址已冲突。

免费ARP

免费 ARP(Gratuitous ARP)包是一种特殊的ARP请求,它并非期待得到IP对应的 MAC 地址,而是当主机启动的时候,发送一个 Gratuitous ARP请求,即请求自己的IP地址的MAC地址。

最大的区别是:目标IP地址是自己的IP地址。即Target IP address = Sender IP address = 本机正在使用的那个ip

在这里插入图片描述
该类型报文起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其他计算机自己的IP地址和MAC地址。

  • 可用于检测IP地址冲突。当一台主机发送了免费ARP请求报文后,如果收到了ARP响应报文,则说明网络内已经存在使用该IP地址的主机。
  • 可用于更新其他主机的ARP转发表。如果该主机更换了网卡,而其他主机的ARP缓存表仍然保留着原来的MAC地址。这时,可以发送免费的 ARP数据包。其他主机收到该数据包后,将更新ARP缓存表,将原来的 MAC地址替换为新的MAC地址。
### 回答1: Wireshark是一款网络协议分析工具,可以用来抓取和分析网络数据包。ARP协议是一种用于解析IP地址和MAC地址之间映射关系的协议。在Wireshark中,可以通过抓取网络数据包来分析ARP协议的工作原理和流程。 具体来说,可以通过以下步骤来分析ARP协议: 1. 打开Wireshark软件,并选择要抓取的网络接口。 2. 开始抓取网络数据包,可以使用过滤器来只抓取与ARP协议相关的数据包。 3. 分析抓取到的数据包,可以查看每个数据包的详细信息,包括源地址、目标地址、协议类型等。 4. 查看ARP请求和响应数据包,可以了解ARP协议的工作流程和原理。 5. 分析数据包中的MAC地址和IP地址,可以确定网络设备之间的映射关系。 通过以上步骤,可以使用Wireshark来抓取和分析ARP协议,从而更好地理解网络通信的工作原理和流程。 ### 回答2: ARP协议(地址解析协议)是一种用于将网络层地址(例如IP地址)映射为物理层地址(例如MAC地址)的协议。Wireshark是一种用于网络分析和抓包的强大工具,可以帮助我们深入了解网络通信的细节。 使用Wireshark抓取ARP流量: 首先,我们需要打开Wireshark并选择要监视的网络接口。接着,我们可以使用过滤器来仅抓取与ARP协议相关的流量。在过滤器栏中输入“arp”并按下“应用”按钮即可。 现在,我们可以看到捕获的ARP流量。在Wireshark中,每个包都包含许多信息,包括源地址、目的地址、协议类型等。在ARP包中,最重要的信息是源MAC地址、源IP地址、目标MAC地址、目标IP地址等。 分析ARP流量: 使用Wireshark抓取的ARP流量,我们可以进行一些有趣的分析。例如,我们可以查看网络中哪些主机具有哪些IP地址。对于这个目的,我们可以使用一个不同的过滤器:“arp.opcode == 1”。这将仅筛选ARP请求(opcode = 1)的包。在ARP请求中,源IP地址是我们想要查看的目标。 另一个有趣的应用程序是查看ARP欺骗攻击。这是一种攻击类型,攻击者将假的MAC地址和IP地址映射到目标主机。使用Wireshark,我们可以查看ARP响应中的MAC地址,确保它与实际的MAC地址相同。我们也可以使用Wireshark来检测ARP欺骗攻击,通过使用ARP欺骗检测工具或配置ARP欺骗防御机制来防止此类攻击。 综上所述,Wireshark是一种非常有用的工具,可用于捕获和分析网络流量。使用Wireshark和相关技术,可以帮助我们更好地了解网络层和物理层之间的交互,并帮助我们识别网络中的潜在安全问题。 ### 回答3: arp协议是一种链接层协议,用于在局域网上解析ip地址和mac地址之间的对应关系。wireshark作为一种流行的网络抓包工具,可以帮助我们分析arp协议的工作原理。 首先,打开wireshark并选择相应的网络接口开始抓包。在过滤栏中输入“arp”可以过滤出arp相关的网络数据包。通过分析这些数据包的内容,我们可以了解arp协议的通信过程。 arp协议的通信过程中,一般包含以下几个步骤: 1. arp请求 当一台设备需要发送数据包到目标设备时,它会首先广播一个arp请求,请求其他设备告诉它目标设备的mac地址。arp请求的包头中包含发送设备的mac地址、源ip地址、目标ip地址等信息。 2. arp应答 当目标设备收到arp请求后,它会向发送设备回应一个arp应答,包头中包含目标设备的mac地址、目标ip地址等信息。 3. arp缓存 发送设备在收到目标设备回应的arp数据包后,会在自己的arp缓存中保存目标设备的mac地址和ip地址的对应关系,这样在以后发送数据包时就可以直接使用目标设备的mac地址了,无需再广播arp请求。 通过wireshark抓包分析arp协议的通信过程,我们不仅可以了解arp协议的工作原理,还可以较为直观地观察到数据包的传输过程,对于网络问题的定位和解决有一定的帮助作用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值