计算机网络课程设计(第六章)解析ARP数据包(完整程序代码)(共4页).docx

上传人:飞****2 文档编号:8923512 上传时间:2022-03-26 格式:DOCX 页数:4 大小:87.95KB
返回 下载 相关 举报
计算机网络课程设计(第六章)解析ARP数据包(完整程序代码)(共4页).docx_第1页
第1页 / 共4页
计算机网络课程设计(第六章)解析ARP数据包(完整程序代码)(共4页).docx_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《计算机网络课程设计(第六章)解析ARP数据包(完整程序代码)(共4页).docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计(第六章)解析ARP数据包(完整程序代码)(共4页).docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上计算机网络课程设计机械工业出版社第6章:解析ARP数据包课程设计目的:本课程设计的主要目的是对网络上的ARP数据包进行解析,从而熟悉ARP数据包的结构,对ARP协议有更好的理解和认识。课程设计的内容和要求 : 通过编制程序获取网络中的ARP数据包解析数据包的内容将结果显示在标准输出上并同时写入日志文件。 程序的具体要求如下所示 1、以命令行的形式运行arp arp.log 其中arp为程序名 arp.log为日志文件名。 2、程序输出内容如下所示 源IP地址 源MAC地址 目的IP地址 操作 时间 各部分的说明如下所示 源IP地址输出ARP消息格式中的源IP地址字段

2、源MAC地址输出ARP消息格式中的源物理地址字段 目的IP地址输出ARP消息格式中的目的IP地址字段。 目的MAC地址输出ARP消息格式中的目的物理地址字段 操作输出ARP消息格式中的操作字段若为ARP请求则为1 若为ARP应答则为2时间该ARP包产生的时间 3、当程序接收到键盘输入Ctrl+C时字段完整程序代码:#include#include#include#include pcap.h#include#pragma comment(lib,ws2_32.lib)#pragma comment(lib,wpcap.lib)struct arppktunsigned short hdtyp;

3、unsigned short protyp;unsigned char hdsize;unsigned char prosize;unsigned short op;u_char smac6;u_char sip4;u_char dmac6;u_char dip4;void packet_handler(const pcap_pkthdr *header,const u_char *pkt_data,ostream &out)arppkt* arph=(arppkt*)(pkt_data+14);for(int i=0;i3;i+)outsipi).;out.setf(ios:left);ou

4、tsetw(3)sip3) ;out.unsetf(ios:left);char oldfillchar=out.fill(0);out.setf(ios:uppercase);for(i=0;i5;i+)outhexsetw(2)smaci)-;outhexsetw(2)smac5) ;out.fill(oldfillchar);out.unsetf(ios:hex|ios:uppercase);for(i=0;i3;i+)outdipi).;out.setf(ios:left);outsetw(3)dip3) ;out.unsetf(ios:left);out.fill(0);out.se

5、tf(ios:uppercase);for(i=0;i5;i+)outhexsetw(2)dmaci)-;outhexsetw(2)dmac5) ;out.fill(oldfillchar);out.unsetf(ios:hex|ios:uppercase);outop)ts.tv_sec);out.fill(0);outtm_hour:setw(2)tm_min:setw(2)tm_sec;out.fill(oldfillchar);outendl;void main(int argc,char *argv)if(argc!=2)coutplease input command: parse

6、arp output_fileendl;return;pcap_if_t *alldevs;pcap_if_t *d;pcap_t *adhandle;char errbufPCAP_ERRBUF_SIZE;u_int netmask;char packet_filter=ether proto arp;struct bpf_program fcode;struct pcap_pkthdr *header;u_char *pkt_data;/获取网络设备列表if (pcap_findalldevs(&alldevs,errbuf)=-1) couterror in pcap_find all

7、devs:next) if(adhandle=pcap_open_live(d-name,1000,1,300,errbuf)=NULL) coutaddresses!=NULL) break;if(d=NULL) coutaddresses-netmask)-sin_addr.S_un.S_addr;if(pcap_compile(adhandle,&fcode,packet_filter,1,netmask)0) coutUnable to compile the packet filter.Check the syntax.; pcap_freealldevs(alldevs); ret

8、urn;if(pcap_setfilter(adhandle,&fcode)0) coutError setting the filter.; pcap_freealldevs(alldevs); return;coutListening ondescription.endl;ofstream fout(argv1,ios:app);time_t t;time(&t);fout.seekp(0,ios:end);if(fout.tellp()!=0) foutendl;foutttAPP requst(1)/reply(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 Time=0) if(result=0) continue; packet_handler(header,pkt_data,cout); packet_handler(header,pkt_data,fout);结果截图专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁