1、实验项目名称:网络嗅探与欺骗实验
2、实验项目的目的和要求:
1)了解网络嗅探与欺骗的原理;
2)掌握基本网络嗅探与欺骗工具的使用方法;
3、实验内容:
1)安装并使用网络嗅探工具(如Iris等);
2)使用网络嗅探工具对局域网的特定主机进行ARP、ICMP、TCP、UDP等协议的数据报网络嗅探;
3)使用网络嗅探工具对局域网的特定主机进行ARP欺骗;
实验:
网络嗅探器,即网络监听,可以理解为在一个计算机上安装的窃听设备,它可以用来窃听改计算机在网络上所产生的众多的信息,可以窃听计算机程序在网络上发送和接收到的数据,用来接收在网络上传输的信息。要想真正理解网络嗅探与ARP欺骗的原理,首先得理解以太网的工作原理。
以太网的工作原理
以太网的数据传输是基于“共享”原理的,所有的同一本地网范围内的计算机共同接收到相同的数据包,也就是说计算机直接的通讯都是透明可见的。正因为这样的原因,以太网卡都构造了硬件的“过滤器”,这个过滤器将忽略掉一切和自己无关的网络信息,即略掉了与自身MAC地址不符合的信息。嗅探程序正是利用了这个特点,它把网卡设置为“混杂模式”,嗅探程序就能够接收到整个以太网内的网络数据信息了。
在以太网中所有的通讯都是广播的,也就是说通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据,而每一个网络接口都有一个唯一的硬件地址,这个硬件地址也就是网卡的MAC地址。大多数系统使用48比特的地址,这个地址用来表示网络中的每一个设备。一般来说每一块网卡上的MAC地址都是不同的,每个网卡厂家得到一段地址,然后用这段地址分配给其生产的每个网卡一个地址。在硬件地址和IP地址间使用ARP和RARP协议进行相互转换。
在正常的情况下,一个网络接口应该只响应这样的两种数据帧:
① 与自己硬件地址相匹配的数据帧。
② 发向所有机器的广播数据帧。
ARP协议:
即地址解析协议,它可以通过IP地址而得其物理地址,即进行IP和MAC的相互转换。在现在的以太网中,每个主机都分配有一个逻辑地址,即32位的IP地址,但是数据在物理链路层传输,需要的是目标方的MAC地址,这样就需要有IP和MAC之间的相互转换协议,即就是ARP协议和RARP协议。
ARP工作原理:
在每一台电脑中都会存有一个ARP缓存表,里面放着IP和MAC的对应关系。当进行数据传输的时候,主机会根据缓存表查目标IP对应的MAC地址,如果存在则按缓存表中的目标MAC发送。若没有的时候,源主机则发送一个二层广播信息,询问目标IP对应的MAC地址是多少?当某台主机的IP为广播消息中的目标IP时,它就响应改广播数据包,告诉源主机改IP对应的MAC地址为我们的MAC地址,即将自己的MAC地址填写到数据包的相应的位置回复给源主机,源主机接收到响应数据包后就按数据包中的该MAC发送相应数据包,并将此信息更新到自己的ARP缓存表中去。
ARP攻击原理:
ARP攻击其实就是构造一个假的数据包(伪造IP地址和MAC地址)发送给目标主机。能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中。
试验拓扑图:
开始欺骗时:
主机B向主机A发送一个ARP应答包,包中包含信息有:192.168.38.2的MAC地址是00 0c 29 ca 23 e6,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.38.2的MAC地址替换成00 0c 29 ca 23 e6,同时主机B向网关发送一个ARP响应包说192.168.38.129的MAC是00 0c 29 ca 23 e6,同样网关1也没有去验证这个包的真实性就把自己ARP表中的192.168.38.129的MAC地址替换成00 0c 29 ca 23 e6。当主机A想要与主机C通讯时,它直接把应该发送给网关(192.168.38.2)的数据包发送到00 0c 29 ca 23 e6这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关,当从主机C返回的数据包到达网关后,网关也使用自己ARP表中的MAC,将发往192.168.38.129这个IP地址的数据发往00 0c 29 ca 23 e6这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通讯,这样就成功的实现了一次ARP欺骗攻击。
试验所用工具及其使用方法(以IRIS工具为例):
首先是IRIS工具的过滤设置:
第一:hardware filter 设置为promiscuous(混杂模式)
第二:二、三层设置:如图所示
第三:MAC地址(目标主机MAC和源主机MAC)设置
第五:端口设置(此实验可以不设相关的端口)
目标主机的相关信息:
试验抓包:
连接Internet,连接失败,上不了网。
连接网络失败: