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

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

ID:47016352

大小:267.93 KB

页数:8页

时间:2019-05-28

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

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

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

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

3、。4.描述程序设计过程,并画出程序活动图。协议分析器总体结构:协议分析器的整体结构按功能应分为三个部分,自底向上分别是数据捕获模块、协议解析模块和用户显示模块。..数据包捕获流程:捕获数据包的算法一般分为以下几步:(1)获取并列出当前网络设备列表。(2)由用户选择并打开指定网卡。(3)根据过滤规则设置过滤器。捕获数据包并进行解析处理:协议解析模块:对捕获的数据包按照数据链路层(MAC)、网络层(IP、ARP/RARP)、传输层(TCP、UDP、ICMP)和应用层(HTTP等)的层次结构自底向上进行解析,最后将解析结果显示输出。..1)解析Et

4、hernet帧2)解析ARP数据包3)解析IP数据包4)解析ICMP,TCP和UDP数据包4.给出关键代码,并附注释。1)解析Ethernet帧typedefstruct{BYTEDesMacAddr[6];//目的地址BYTESrcMacAddr[6];//源地址WORDLengthOrType;//数据长度或类型}MAC_HEADER;//MAC帧类型定义constu_shortMAC_TYPE_IP=0x0800;constu_shortMAC_TYPE_ARP=0x0806;constu_shortMAC_TYPE_RARP=0x80

5、35;..MAC_HEADER*pMacHdr=(MAC_HEADER*)pPkt;//Mac目的地址strItem.Format("Destinationaddress:%02X:%02X:%02X:%02X:%02X:%02X",pMacHdr->DesMacAddr[0],pMacHdr->DesMacAddr[1],pMacHdr->DesMacAddr[2],pMacHdr->DesMacAddr[3],pMacHdr->DesMacAddr[4],pMacHdr->DesMacAddr[5]);//Mac源地址strItem.Fo

6、rmat("Sourceaddress:%02X:%02X:%02X:%02X:%02X:%02X",pMacHdr->SrcMacAddr[0],pMacHdr->SrcMacAddr[1],pMacHdr->SrcMacAddr[2],pMacHdr->SrcMacAddr[3],pMacHdr->SrcMacAddr[4],pMacHdr->SrcMacAddr[5]);//类型/长度字段if(ntohs(pMacHdr->LengthOrType)>1500) //类型字段(EthernetV2.0){//根据类型字段调用相应的上层协

7、议处理函数if(ntohs(pMacHdr->LengthOrType)==MAC_TYPE_IP)//IP协议{strItem="IP";ParseIPPacket((BYTE*)pMacHdr+sizeof(MAC_HEADER),iLen-sizeof(MAC_HEADER));}elseif(ntohs(pMacHdr->LengthOrType)==MAC_TYPE_ARP)//ARP协议{strItem="ARP";ParseARPPacket((BYTE*)pMacHdr+sizeof(MAC_HEADER),iLen-size

8、of(MAC_HEADER));}elseif(ntohs(pMacHdr->LengthOrType)==MAC_TYPE_RARP)//RARP协议{strIt

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

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

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