



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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<conio.h>#include<fstream.h>#include<iomanip.h>#include "pcap.h"#include<winsock2.h>#pragma comment(
3、lib,"ws2_32.lib")#pragma comment(lib,"wpcap.lib")struct arppktunsigned short hdtyp;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_
4、data,ostream &out)arppkt* arph=(arppkt*)(pkt_data+14);for(int i=0;i<3;i+)out<<int(arph->sipi)<<'.'out.setf(ios:left);out<<setw(3)<<int(arph->sip3)<<" "out.unsetf(ios:left);char oldfillchar=out.fill('0');out.setf(ios:uppercase);for(
5、i=0;i<5;i+)out<<hex<<setw(2)<<int(arph->smaci)<<'-'out<<hex<<setw(2)<<int(arph->smac5)<<" "out.fill(oldfillchar);out.unsetf(ios:hex|ios:uppercase);for(i=0;i<3;i+)out<<int(arph->dipi)<<'.'out.setf(ios
6、:left);out<<setw(3)<<int(arph->dip3)<<" "out.unsetf(ios:left);out.fill('0');out.setf(ios:uppercase);for(i=0;i<5;i+)out<<hex<<setw(2)<<int(arph->dmaci)<<'-'out<<hex<<setw(2)<<int(arph->dmac5)<<&quo
7、t; "out.fill(oldfillchar);out.unsetf(ios:hex|ios:uppercase);out<<ntohs(arph->op)<<" "struct tm *ltime;ltime=localtime(&header->ts.tv_sec);out.fill('0');out<<ltime->tm_hour<<':'<<setw(2)<<ltime->tm_min<<':
8、9;<<setw(2)<<ltime->tm_sec;out.fill(oldfillchar);out<<endl;void main(int argc,char *argv)if(argc!=2)cout<<"please input command: parsearp output_file"<<endl;return;pcap_if_t *alldevs;pcap_if_t *d;pcap_t *adhandle;char errbufPCAP_ERRBUF_SIZE;u_int netmask;ch
9、ar packet_filter="ether proto arp"struct bpf_program fcode;struct pcap_pkthdr *header;u_char *pkt_data;/获取网络设备列表if (pcap_findalldevs(&alldevs,errbuf)=-1) cout<<"error in pcap_find all devs:"<<errbuf;return;/选择一个ethernet网卡for(d=alldevs;d;d=d->next) if(adhandle=p
10、cap_open_live(d->name,1000,1,300,errbuf)=NULL) cout<<"Unable to open ther adapter." pcap_freealldevs(alldevs); return; if(pcap_datalink(adhandle)=DLT_EN10MB&&d->addresses!=NULL) break;if(d=NULL) cout<<"No interface found!Make sure WinPcap is installed."
11、return;netmask=(sockaddr_in*)(d->addresses->netmask)->sin_addr.S_un.S_addr;if(pcap_compile(adhandle,&fcode,packet_filter,1,netmask)<0) cout<<"Unable to compile the packet filter.Check the syntax." pcap_freealldevs(alldevs); return;if(pcap_setfilter(adhandle,&fcode
12、)<0) cout<<"Error setting the filter." pcap_freealldevs(alldevs); return;cout<<"Listening on"<<d->description<<"."<<endl;ofstream fout(argv1,ios:app);time_t t;time(&t);fout.seekp(0,ios:end);if(fout.tellp()!=0) fout<<endl;fou
13、t<<"ttAPP requst(1)/reply(2) on "<<ctime(&t);cout<<"Sour IP Addr"<<" "<<"Sour MAC Address"<<" "<<"Des IP Addr"<<" "<<"Des MAC Address"<<" "<<
14、;"OP"<<" "<<"Time"<<endl;fout<<"Sour IP Addr"<<" "<<"Sour MAC Address"<<" "<<"Des IP Addr"<<" "<<"Des MAC Address"<<" "<<"OP"<<" "<<"Time"<&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 4337-2022可燃性粉尘除尘系统安全验收规范
- DB32/T 3909-2020病媒生物防制技术规范居民区
- DB32/T 3858-2020白叶黑茶加工技术规程
- DB31/T 914.2-2021小型游乐设施安全第2部分:安装要求
- DB31/T 891-2015预拌现浇泡沫混凝土应用技术规程
- DB31/T 637-2012高等学校学生公寓管理服务规范
- DB31/T 540-2022重点单位消防安全管理要求
- DB31/T 300-2018燃气燃烧器具安全和环保技术要求
- DB31/T 1303-2021诚信计量示范社(街)区建设评价导则
- DB31/T 1230-2020呼吸道传染病流行期间社会福利机构安全操作指南
- 2021译林版高中英语选择性必修四课文翻译
- 测量仪器自检记录表(全站仪)
- 投标咨询服务协议(新修订)
- 2022年虹口区事业单位公开招聘面试考官练习试题附答案
- Java程序设计项目教程(第二版)教学课件汇总完整版电子教案
- 访谈提纲格式4篇
- 能源经济学第10章-能源投融资
- 钢结构监理实施细则(全)
- 世界各个国家二字代码表
- 附件_景观工作面移交表
- TZ 324-2010 铁路预应力混凝土连续梁(刚构)悬臂浇筑施工技术指南
评论
0/150
提交评论