2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 网络安全实验之《ARP欺骗攻击》实验报告

网络安全实验之《ARP欺骗攻击》实验报告

时间:2019-11-26 14:14:35

相关推荐

网络安全实验之《ARP欺骗攻击》实验报告

一、实验目的

(1)课上实验(ARP欺骗攻击工具实验):运行WinArpAttacker或Ettercap(二选一),通过WireShark等抓包工具,捕获ARP欺骗攻击的数据包,分析ARP攻击的原理。

(2)课后实验(ARP欺骗攻击编程实验):基于Winpcap(或其它网络开发包Libpcap/Jpcap/Scapy等)编写程序,对指定的目标IP地址进行ARP欺骗攻击。

通过进行上述的课上实验和课后实验,能够进一步掌握ARP欺骗攻击原理和ARP欺骗防范技术。

二、实验环境

1.攻击主机:Kali-linux。

2.靶机:Windows 7。

3.软件:Ettercap、Wireshark、Scapy网络开发包。

4.编程语言:Python。

本次实验用到攻击主机Kali和被攻击主机Win7两台虚拟机,并在VMware虚拟机->设置->网络配适器中将网络连接改为NAT模式。

三、实验过程与结果

一、课上实验(ARP欺骗攻击工具实验)

我选择的是Ettercap工具实验进行ARP欺骗操作。

(1)使用命令ipconfig 查看win7的网卡、ip地址、网关地址等信息:

(2)使用命令ifconfig查看kali的网卡、ip地址、网关地址等信息:

(3)测试两虚拟机之间能够相互ping通:

Win7 ping通Kali:

Kali ping通Win7:

(4)利用命令arp -a查看靶机被攻击前的arp信息:

(5)Ettercap的使用

1.在kali中,使用命令sudo ettercap -G打开ettercap:

2.选择当前网卡,点击左上角🔍,扫描该网段的所有主机信息,在host list中查看扫描结果:

可以看到192.168.161.1/2/134分别对应对应物理机、网关、Win7的IP地址和MAC地址,另外的主机对应未涉及到实验的其他虚拟机。

3.分别将网关和Win7虚拟机添加为Target1和Target2:

4.在MITM菜单中选择ARP Poisoning,点击ok开始攻击:

(6)查看被arp投毒后的靶机arp信息。回到Win7中查看ARP缓存表,可以发现192.168.161.2和192.168.161.134对应的MAC地址被替换成00-0c-29-a7-98-31,其为Kali的MAC地址:

(7)在Kali中打开新命令行,输入wireshark运行并抓包,在过滤器中输入arp检索出所有ARP:

从上图可以看到第33行,Kali向网关询问192.168.161.134 Win7的MAC地址,因为之前的攻击更改了网关的ARP缓存表,所以网关将Kali的MAC地址当做Win7的MAC地址进行发送。第34行,Kali向Win7询问192.168.161.2网关的MAC地址,同理返回的为攻击更改后的Kali的MAC地址,由此实现了一次中间人攻击。之后进行TCP/IP包文发送时其中的MAC地址发生错误,从而将不应发送给攻击者的包发送了出去。

(8)进行arpspoof攻击:

命令执行后到Win7主机中尝试ping外网,会出现“请求找不到主机”:

二、课后实验(ARP欺骗攻击编程实验)

我选择的是Scapy网络开发包,用Python语言编写ARP欺骗脚本,来实现对靶机的攻击。

(1)认识ARP的报文结构:

① 硬件类型:表明ARP实现在何种类型的网络上。

② 协议类型:代表解析协议(上层协议)。一般是0800,即IP。

③ 硬件地址长度:MAC地址长度,此处为6个字节。

④ 协议地址长度:IP地址长度,此处为4个字节。

⑤ 操作类型:代表ARP数据包类型。0表示ARP请求数据包,1表示ARP应答数据包。

⑥ 源MAC地址:发送端MAC地址。

⑦ 源IP地址:代表发送端协议地址(IP地址)。

⑧ 目标MAC地址:目的端MAC地址(待填充)。

⑨ 目标IP地址:代表目的端协议地址(IP地址)。

(2)由前面的课上实验已经知道,Kali的IP为192.168.161.130,Win7即靶机的IP位192.168.161.134,网关IP为192.168.161.2,Kali与Win7也能互相ping通,且被攻击前Win7的ARP缓存表如下:

(3)在Kali中安装好Scapy包:

(4)根据ARP的报文结构,以及Scapy的功能特性,我编写了ARP欺骗攻击的Python脚本scapy_attack.py,其完整内容(包括详细的注释)如下:

(5)在Kali运行上述脚本:

在Win7中尝试ping外网,可以看到攻击成功,显示找不到主机。不过,有时候可能会ping成功,其原因是网关也在不定时的发送ARP包,而此时恰好将Kali发出的ARP包覆盖,此时则能正常ping通:

此时Win7的ARP缓存表情况如下:

可以看到,此时ARP缓存表的变化情况和使用Ettercap进行攻击时的情况一样的。

(6)在运行scapy_attack.py的同时,在Kali中打开Wireshark进行抓包:

可以看到Kali对Win7不断发送广播询问,并在ARP包中标识自己为网关IP,因此当Win7要去网关时,其ARP缓存表中记录的响应MAC地址为Kali的地址。

四、实验总结

通过本次实验,我对ARP协议以及ARP报文的结构有了进一步的了解,掌握了ARP欺骗攻击的原理以及ARP欺骗攻击工具的使用,同时尝试了自己编写脚本来实现ARP欺骗攻击。这些体验都是在书本知识上感受不到的,正所谓“纸上得来终觉浅,绝知此事要躬行”。

同时,在进行实验的过程中,我也遇到了许多问题,在解决这些问题的过程中,我也收获了许多,学习到了很多。其中令我印象比较深刻的一个问题是:Win7虚拟机能够ping通Kali,但是Kali却ping不通Win7。通过查阅相关资料,我找到了解决方法:在Win7虚拟机的控制面板中点击“网络与Internet”,并进入“网络和共享中心”:

进入“更改高级共享设置”,启用网络发现、启用公用文件夹共享即可:

最后,通过这次实验,我对网络安全这门技术有了更进一步的了解,也意识到维护网络安全任重而道远,需要我们持之以恒地学习和实践。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。