ARP协议抓包分析

一、什么是ARP
ARP(地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。由于OSI将网络分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接通信。在通过以太网发送IP数据包时,需要知道先封装第三层和第二层的报头。但由于发送数据包时只知道目标IP地址,不知道其MAC地址,而又不能跨越第二、三层,所以需要地址解析协议。
二、ARP工作流程
ARP请求与响应过程
(1)当主机PC1想发送数据给主机PC2时,首先在自己的本地ARP缓存表中检查主机PC2匹配的MAC地址;
(2)如果主机PC1在缓存表中没有找到相应的条目,便将ARP请求帧广播到本地网络上的所有主机。该帧中包括源主机PC1的IP地址和MAC地址。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的不匹配,则将丢弃ARP请求;
(3)主机PC2发现请求的IP地址与自己的匹配,则将PC1的IP地址和MAC地址添加到本地缓存表;
(4)主机PC2将包含其MAC地址的ARP回复消息直接发送给主机PC1(单播
(5)主机PC1接收到主机PC2的ARP回复消息时,将主机PC2的IP地址和MAC地址添加到自己的本地缓存表。本机缓存是有生存期的,默认ARP缓存的生存周期为120s。主机PC2的MAC地址一旦确定,主机PC1就可以向主机PC2发送IP消息了;
三、ARP缓存表
arp命令
该命令用于查询本机ARP缓存中的IP地址和MAC地址对应的关系、添加或删除静态对应关系等。
arp [-s inet_addr [if_addr]] [-d inet_addr [if_addr]] [-a [inet_addr] [-N if_addr]] [-g] [-v]
-s inet_addr [if_addr]:向ARP缓存表中添加可将IP地址inet_addr解析成物理地址eth_addr的静态条目。要向指定接口添加静态ARP缓存条目,使用if_addr参数,此处[if_addr]代表指派给该接口的IP地址
-d inet_addr [if_addr]:在ARP缓存表中删除IP地址为inet_addr的IP条目。要删除指定接口的某项缓存条目,使用if_addr参数,此处[if_addr]代表指派给该接口的IP地址;要删除所有的条目,可使用*通配符代替 inet_addr。
-a [inet_addr] [-N if_addr]:先是所有接口的当前ARP缓存表;
-g:与-a相同
-v:查看帮助信息
四、捕获ARP协议包
实验环境
PC1:物理机WIN10(IP:169.254.35.227)[在此启动虚拟机]
PC2:虚拟机WIN8(IP:169.254.148.228)
使用捕获过滤器
根据实验环境选择捕获选项
在这里插入图片描述
进入如下界面,当前没有捕获到任何包。因为这里使用了捕获过滤器,仅捕获ARP包
在这里插入图片描述
在PC2上执行以下命令,并输出如下信息
在这里插入图片描述
在wireshark中查看抓包记录
在这里插入图片描述
在分析请求ARP协议包之前我们都会先介绍一下他们的报文格式,以更清楚地理解每个包
ARP报文格式如下:
在这里插入图片描述
硬件类型:表明ARP协议实现在哪种类型的网络上
协议类型:表示解析协议(上层协议)。这里一般是0800,即IP
硬件地址长度:MAC地址长度,此处为6个字节
协议地址长度:IP地址长度,此处为4个字节
操作类型:表示ARP协议数据类型。1表示ARP协议请求数据报,2表示ARP协议应答数据报
源MAC地址:发送端MAC地址
源IP地址:发送端IP地址
目标MAC地址:接收端MAC地址
目标IP地址:接收端IP地址
ARP应答数据报与ARP请求数据包的不同体现在:目标MAC地址,ARP请求数据包为全1的广播地址,ARP应答数据报为请求得到的真实MAC地址;

查看捕获的ARP数据包,第一个为ARP请求包
在这里插入图片描述
其中,以下内容表示这是第一帧数据报的详细信息。其中包的大小为42个字节
在这里插入图片描述
以下内容表示以太网帧头部信息。其中源MAC地址为00:0c:29:ca:4b:58,目标MAC地址为ff:ff:ff:ff:ff:ff(广播地址)。这里的目标地址为广播地址,是因为主机PC2不知道PC1主机的MAC地址。这样,局域网中所有设备都会收到该数据包
在这里插入图片描述
以下内容表示地址解析协议内容,request表示该包是一个请求包。在该包中包括有ARP更详细的信息字段信息,如下所示:
在这里插入图片描述
关于以上ARP头部的内容和ARP请求报文的格式,我们可以构造出下表:
在这里插入图片描述
同样的方式,分析ARP的响应包
在这里插入图片描述
以下是ARP响应包的详细内容:
在这里插入图片描述
嗯嗯~~就酱紫!!!

  • 94
    点赞
  • 337
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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协议的工作原理,还可以较为直观地观察到数据包的传输过程,对于网络问题的定位和解决有一定的帮助作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值