Wireshark数据抓包分析之ARP协议

本文介绍了ARP协议的工作原理,包括ARP请求和响应过程,以及ARP缓存表的维护。通过Wireshark抓包分析,阐述了如何利用ARP进行通信,并提供了实验步骤,包括使用Netsh和ARP命令绑定IP和MAC地址,以及使用Wireshark捕获和分析ARP数据包。
摘要由CSDN通过智能技术生成

预备知识

1、知识储备

推荐两本好书:
《TCP/IP详解卷1》http://www.pc6.com/softview/SoftView_2564.html
《Wireshark数据包分析实战》http://download.csdn.net/detail/u011538384/5908643

2、什么是ARP

ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。由于OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接通信。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头。但由于发送数据包时只知道目标IP地址,不知道其MAC地址,而又不能跨越第二、三层,所以需要使用地址解析协议。
使用地址解析协议后,计算机可根据网络层IP数据包包头中的IP地址信息对应目标硬件地址(MAC地址)信息,以保证通信的顺利进行。ARP的基本功能就是负责将一个已知的IP地址解析成MAC地址,以便主机间能正常进行通信。

3、ARP工作流程

ARP工作过程分为两个阶段,一个是ARP请求过程,一个是ARP响应过程,该工作流程如下面图示:
在这里插入图片描述
在这里插入图片描述
在上图中,主机PC1的IP地址为10.1.1.X;主机PC2的IP地址为10.1.1.Y。当主机PC1和主机PC2通信时,地址解析协议可以将主机PC2的IP地址(10.1.1.Y)解析成主机PC2的MAC地址。PC1和PC2的详细通信过程如下所示:
(1)当主机PC1想发送数据给主机PC2时,首先在自己的本地ARP缓存表中检查主机PC2匹配的MAC地址。
(2)如果主机PC1在缓存中没有找到相应的条目,它将询问主机PC2的MAC地址,从而将ARP请求帧广播到本地网络上的所有主机。该帧中包括源主机PC1的IP地址和MAC地址。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将会丢弃ARP请求。
(3)主机PC2确定ARP请求中的IP地址与自己的IP地址匹配,则将主机PC1的地址和MAC地址添加到本地缓存表。
(4)主机PC2将包含其MAC地址的ARP回复消息直接发送回主机PC1(这个数据帧是单播)。
(5)当主机PC1收到从主机PC2发来的ARP回复消息时,会将主机PC2的IP和MAC地址添加的自己的ARP缓存表。本机缓存是有生存期的,默认ARP缓存表的有效期是120s。当超过该有效期后,将再次重复上面的过程。主机PC2的MAC地址一旦确定,主机PC1将能向主机PC2发送IP通信了。

4、ARP缓存表

ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的MAC地址。在ARP缓存中的每个表又被称为ARP缓存表。下面将介绍ARP缓存表的由来、构成及生命周期等。
1.ARP缓存表的由来:
ARP协议是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能记住对方电脑网卡的MAC地址,以便数据的发送呢?所以,这里就有了ARP缓存表。
2.ARP缓存表维护工具——arp命令:
在计算机中,提供了一个ARP命令。该命令用于查询本机ARP缓存中的IP地址和MAC地址的对应关系、添加或删除静态对应关系等。用户也可以通过使用arp命令验证ARP缓存条目的生命周期。ARP命令的语法格式如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值