实验八协议分析器程序的设计和实现.doc

实验八协议分析器程序的设计和实现.doc

ID:49881733

大小:223.50 KB

页数:15页

时间:2020-03-03

实验八协议分析器程序的设计和实现.doc_第1页
实验八协议分析器程序的设计和实现.doc_第2页
实验八协议分析器程序的设计和实现.doc_第3页
实验八协议分析器程序的设计和实现.doc_第4页
实验八协议分析器程序的设计和实现.doc_第5页
资源描述:

《实验八协议分析器程序的设计和实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验八协议分析器程序的设计和实现1.实验目的:(1)掌握对网络上传输数据包的捕获方法。(2)解析Ethernet网数据帧头部的全部信息。(3)解析IP、ICMP数据包(4)解析传输层和W用层相关协议的头部信息(5)设置过滤规则,能过滤相应协议的数据包。(6)要求有良好的编稈规范与注释信息,要求有详细的说明文档,包括稈序的设计思想、活动图、关键问题以及解决方法。2实验环境:(1)VC6.0(2)局域网能连接Interneto3•程序设计的关键问题以及解决方法有哪些?当应用程序通过IP网络传送数据时,数据被送入TCP/IP协议栈屮,

2、然后从上至下逐一通过毎一层,肓到最后被当作一串比特流送入网络。其屮每一层对收到的数据都要增加一些首部信息,这个过稈被称作封装。通过以太网传输的比特流称作帧。在传输的另一端,当目的主机收到一个以太网数据帧时,数据就开始从协议栈由底向上逐层解析,去掉各层协议所加上的报文头部。每层协议均要检查报文头部屮的协议标识字段,以确定要接收数据的上层协议,最终从报文屮解析出应用层数据后交给应用程序处理。木次要编写的协议分析器,就是从网络屮捕获数据包并对其进行解析的过程。因此,我们需要了解每层协议所规定的报文格式,然后由底向上逐层对数据包进行解码

3、,最麻将分析的结果显示出来。应川层数据传愉层删应用层数据封装解析0传输.层件部应用层数据次太网廿部槌络扶疔部传输.戻首部应用层数据次点网用部4.描述稈序设计过程,并画出稈序活动图。协议分析器总体结构:协议分析器的整体结构按功能应分为三个部分,白底向上分别是数据捕获模块、协议解析模块和用户显示模块。数据包捕获流程:捕获数据包的算法一般分为以下几步:(1)获取并列出当前网络设备列表。(2)由用户选择并打开指定网卡。(3)根据过滤规则设置过滤器。捕获数据包并进行解析处理:协议解析模块:对捕获的数据包按照数据链路层(MAC)、网络层(I

4、P、ARP/RARP).传输层(TCP、UDP、ICMP)和应用层(HTTP等)的层次结构自底向上进行解析,最后将解析结果显示输出。1)解析Ethernet帧2)解析ARP数据包3)解析IP数据包4)解析1CMRTCP和UDP数据包4.给出关键代码,并附注释。1)解析Ethernet帧typedefstructBYTEDesMacAddr[6];//目的地址BYTESrcMacAddr[6];〃源地址WORDLengthOrType;〃数据长度或类型}MAC_HEADER;//MAC帧类型定义=0x0800;=0x0806;=0

5、x8035;constu_shortMAC_TYPE_IPconstu_shortMAC_TYPE_ARPconstu_shortMAC_TYPE_RARPMAC_HEADER*pMacHdr=(MAC_HEADER*)pPkt;//Mac目的地址strItem.Format(NDestinationaddress:%02X:%02X:%02X:%02X:%02X:%02Xn,pMacHdr->DesMacAddr[0],pMacHdr->DesMacAddr[1pMacHdr->DesMacAddr[2],pMacHdr->D

6、esMacAddr[3],pMacHdr->DesMacAddr[4],pMacHdr->DesMacAddr[5]);//Mac源地址strltem.FormatC'Sourceaddress:%02X:%02X:%02X:%02X:%02X:%02Xn,pMacHdr->SrcMacAddr[0],pMacHdr->SrcMacAddr[11,pMacHdr->SrcMacAddr[2],pMacHdr->SrcMacAddr[3],pMacHdr->SrcMacAddr[4],pMacHdr->SrcMacAddr[5])

7、;〃类型/长度字段if(ntohs(pMacHdr->LengthOrType)>1500)〃类型字段(EthernetV2.0){〃根据类型字段调用相应的上层协议处理函数讦(ntohs(pMacHdr->LengthOrType)==MAC_TYPE_IP)//IP协议{stritem=“IP”;ParseIPPacket((BYTE*)pMacHdr+sizeof(MAC_HEADER),iLen-sizeof(MAC_HEADER));}elseif(ntohs(pMacHdr->LengthOrType)==MAC_TY

8、PE_ARP)//ARP协议{stritem=HARPH;ParseARPPacket((BYTE*)pMacHdr+sizeof(MAC_HEADER),iLen-sizeof(MAC_HEADER));}elseif(ntohs(pMacHdr->Lengt

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

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

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