协议解析器.doc

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
协议解析器 篇一:协议分析器程序 协议分析器程序 编程训练目的 协议分析器可以有效完成对网络上传输数据包的捕获,从而收集与分析网络信息,是网络流量监控和故障检测所必不可少的工具之一,对网络管理与网络安全具有重要的意义。 协议分析器的正当用途是分析网络流量,以便找出网络运行中潜在的问题。例如,当网络中的某一网段运行情况不良,网络时常出现阻塞,报文发送缓慢,此时我们就可以使用协议分析器来作出精确的问题判断。另一方面协议分析器也被称作网络嗅探器(sniffer),它同时有威胁网络安全的一面,如利用网络嗅探器窃取他人帐号、密码等敏感信息,因此也要注意防范其可能造成的危害。 本次编程训练的目的就是通过编程实现一个简单的协议分析器。通过该课题的训练,读者对TCP/IP协议原理的理解、对网络管理与网络安全工具的设计与实现技术的提高会有很大地帮助,同时也可对网络嗅探器的实现机理有深入地了解。 编程训练要求 1. 本次编程训练要求实现一个协议分析器。该协议分析器将包含以下几部分功能: 1) 数据采集——实时捕捉Ethernet网数据包; 说明:数据采集功能需提供两种模式——直接模式和混杂模式,直接模式只用于捕获目的地为本机的数据;混杂模式则可捕获流经Ethernet网络的所有数据包。 2) 解析Ethernet网数据帧头部的全部信息; 3) 实现基于MAC地址和帧头部类型字段的数据包过滤; 说明:基于MAC地址的数据过滤主要满足用户获取和分析特定MAC地址的主机通信数据的要求。例如,如果用户只对网内MAC地址为01-25-d3-a4-88-98主机的通信信息感兴趣,那么通过这个功能,用户就可以将与这个主机无关的数据剔除,使数据的捕获更加有针对性,方便数据分析的进行。对帧头部类型字段的数据过滤主要用于区分载荷是IP报文还是ARP或RARP报文。 4) 解析IP数据包的头部信息; 说明:需要解析的字段主要包括:版本,头部长度,服务类型,总长,TTL,上层协议,源IP,目的IP等。 5) 实现基于IP地址和IP头协议的数据过滤; 说明:这个过滤主要是基于IP地址(源地址或者目的地址),以及IP头部的上层协议字段(比如要求只捕获ICMP数据包等); 6) 对ICMP报文要求至少解析ICMP回显请求、回显应答、超时及目的不可达四种消息报文; 7) 解析传输层TCP、UDP协议头部信息; 8) 实现基于端口的数据包过滤; 9) 实现应用层HTTP协议头部分析。 上述9个方面的功能组装起来就是一个简单的网络协议分析器,它包含了数据采集、协议分析和数据过滤等功能。 2. 熟悉Winpcap编程。程序要求在Windows环境下运行,使用Winpcap完成抓包过程。 相关知识 1. 协议分析器基本原理 协议分析器是一种常用的数据收集方法,简单的说,它是在广播式网络环境下利用计算机网络接口截获目的地为其他计算机的数据报文的一种工具。 Ethernet是目前应用最广泛的计算机连网方式,它是基于总线结构,物理层是采用广播方式的。当一台主机向另一台主机发送数据时,发送主机会将包含目的主机正确地址的数据帧发送到总线上,因此同一链路上所有活跃主机的网卡都能接收到该帧。正常情况下,网卡收到传输来的数据帧后,会先检查帧头的目的地址字段,如果该地址不是本机的MAC地址,则丢弃不管,因此只有具有该地址的主机会接受这个数据帧。但是,如果某个程序能够修改网卡的接收模式,使其成为“混杂(promiscuous)”模式,即一台主机可以接收网络上所有的数据帧而不理会帧头的目的地址,利用这一点,就可以实现协议分析器。因此协议分析器就是一种能将本地网卡状态设成“混杂”模式并接收网络上所有数据帧的软件。 协议分析器工作在网络环境中的底层,拦截所有正在网络上传送的数据,并且通过相应的解析处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。 2. TCP/IP分层体系结构 计算机网络实际上是按照不同的通信功能划分的层次结构系统,每一层的功能都由特定的协议来完成。TCP/IP协议族是当前最流行也是最成功的是一套的网络协议栈,其结构自底向上分为4层,分别为主机-网络层、互联网层、传输层和应用层。主机至网络层在TCP/IP中并没有做具体的规定。通常情况下我们选择Ethernet网作为底层网络环境,并使用常用的5层网络体系结构即物理层、数据链路层、网络层、传输层和应用层作为分层标准,如图6-1所示。在TCP/IP协议族的众多协议中,每种协议处理相应层所要求的网络功能,在图6-1中也给出了比较常见的网络协议及其所属的层次位置。 图16-1 TCP/IP常见协议及所在层次位置 3. 数据的封装与解析 图16-2 数据的封装与解析

文档评论(0)

raojun0010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档