Dolphin,ChinaBJ,20131122
本文档是检验自己学习TCP/IP协议卷1:协议中关于ARP协议的学习情况。本文档包含以下四部分:1、简述ARP协议;2、ARP的分组格式;3、ARP Spoofing 实验 4、应用及防御方法。
1.简述ARP协议
ARP(Address Resolution Protocol)地址解析协议。两台主机相互通信过程中,在网络层上,是用32位的IP地址进行寻址;在数据链路层上,是通过48位的以太网地址来确定目的接口。ARP协议是提供IP地址到MAC地址的动态映射。
1.1 ARP的工作原理
两台主机进行通信时,主机A向主机B发送一个数据报文,在数据报文发送出去之前,主机A先在本地查看ARP缓存表,查看数据报文中目的IP地址相对应的MAC地址;若ARP缓存表中没有对应的记录,则主机A先发送一个广播包,询问这个IP的MAC地址是多少;对应IP的主机,也就是这里的主机B收到这个请求包之后,会给主机A发送一个ARP回应包,告诉它主机B的MAC地址;主机A收到这个回应包之后,便将该条IP-MAC记录添加进ARP缓存表中。在这个表中,每条动态添加的记录有效期为20分钟,而静态添加的记录则为永久。
2.ARP的分组格式
图1 ARP分组格式图
图2 ARP抓包信息
以太网头部中的前两个字段以太网目的地址和以太网源地址都是填入16进制的地址。
帧类型对于APR来说是0x0806,这是固定的值;
硬件类型表示硬件地址的类型,值为1表示以太网地址。协议类型字段表示要映射的协议地址类型,值为0x0800的类型为IP地址;
硬件地址长度与协议地址长度,以字节为单位;
操作码,1表示ARP请求,2表示ARP应答;
接下来的四个字段相信大家都很熟悉了,我就不做解释了。大家可以通过图2的抓包信息详细了解ARP的数据包。图2的抓包信息是用wireshark工具的抓包结果。
3.ARP Spoofing 实验
ARP Spoofing实验带有一定的***性,在此仅用于研究ARP协议,请勿乱用。该部分实验包括以下四个部分:1、实验环境 2、实验步骤 3、实验结果 4、结论
第1章
第2章
第3章
3.1 实验环境
硬件:主机两台,一台路由器
操作系统:WIN 7 和WIN XP
工具:XCAP v0.4.7、Wiresharkv1.10.3
主机名 | IP地址 | MAC地址 |
hostA | 172.16.16.10 | 00-CC-22-BB-66-EE |
hostB | 172.16.16.102 | 00:0C:29:BA:6C:E3 |
gw | 172.16.16.1 | 78-AA-00-BB-33-EE |
表1
3.2 实验步骤
1、用wireshark工具抓包
我们可以先用wireshark这个工具抓包,观察ARP数据包中每个字段的值,哪些是固定的,哪些是可变的,然后再构造我们需要的ARP包。如图3,是我们的抓包结果。
图3 wireshark抓包信息
2、构造ARP数据包
我们用XCAP这个工具来构造我们的ARP数据包。
序号 | 类型 | 源IP | 源MAC | 目的IP | 目的MAC | 操作码 |
1 | ARP请求包 | 172.16.16.1 | AA-AA-AA-AA-AA-AA | 172.16.16.102 | FF-FF-FF-FF-FF-FF | 1 |
2 | ARP回应包 | 172.16.16.1 | AA-AA-AA-AA-AA-AA | 172.16.16.102 | 00:0C:29:BA:6C:E3 | 2 |
表2
3、查看ARP缓存表
在windows系列操作系统中,点击开始→运行→输入cmd→输入arp -a 命令查看。如图4所示为主机B的ARP缓存表。
图4 主机B的ARP缓存表
4、发送ARP欺骗包
用XCAP发送我们已经构造好的ARP欺骗包。
5、再次查看ARP缓存表
用XCAP发送ARP欺骗包,发送一段时间之后,再次回到主机B查看ARP缓存,看网关的MAC地址是否已经被成功篡改。
3.3 实验结果
图5 第一组ARP测试结果
图6 第二组ARP测试结果
从以上结果可以看出,第一组构造的ARP欺骗包并没有发生作用,而第二组ARP欺骗包则成功篡改了主机B上的IP-MAC地址记录,将网关的MAC地址成功篡改为AA:AA:AA:AA:AA:AA 。当主机B接收到ARP回应包时,就会对自己的ARP缓存表进行更新,而不会管这个回应包是否是伪造的。
3.4 结论
主机收到ARP的回应包就会更新自己的ARP缓存表,而没有判断这个回应包是否是伪造的,从而导致可以利用发送ARP回应包进行ARP欺骗***。
4.应用及防御方法
第4章
4.1 应用
关于ARP***,常见的应用有以下几个:
1、盗号***首先运行ARP***,使你与游戏断开连接,在你重新连接的时候,采用键盘记录器或者其他方法将你的游戏帐号,密码给记录下来,并发送到指定的服务器上,从而盗取你的虚拟财产;
2、网管软件限制未经许可接入网络的主机与Internet相连。
3、进行信息嗅探,将目标的MAC地址更改为自己的MAC地址,从而捕获发往该目标主机的信息,进行信息收集。
4、进行“Man in the middle”***。
还有很多方面的应用,在此就不多说了。
4.2 防御
1、将常用的IP地址进行MAC绑定,即配置静态MAC,可用命令,arp -s 来完成;
2、安装ARP防火墙;
3、清除ARP缓存表(arp -d ),此方法治标不治本;
4、安装杀毒软件,定期更新病毒库,定期查杀病毒。
转载于:https://blog.51cto.com/1429223/1330344