协议分析器程序

协议分析器程序

ID:34341786

大小:665.00 KB

页数:15页

时间:2019-03-05

协议分析器程序_第1页
协议分析器程序_第2页
协议分析器程序_第3页
协议分析器程序_第4页
协议分析器程序_第5页
资源描述:

《协议分析器程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、协议分析器程序编程训练目的协议分析器可以有效完成对网络上传输数据包的捕获,从而收集与分析网络信息,是网络流量监控和故障检测所必不可少的工具之一,对网络管理与网络安全具有重要的意义。协议分析器的正当用途是分析网络流量,以便找出网络运行中潜在的问题。例如,当网络中的某一网段运行情况不良,网络时常出现阻塞,报文发送缓慢,此时我们就可以使用协议分析器来作出精确的问题判断。另一方面协议分析器也被称作网络嗅探器(sniffer),它同时有威胁网络安全的一面,如利用网络嗅探器窃取他人帐号、密码等敏感信息,因此也要注意防范

2、其可能造成的危害。本次编程训练的目的就是通过编程实现一个简单的协议分析器。通过该课题的训练,读者对TCP/IP协议原理的理解、对网络管理与网络安全工具的设计与实现技术的提高会有很大地帮助,同时也可对网络嗅探器的实现机理有深入地了解。编程训练要求1.本次编程训练要求实现一个协议分析器。该协议分析器将包含以下几部分功能:1)数据采集——实时捕捉Ethernet网数据包;说明:数据采集功能需提供两种模式——直接模式和混杂模式,直接模式只用于捕获目的地为本机的数据;混杂模式则可捕获流经Ethernet网络的所有数据

3、包。2)解析Ethernet网数据帧头部的全部信息;3)实现基于MAC地址和帧头部类型字段的数据包过滤;说明:基于MAC地址的数据过滤主要满足用户获取和分析特定MAC地址的主机通信数据的要求。例如,如果用户只对网内MAC地址为01-25-d3-a4-88-98主机的通信信息感兴趣,那么通过这个功能,用户就可以将与这个主机无关的数据剔除,使数据的捕获更加有针对性,方便数据分析的进行。对帧头部类型字段的数据过滤主要用于区分载荷是IP报文还是ARP或RARP报文。4)解析IP数据包的头部信息;说明:需要解析的字段

4、主要包括:版本,头部长度,服务类型,总长,TTL,上层协议,源IP,目的IP等。5)实现基于IP地址和IP头协议的数据过滤;说明:这个过滤主要是基于IP地址(源地址或者目的地址),以及IP头部的上层协议字段(比如要求只捕获ICMP数据包等);6)对ICMP报文要求至少解析ICMP回显请求、回显应答、超时及目的不可达四种消息报文;7)解析传输层TCP、UDP协议头部信息;8)实现基于端口的数据包过滤;9)实现应用层HTTP协议头部分析。上述9个方面的功能组装起来就是一个简单的网络协议分析器,它包含了数据采集、

5、协议分析和数据过滤等功能。151.熟悉Winpcap编程。程序要求在Windows环境下运行,使用Winpcap完成抓包过程。相关知识1.协议分析器基本原理协议分析器是一种常用的数据收集方法,简单的说,它是在广播式网络环境下利用计算机网络接口截获目的地为其他计算机的数据报文的一种工具。Ethernet是目前应用最广泛的计算机连网方式,它是基于总线结构,物理层是采用广播方式的。当一台主机向另一台主机发送数据时,发送主机会将包含目的主机正确地址的数据帧发送到总线上,因此同一链路上所有活跃主机的网卡都能接收到该帧

6、。正常情况下,网卡收到传输来的数据帧后,会先检查帧头的目的地址字段,如果该地址不是本机的MAC地址,则丢弃不管,因此只有具有该地址的主机会接受这个数据帧。但是,如果某个程序能够修改网卡的接收模式,使其成为“混杂(promiscuous)”模式,即一台主机可以接收网络上所有的数据帧而不理会帧头的目的地址,利用这一点,就可以实现协议分析器。因此协议分析器就是一种能将本地网卡状态设成“混杂”模式并接收网络上所有数据帧的软件。协议分析器工作在网络环境中的底层,拦截所有正在网络上传送的数据,并且通过相应的解析处理,可

7、以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。2.TCP/IP分层体系结构计算机网络实际上是按照不同的通信功能划分的层次结构系统,每一层的功能都由特定的协议来完成。TCP/IP协议族是当前最流行也是最成功的是一套的网络协议栈,其结构自底向上分为4层,分别为主机-网络层、互联网层、传输层和应用层。主机至网络层在TCP/IP中并没有做具体的规定。通常情况下我们选择Ethernet网作为底层网络环境,并使用常用的5层网络体系结构即物理层、数据链路层、网络层、传输层和应用层作为分层标准,如图6-1所示

8、。在TCP/IP协议族的众多协议中,每种协议处理相应层所要求的网络功能,在图6-1中也给出了比较常见的网络协议及其所属的层次位置。15图16-1TCP/IP常见协议及所在层次位置1.数据的封装与解析图16-2数据的封装与解析当应用程序通过IP网络传送数据时,数据被送入TCP/IP协议栈中,然后从上至下逐一通过每一层,直到最后被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息

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

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

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