1 / 15
文档名称:

协议分析器程序.doc

格式:doc   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

协议分析器程序.doc

上传人:xxj16588 2016/7/23 文件大小:0 KB

下载得到文件列表

协议分析器程序.doc

相关文档

文档介绍

文档介绍:协议分析器程序编程训练目的协议分析器可以有效完成对网络上传输数据包的捕获, 从而收集与分析网络信息, 是网络流量监控和故障检测所必不可少的工具之一,对网络管理与网络安全具有重要的意义。协议分析器的正当用途是分析网络流量, 以便找出网络运行中潜在的问题。例如, 当网络中的某一网段运行情况不良, 网络时常出现阻塞, 报文发送缓慢, 此时我们就可以使用协议分析器来作出精确的问题判断。另一方面协议分析器也被称作网络嗅探器( sniffer ) ,它同时有威胁网络安全的一面, 如利用网络嗅探器窃取他人帐号、密码等敏感信息, 因此也要注意防范其可能造成的危害。本次编程训练的目的就是通过编程实现一个简单的协议分析器。通过该课题的训练,读者对 TCP/IP 协议原理的理解、对网络管理与网络安全工具的设计与实现技术的提高会有很大地帮助,同时也可对网络嗅探器的实现机理有深入地了解。编程训练要求 1. 本次编程训练要求实现一个协议分析器。该协议分析器将包含以下几部分功能: 1) 数据采集——实时捕捉 网数据包; 说明: 数据采集功能需提供两种模式——直接模式和混杂模式, 直接模式只用于捕获目的地为本机的数据;混杂模式则可捕获流经 网络的所有数据包。 2) 解析 网数据帧头部的全部信息; 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. 协议分析器基本原理协议分析器是一种常用的数据收集方法, 简单的说, 它是在广播式网络环境下利用计算机网络接口截获目的地为其他计算机的数据报文的一种工具。 是目前应用最广泛的计算机连网方式, 它是基于总线结构, 物理层是采用广播方式的。当一台主机向另一台主机发送数据时, 发送主机会将包含目的主机正确地址的数据帧发送到总线上, 因此同一链路上所有活跃主机的网卡都能接收到该帧。正常情况下, 网卡收到传输来的数据帧后, 会先检查帧头的目的地址字段, 如果该地址不是本机的 MAC 地址, 则丢弃不管, 因此只有具有该地址的主机会接受这个数据帧。但是, 如果某个程序能够修改网卡的接收模式, 使其成为“混杂( promiscuous )”模式, 即一台主机可以接收网络上所有的数据帧而不理会帧头的目的地址, 利用这一点, 就可以实现协议分析器。因此协议分析器就是一种能将本地网卡状态设成“混杂”模式并接收网络上所有数据帧的软件。协议分析器工作在网络环境中的底层, 拦截所有正在网络上传送的数据, 并且通过相应的解析处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。 2. TCP/IP 分层体系结构计算机网络实际上是按照不同的通信功能划分的层次结构系统, 每一层的功能都由特定的协议来完成。 TCP/IP 协议族是当前最流行也是最成功的是一套的网络协议栈, 其结构自底向上分为 4 层,分别为主机- 网络层、互联网层、传输层和应用层。主机至网络层在 TCP/IP 中并没有做具体的规定。通常情况下我们选择 网作为底层网络环境, 并使用常用的 5 层网络体系结构即物理层、数据链路层、网络层、传输层和应用层作为分层标准,如图 6-1 所示。在 TCP/IP 协议族的众多协议中,每种协议处理相应层所要求的网络功能,在图 6-1 中也给出了比较常见的网络协议及其所属的层次位置。图 16-1 TCP/IP 常见协议及所在层次位置 3.