实验1 ARP地址欺骗
声明:本实验教程仅限于实验室教学和实验用,不能用于其他非法用途,否则后果自负。
1、实验目的
1、掌握常见ARP欺骗类型和手段
2、掌握ARP协议工作原理和格式
3、掌握防范ARP地址欺骗的方法和措施
4、掌握Sniffer Pro软件的使用
2、实验环境
硬件:交换机1台、路由器1台、计算机数台
软件:Sinfffer pro
Heinaen和Govindan RFC1735 对上进行了进一步的讨论
W.Richard Stenvens TCP/IP协议详解卷1:协议
[日]村上公保TCP/IP网络实验程序篇科学出版社
4、实验原理
数据封装过程
1)、ARP协议简介
ARP(Address Resolve Protocol)地址请求解析协议,用于寻找和IP地址相对应的MAC 地址。
在RFC 826中定义了ARP协议的数据格式和类型。
ARP协议属于在网络层的下部,可看作为网络层和数据链路层的接口,主要用于IPv4以太网。
ARP消息类型有2种:
ARP request :ARP 请求
ARP response :ARP应答
ARP协议格式
ARP报文格式
以太网帧的格式:
ü源MAC地址:发送方的MAC地址
ü源IP地址:发送方的IP地址
ü目的MAC地址:ARP请求中该字段没有意义;ARP响应中为接收方的MAC地址
ü目的IP地址:ARP请求中为请求解析的IP地址;ARP响应中为接收方的IP地址
ARP协议的改进
高速缓存技术
高速缓冲区中ARP表项新鲜性的保持:计时器
目的主机接收到ARP请求后将源主机的IP地址与物理地址映射关
系存入自己的高速缓冲区
主机启动时主动广播自己的IP地址与物理地址的映射关系
5、实验步骤
1)掌握常用的ARP常用命令
ARP命令:
功能:用于查看、添加和删除高速缓存区中的ARP表项
高速缓冲区中的ARP表项
表项添加后两分钟内没有被再次使用:删除
表项被再次使用:增加2分钟的生命周期
Arp –s 192.168.1.50 00-11-22-33-44-55 //将IP地址192.168.1.50和MAC地址00-11-22-33-44-55静态绑定
Arp –d 192.168.1.50 //删除IP地址192.168.1.50的静态绑定
Arp缓存中的IP地址和MAC地址的映射表是有生存期的,每过一段时间就会过期,这时则要重新获取MAC地址。
另外,当计算机重新启动时,ARP缓存表也会被清空。
2)利用Sniffer Pro捕获ARP数据包并进行分析
(1)启动Sniffer Pro,选择要监听的网卡。
(在实验室环境选择实际的网卡,不要选择虚拟网卡)。
图1 选择要监听的网卡
(2)登录该网卡
(3)点击开始,开始监听数据
(4)对照ARP格式,分析各字段的意思。
3)利用Sinffer Pro发送伪造的ARP数据包。
选择发送当前数据帧的按钮,如图所示。
在这里我们要修改发送的数据帧。
比如说,要想对某台主机192.168.1.1(转换成十六进制为c0 a8 01 01)欺骗, 将其MAC地址欺骗为00-11-22-33-44-55。
也就是说,欺骗之后,网络上的计算机都认为IP地址为192.168.1.1的主机MAC地址为00-11-22-33-44。
所以,当网络的主机要和192.168.1.1进行通信时,便发生了故障。
该欺骗的原理,就是冒充192.168.1.1主机发出一个ARP请求,那么网络上接收到该请求的计算机都会更新本机的ARP表,从而获得一个错误的消息。
要发送的帧如下图。
大家在修改该帧的字段时,要对照ARP协议的报文格式来进行。
注意:如果192.168.1.1为网关(路由器)的IP地址,则该操作对网络来说会产生严重的后果,造成网络内所有的计算机都不能连上Internet,请勿在实验室以外的地方使用,否则后果自负。
这是针对网关的一种ARP欺骗,数据包是以广播的方式发送。
点击发送之后,再查看网络内各主机的ARP缓存表,会发现出现以下情况:
实验验证
E:\Documents and Settings\he>arp -a
Interface: 192.168.1.50 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-11-22-33-44-55 dynamic
从上面可以看到192.168.1.1的MAC地址变成了一个错误的MAC地址。
导致无法通信。
6、课后思考
1、查找相关资料,了解ARP欺骗的发现和防范。
2、利用WinPcap,编写程序来实现接收和发送ARP数据包。