抓包详解ARP协议

ARP详解

网络100问之交换技术(壹)

在这里插入图片描述

实验拓扑

在这里插入图片描述

动作:在PC1上pingPC2

封装

分析报文的封装与解封装过程
1、首先,在PC1上要封装一个报文,此报文为ICMP,且是一个Type为8的Echo (ping)request

2、接下来,继续封装到IP层(加三层头),Sou IP为10.1.1.1 Des IP为10.1.1.2 Protocol为1 的ICMP报文(这里IP层说明了上层使用的是什么协议,本质上只做一个标明,并不关心上层是干什么的)

3、来到二层(Ethernet II 加二层头),进行MAC地址的封装,Type是0x0800(标明上层用的是IP协议),Sou MAC为本机的MAC地址,而Des MAC并不知道是多少,此时这个数据包就不能正常的完成封装,即丢弃

测试验证:

验证前,先查一下ARP表项(后面会解释)
在这里插入图片描述

在这里插入图片描述

可见,此时与分析一致,查看此时的ARP表项,可见多了一个PC2的IP与一个MAC地址的绑定,且类型为动态
在这里插入图片描述

继续说刚才报文丢弃后的动作,当封装到Ethernet II层时,发现无法得知Des MAC,那么就会触发一个动作,这个动作就是广播发送ARP报文

触发ARP

详解:

广播发送ARP报文是另一个封装的过程,下面边分析边抓包查看报文

1、PC1封装ARP报文,其中的内容如下;

Protocol Type:IPv4(0x0800) 表示发送方要映射的协议地址类型
Hardware Type:1表示硬件地址的类型,对于以太网,值为1
Opcode:1
1 ARP request
2 ARP reply
3 RARP request
4 RARP reply
Sender MAC :PC1的MAC
Sender IP :PC1的IP
Target MAC:Broadcast (ff:ff:ff:ff:ff:ff)
Target IP : PC2的IP

2、封装Ethernet II Sou MAC:本机的MAC Des MAC:全f(因为要二层广播) Type:0x0806(ARP)

3、封装到1层(进行串行化)

什么是串行化?

  • 二层的数据帧转换成一层的比特流(弱电信号),这个过程就叫做串行化;接口带宽越大,每秒就可以将更多的数据帧串行化比特流
  • 比如,10Mbit/s 表示每秒可以把10M的数据转换成数据流

在这里插入图片描述

解封装

此时这个报文会在二层广播发送给所有的设备,收到这个ARP请求的设备,开始解封装
比如此时,PC2收到这个报文开始进行解封装

1、将比特流转换成二层的数据帧,这一步叫做格式化

2、查看二层的目的MAC(注意:解封装只关注Destination),是否为自己,不是丢弃了;是,继续解封装;很明显,这个数据报文是一个广播报文,所以PC2是可以继续向上解封装的

3、撕掉二层的封装,打开ARP报文,看到其中Target IP是自己的IP,且是一个ARP requsest;很明显PC1是想要PC2的MAC地址的

此时,PC2就会在本地继续封装一个单播回应ARP包,用于回应PC1自己的MAC地址,让PC1在本地的ARP表项中添加PC2的MAC与IP的映射关系

见下图
在这里插入图片描述


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值