《计算机组网试验-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攻击行为时,我们可以通过静态绑定电脑ip和MAC地址来实现针对ARP攻击的第一道应对措施。如图所示,在路由器Web后台管理界面中,切换到“IP-MAC”绑定界面,根据需要,点击“添加到静态绑定列表”按钮,以实现批量静态绑定电脑ip地址操作。

同时为了保证整个局域网的良好运行,我们有必要对外来接入设备进行控制,特别的,我们需要开启“无线接入控制”功能,通过手动添加,无线连网设备的ip或mc地址已实现静态地址绑定功能。

  当然,针对局域网arp攻击的防御的最好方法就是给电脑安装arp防火墙,如图所示,在流量防火墙界面中,开启“ARP主动防御”功能。如果局域网中在ip攻击行为,是将自动弹窗显示其相关警告信息,通过此信息界面,我们可以追溯ARP攻击源,并采取相应的应对措施进行解决。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MCL.龙默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值