【网络攻防】ARP欺骗实验
实验概述
ARP欺骗是一类地址欺骗类病毒,属于木马病毒,自身不具备主动传播的特性,不会自我复制。但是由于其发作的时候会不断向全网发送伪造的ARP数据包,导致网络无法正常运行,严重的甚至可能带来整个网络的瘫痪。此外,黑客还会通过这种攻击手段窃取用户密码,如盗取QQ密码、盗取各种网络游戏密码和账号、盗窃网上银行账号,给用户造成了很大的不便和巨大的经济损失。因此,它的危害比一些蠕虫病毒还要厉害。
电脑感染ARP病毒后的表现为:网速时快时慢,极其不稳定,局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常;网上银行、游戏及QQ账号的频繁丢失。随着加密技术的不断提高,ARP病毒在盗取用户账号、密码时遇到了很大的难度。于是又出现了一类新的ARP病毒,该类ARP病毒保留了ARP病毒的基本功能,即向全网发送伪造的ARP欺骗广播,将自身伪装成网关。在此基础上,对用户发出的HTTP请求访问进行修改,在其中插入恶意网址链接,用户在不知情的情况下点击这些链接时,木马病毒就会利用系统漏洞种植到用户电脑中,从而使用户电脑感染病毒。
实验目的
- 掌握ARP协议的基本概念及其缺陷
- 认识到ARP欺骗的危害
- 掌握ARP欺骗的两种工作原理
- 掌握ARP欺骗时表现出的基本特征
- 掌握ARP欺骗的防范策略
- 学会在现实环境中解决ARP攻击
实验原理
一、什么是ARP协议
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。我们知道在局域网中,网络以“帧”的形式传输数据。一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址,目标主机的MAC地址理应就包含在数据帧中。显然在双方通信之初,发送方是无法知道目标MAC地址的,它的获得就是通过地址解析这个过程。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
二、ARP协议的工作原理
ARP数据包根据接收对象不同,可分为两种:
- 广播包(Broadcast)。广播包目的MAC地址为FF-FF-FF-FF-FF-FF,网络设备如交换机接收到广播包后,会把它转发给局域网内的所有主机。
- 非广播包(Non-Broadcast)。非广播包后只有指定的主机才能接收到。
ARP数据包根据功能不同,也可以分为两种: - ARP请求包(ARP Request):作用是用于获取局域网内某IP对应的MAC地址。
- ARP回复包(ARP Reply):作用是告知别的主机,本机的IP地址和MAC是什么。
广播的一般都是ARP请求包,非广播的一般都是ARP回复包。
我们通过一个案例简单分析一下。假设局域网内有以下两台主机,主机名、IP地址、MAC地址分别如表 12.1.1所示:
表1 两台主机的IP地址及MAC地址
当主机A需要与主机B进行通讯时,它会先查一下本机的ARP缓存中,有没有主机B的MAC地址。如果有就可以直接通讯。如果没有,主机A就需要通过ARP协议来获取主机B的MAC地址。具体做法是主机A会形成一个ARP请求,以物理广播地址在本子网上广播,并等待目的主机的应答。这个请求包含发送方的IP地址、物理地址以及目标主机的IP地址。
当主机B接收到来自主机A的“ARP广播-请求”数据包后,它会先把主机A的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,然后它会给主机A发送一个“ARP非广播-回复”数据包,当主机A接收到主机B的回复后,它会把主机B的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,之后主机A和B就可以进行通讯了。图 1显示了两台网络设备的ARP表。
图 1 两台设备的ARP表
从上述局域网主机通讯过程可以看出,主机在两种情况下会保存、更新本机的ARP缓存表:
- 接收到“ARP广播-请求”包时
- 接收到“ARP非广播-回复”包时
通过以上分析我们可以看出,ARP协议是没有身份验证机制的,局域网内任何主机都可以随意伪造ARP数据包,ARP协议设计天生就存在严重缺陷。ARP欺骗的过程基本思路是PC03首先向PC02发送了一个ARP数据包,作用相当于告诉PC02:“我是10.0.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向GateWay也发送了一个ARP数据包,作用相当于告诉GateWay:“我是10.0.0.2,我的MAC地址是03-03-03-03-03-03”。欺骗成功后,主机PC02与GateWay之间的数据流向,以及它们各自的ARP缓存表就变成如图 2所示:
图 2 ARP欺骗后的网络设备保存的ARP表
三、ARP欺骗的防范策略
ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。
1、 清空ARP缓存
点击“开始”按钮->选择“运行”->输入“arp -d”->点击“确定”按钮,然后重新尝试上网,如能恢复正常,则说明此次掉线可能是受ARP欺骗所致。
2 、个人主机ARP绑定
通过执行“arp -s 210.31.197.94 00-03-6b-7f-ed-02”,临时绑定主机IP与MAC地址。或者,通过建立一批处理文件,绑定IP和MAC。方法如下:
@echo off
arp -d
arp -s IP MAC
每次开机,计算机都会执行一次静态ARP地址绑定,从而较好地防范ARP欺骗。如果能在机器和路由器中都进行绑定,效果会更好。
3 采用适当的杀毒与防范软件
诺顿、卡巴斯基、瑞星等杀毒软件均可查杀此类病毒。蓝盾防火墙、蓝盾UTM、ARP防火墙、风云防火墙等,都是针对性较强的防ARP欺骗攻击软件,可以起到防范甚至追踪ARP攻击源的作用。
实验环境
ARP攻击源向服务器发送带有虚假MAC地址信息的ARP包给服务器(靶机),导致服务器收到错误的网路信息(实验拓扑图如下)。
图 3 实验拓扑图
备注:开启靶机windows和linux,在linux终端运行工具ettercap,对windows靶机进行攻击(linux终端运行:ettercap -G)。
实验步骤
- 打开ARP攻击源,在终端中输入ifconfig –a,可以查看攻击源的IP地址、广播地址、子网掩码等攻击源的相关网络信息。(图 4)
图 4 ARP攻击源相关网络信息
- 在终端中输入ipconfig /all,可以查看靶机的IP地址、广播地址、子网掩码等靶机的相关网络信息。(图 5)
在windows靶机网络设置中添加DNS:8.8.8.8,并测试靶机能上网后才进行以下实验。
图 5 靶机相关网络信息
- 在靶机终端中输入“ping 172.16.2.254”,可以查看网关的畅通与否。此时再次输入“ping 172.16.2.10”, 可以看到网关可以ping通本网段的其他机器。这里以某一学生的靶机为例子。
图 6查看网关的畅通与否
打开浏览器IE,并输入百度的主页网址,结果表明网络畅通(图 7)。
图 7 网络畅通
- 在ARP攻击源的linux终端中,输入“sudo ettercap –G”,登录ettercap软件(图8)。
图 8 登录ettercap
- 依次点击:Sniff>Unified sniffing>Network interface中选择当前的网卡(图 9、图 10)。
图 9 点击sniff
图 10 选择当前网卡
- 扫描该网段的所有主机的相关信息,并显示主机列表。(图 11、图 12、图 13、图 14)
图 11 选择Scan for hosts
扫描完成后
图 12扫描所有主机的相关信息
即可查看扫描到的主机列表:
图 13 选择Hosts list
图 14查看扫描到的主机列表
- 向目标框中添加网关IP和靶机的IP,并执行ARP欺骗:
选择网关IP MAC 添加 > add to target 1
图 15 add to target 1
添加目标ip,也就是要欺骗的ip,添加到target 2,如下图 16:
图 16添加目标ip
跳转到当前的目标,也就是点击targets->current targets,如下图 17:
图 17跳转到当前的目标
开始Arp欺骗,选择Mitm->Arp poisoning…,进行欺骗,如下图 18:
图 18选择Mitm->Arp poisoning
勾上,点击OK 开始欺骗。
图19 开始ARP欺骗
- 回到靶机的终端中,再依次输入“ping –n 5 172.16.2.254”和“ping –n 5 www.baidu.com”,发现网关地址和百度网址都ping不通,打开浏览器IE,并输入百度的主页网址,结果表明此时网络不通畅(图 20、图 21)。
图20 网关地址无法ping通
图21 网络不通畅
- 退出 ARP欺骗攻击,在靶机cmd中清理一下ARP缓存“arp -d”,再次测试查看靶机的网络情况(图 22、图 23)
图22 退出ARP欺骗攻击
图23 查看靶机网络情况
可以看到由于ARP欺骗攻击,会造成靶机的网络瘫痪,由此可见,防范ARP欺骗攻击对于保护自身网络安全的重要性。
思考总结
- ARP协议有哪些缺陷?
- ARP欺骗的两种工作原理分别是什么?
- ARP欺骗发生时,所表现出的基本特征是什么?
- 如何防范ARP欺骗?
【网络攻防】ARP欺骗实验相关推荐
- 网络攻防——ARP欺骗
arp基础攻防 1.什么是arp攻击 2.arp攻击条件 3.arp如何进行攻击 3.1靶机环境搭建 3.2攻击机环境搭建 3.3如何发起arp攻击 4.如何防止arp攻击 5.参考文献 1.什么是a ...
- ARP欺骗实验-Wireshark-长角牛网络监控
ARP欺骗实验-Wireshark-长角牛网络监控 ARP(Address Resolution Protocol)地址解析协议: 最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的 ...
- 计算机网络实验三 ARP原理与ARP欺骗 实验报告
实验三 ARP原理与ARP欺骗 目录 [实验名称] [实验目的] [实验要求] [实验环境] 5.参考脚本:构建如图所示虚拟实验网络,可参考如下脚本: [实验步骤] 步骤1:创建虚拟实验网络,验证网络 ...
- 西电计网ARP欺骗实验
ARP欺骗实验 文章目录 ARP欺骗实验 Cloud云设备 连接本机网卡 ARP欺骗实验 Cain基本设置 主机发现 ARP欺骗的原理 实现 Cain干了啥 DNS欺骗实验 Cain干了啥 欺骗转发 ...
- 实验六 基于WinPcap的ARP欺骗实验
一. 实验目的 掌握 WinPcaP 的安装和配置: 掌握 ARP 协议工作原理和格式: 掌握 WinPcap 发包程序的编写: 掌握防范 ARP 地址 ...
- 20169214 2016-2017-2 《网络攻防实践》实验二学习总结
20169214 2016-2017-2 网络攻防实验二 nmap扫描 nmap原理介绍 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏 ...
- 网络攻防技术——XSS实验
一.题目 跨站点脚本(XSS)是一种常见于web应用程序中的计算机安全漏洞.此漏洞使攻击者有可能将恶意代码(如JavaScripts)注入受害者的web浏览器. 为了演示攻击者可以做什么,我们在预先构 ...
- 【网络攻防技术】实验四——缓冲区溢出攻击实验
文章目录 一.实验题目 二.实验步骤 Task1: Get Familiar with the Shellcod Task2: Level-1 Attack Task 3: Level-2 Attac ...
- 【网络攻防技术】实验三——MD5碰撞实验
一.实验要求 本次实验主要是加深大家对MD5碰撞及其原理的理解,使用SEED实验环境中的工具及编程语言,完成以下任务: a)使用md5collgen生成两个MD5值相同的文件,并利用bless十六进制 ...
最新文章
- iOS开发:沙盒机制以及利用沙盒存储字符串、数组、字典等数据
- 转 mac svn用法
- 独家 | 使用Python的LDA主题建模(附链接)
- F5 云应用服务促进公共云、私有云及混合云应用部署
- C语言实现一个随机测试加减乘除,编写程序:C语言实现一个随堂测试,能进行加减乘除运算...
- 二叉树经典题之从前序和中序遍历构建二叉树
- jQuery常用操作部分总结
- latex中输入matlab代码,Latex插入matlab代码
- 参考手册资源 百度云
- MySQL INSERT对表中数据的操作-插入数据
- composer安装fxp/composer-asset-plugin
- 搭建自已的turn服务器
- 安防巡逻机器人在不同应用场景下的作用是什么?
- JAVA--Socket【“套接字”】
- 巨量jsvmp,扣逻辑分析
- 69. 单发多框检测(SSD)代码实现以及QA
- SQL Server的ltrim()和rtrim()函数
- 人体检测算法,人流量统计,闯入分析
- iMX6系列-iMX6Q 开发板 Python 移植
- 2022年全球及中国储能锂电BMS市场产业链发展结构分析及投资规模竞争格局研究预测
热门文章
- java8 BigDecimal 除法保留三位小数 后面小数进位处理
- linuex查看繁忙_linux
- 三十而立? 人家Linux十年就名扬天下了!
- cf627e Orchestra
- STM32中FLASH/System Memory/SRAM的区别
- 80后的初中生学计算机难吗,放弃所学计算机专业 爱做梦“80后”成面塑传人
- html5给页面添加树叶特效,html5 canvas树叶光标动画特效
- 关于树叶的活动设计_幼儿园中班数学活动好玩的树叶教案设计
- 我的财务自由和时间自由——3楼继续更新中
- Wordpress + Markdown终极搭配