文档详情

ARP协议数据包的捕获解析设计与.pptx

发布:2017-05-25约1.57千字共11页下载文档
文本预览下载声明
ARP 协议数据包的捕获解析设计与实现;一、ARP数据包结构;二、获取网卡列表;/* print devices list */ for (d = alldevs;d != NULL; d = d-next ) { printf(%d. %s,++i,d-name); if (d-description) printf((%s)\n,d-description); else printf((No description avaliable)\n); } if (i == 0) { printf(\nNo interfaces found! Make sure Winpcap is installed.\n); return -1; } printf(Enter the interface number(1-%d):,i); scanf(%d,inum); ;以混乱模式打开网络设备;编辑过滤器并设置过滤器,只捕获ARP数据包;//设置过滤器 if (pcap_setfilter(adhandle, fcode)0) { cout\nError setting the filter.\n; pcap_freealldevs(alldevs); return 0; } cout\t\tlistening on d-description...endlendl; ofstream fout(argv[1],ios::app); //日志记录文件 //加入日期记录 time_t t; time(t); fout.seekp(0,ios::end); ;if(fout.tellp()!=0) foutendl; fout\t\tARP request(1)/replay(2) on ctime(t); coutsour IP Addr Sour MAC Address Des IP Addr Des MAC Address OP Timeendl; foutSour IP Addr Sour MAC Address Des IP Addr Des MAC Address OP Timeendl; //释放设备列表 pcap_freealldevs(alldevs); ;//开始捕获MAC帧 int result; //时间到返回结果 while((result=pcap_next_ex(adhandle, header, pkt_data)) = 0) { if(result==0) continue; packet_handler(header,pkt_data,cout); //解析ARP包,输出结果 packet_handler(header,pkt_data,fout); //输出到文件 } ? ? return 0; }
显示全部
相似文档