- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解析ARP数据包计算机网络课程设计
计算机网络
课程设计报告
题 目: 解析ARP数据包
姓 名:
学 号:
同组姓名:
专业班级:
指导教师:
评阅意见:
评定成绩: 指导老师签名:
年 月 日
目 录
一、课程设计目的: 2
二、课程设计要求: 2
三、课程设计分析 3
1.课程设计中的重点及难点 3
2.参考算法 3
3.核心代码 4
四、源程序及运行截图 5
五、心得体会 9
六、参考文献 10
一、课程设计目的:
本课程设计的目的是对网络上的ARP数据包进行解析,从而熟悉ARP数据包的结构,对ARP协议有更好的理解和认识。
二、课程设计要求:
通过编制程序,获取网络中的ARP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
程序的具体要求如下所示:
1.以命令行的形式运行,如下所示:
arpparse logfile
其中,arpparse为程序名;logfile为日志文件名。
2.程序输出内容如下所示:
源IP地址 源MAC地址 目的IP地址 操作 时间
各部分的说明如下所示:
源IP地址:输出ARP消息格式中的源IP地址字段。
源MAC地址:输出ARP消息格式中的源物理地址字段。
目的IP地址:输出ARP消息格式中的目的IP地址字段。
目的MAC地址:输出ARP消息格式中的目的物理地址字段。
操作:输出ARP消息格式中的操作字段,若为ARP请求,则为1,若为ARP应答,则为2。
时间:该ARP包产生的时间
3.当程序接收到键盘输入Ctrl+C时退出。
三、课程设计分析
1.课程设计中的重点及难点
程序中会用到Winpcap,Winpcap是Win32环境下数据包捕获的开放代码函数库。基于Winpcap的应用程序一般按照下面几个步骤进行设计:
输出网卡设备列表。
选择网卡并打开。
捕获数据包时,可能需要设置过滤器。
捕获数据包或者发送数据包。
在程序设计过程中需要注意网络—主机字节顺序的转化。由于不同的计算机系统所采用的数据表示方式不同,对于2B或4B的数据,有的采用低字节地址存放数据的高权值位,而有的却以低地址字节存放数据低权位值,在网络的数据传输中,我们应该统一表示,所以我们在捕获数据包后,应将数据包头部的表示长度或类型的数据转换成本地机的表达形式。可以利用函数ntohs()将网络字节序转换为主机字节序。
选择网卡并打开时,注意选择可用的网卡。
2.参考算法
取得当前网卡设备列表。
选择Ethernet网卡并打开,注意判断所选网卡是否为实际存在的可用网卡。
设置过滤器,此处的过滤器正则表达式为“arp”或者“ether proto\\arp”。
捕获数据包并进行处理(包括输出各IP地址,物理地址,操作类型以及时间)。由于要记录日志文件,为了便于输出流参数,建议采用pcap_next_ex()函数。
流程图如下图所示:
3.核心代码
ARP数据包结构
struct arppkt{
unsigned short hdtyp; //硬件类型。值0001表示其为Ethernet
unsigned short protyp; //协议类型。值0800表示上层协议为IP
unsigned char hdsize; //硬件地址长度。值为06
unsigned char prosize; //协议地址长度。值为04
unsigned short op; //操作值为0001/0002,分别表示ARP请求/应答
u_char smac[6]; //源MAC地址,6B
u_char sip[4]; //源IP地址,4B
u_char dmac[6]; //目的MAC地址
u_char dip[4]; //目的IP地址
};
//获取网络设备列表
if(pcap_findalldevs(alldevs,errbuf)==-1)
{
coutError in pcap_findalldevs:errbuf;
return;
}
//选择Ethernet卡
for(d=alldevs;d;d=d-next)
{
//以混杂模式打开网卡,以接受所有的帧
if((adhandle=pcap_open_live(d-name,1000,1,300,errbuf))==NULL)
{
cou
您可能关注的文档
最近下载
- 第18章中国传媒业的新生态、新业态《网络与新媒体概论》教学课件.ppt VIP
- 三相桥式可控整流电路设计..doc
- 第17章互联网与网民素养《网络与新媒体概论》教学课件.ppt VIP
- 第14章互联网与精准营销《网络与新媒体概论》教学课件.ppt VIP
- 《典型灾害应急实训》课程大纲(本科).docx VIP
- 第12章互联网与社会思潮《网络与新媒体概论》教学课件.ppt VIP
- 护士N2晋级N3述职报告PPT.pptx
- 《人力资源规划HRP》课件.pptx VIP
- 第9章互联网与民主政治建设《网络与新媒体概论》教学课件.pptx VIP
- (新版)高级考评员职业技能鉴定考试题库(含答案).docx
文档评论(0)