浅谈WinPCap和计算机网络协议
创始人
2024-07-13 05:31:43
0

对于一些协议分析,我们可以借助一些软件的力量。这里我们就将要为大家讲解一下WinPCap以及计算机网络协议等相关的内容。那么就让我们先来看看具体的WinPCap的工作原理:

系统的开发和应用WinPcap支持Win32平台上信息包的捕获和网络分析,它的主要思想来源于Unix系统中最着名的包截获架构,目前已在许多领域得到了应用,如网络监控、电子监考等㈡103.WinPcap的基本结构由3个模块所组成.

(1)内核级的网络组包过滤器(Netgroup PacketFilter,NPF).运行于操作系统内核中的驱动程序,直接与网卡驱动程序进行交互.它的主要功能是过滤数据包,在包上附加时间戳、数据包长度等信息.它直接从数据链路层取得数据包,不加修改地传给运行在用户层的应用程序,也允许用户发送原始数据包.

(2)低级动态链接库(Packet.d11).用于在Win32平台上为数据包驱动程序提供一个公共接口,把应用程序和数据包监听设备驱动程序隔离开来,使得程序可以不加修改地在不同Windows系统上运行.

(3)高级系统无关库(Wpcap.d11).工作在用户级,和应用程序编译在一起,并使用Packet.dll提供的模块,向应用程序提供完善的监听接口.Wpcap.dll模块与Unix系统下的BSD截获架构提供的Libpeap库完全兼容,提供了一组功能强大而且跨平台的函数,利用这些函数,可以不去关心适配器和操作系统类型.

系统的开发和应用

WinPCap向上层的应用程序提供了网络监听的接口,通过这些接口,应用程序可以捕获网络通信中发送或接收的数据包.因此,网络协议实验系统可以利用WinPCap捕获在实际的网络通信中产生的数据包,并以一定的方式展示出来.实验系统的主要目的是要方便对计算机网络协议的理解,因此针对计算机网络的原理和协议,系统在以下2方面着重进行表现.

(1)协议分层.目前实际应用的计算机网络都是基于TCPIP体系结构,整个网络协议分为4个层次,从下到上依次为接口层、网际层、传输层和应用层,每层又有若干协议.因此在捕获数据包后按协议进行拆分,把不同的协议数据归于相应的协议分层结构中,并把协议分层以层级的方式表示,从而把网络体系结构原理通过形象和具体的方式表示出来.

(2)协议格式.实验系统的主要任务是将数据包中每层协议的数据提取出来,准确界定每个协议的起始和结束,把每个协议的数据标示出来,系统可以根据通信数据,自动分析各协议中每个字段的含义,必须根据具体的通信数据,利用所学的相应网络协议知识进行分析.

为了了解协议分层结构的具体实现,本系统在开发时,采用整个数据包的数据完整连续显示,各协议的数据用突出颜色着重显示,通过观察不同协议的数据,可以了解计算机通信中,如何通过多层协议组装成完整的通信数据包.

系统对通信数据的处理过程如图2所示.首先利用WinPCap的pcap—findalldevs函数获取计算机的网卡,并把可用的网卡(有的计算机可能有多个网卡)列表显示出来供用户选择.系统提供操作界面让用户选择网卡并设置通信数据包的过滤条件,系统根据用户的设置用WinPCap的pcap—open—live函数打开相应网卡接口,利用pcap—setfilter函数设置过滤条件,然后用pcap—dispatch或pcap—next—ex函数捕获通信数据包,并把数据包列表显示供用户选择.若用户选择某一数据包,系统对该数据包进行拆分,按协议分层的层次,以及各层协议的格式,界定并显示不同协议的数据.

系统提供实验报告的一些辅助功能,如生成实验报告的模板,根据选择的计算机网络协议的数据,填人各字段的含义,生成并打印实验报告.实验系统的主界面如图3所示.界面主要包括:

①网卡(网络适配器)列表,在上部显示;②捕获的数据包列表,在界面的中间部分显示,列表中显示了数据包的部分关键信息;③各协议及其数据,在最下部显示,这又包括2部分,左边部分显示协议名称,按协议分层的要求进行显示,右部是以十六进制表示的数据包数据,当在左边部分选择协议名称时,右部相应协议的首部数据以红色突出显示.

该系统所占资源很少,因此可以在配置不高的计算机上正常运行,唯一的要求是计算机能够连入计算机网络,即使不连入Intemet,在局域网环境中也能方便地开展实验.实验时不需要专门的服务器'也不需要对计算机之间通信作特别设置,安装并运行该系统,只需要正常使用计算机进行适当的网络操作,例如用浏览器浏览学校主页,从而产生一定的网络通信数据包,系统自动捕获这些数据包并进行分析.系统的操作过程很简单,容易掌握,非常适于非计算机专业的使用,该系统已经在我校工业工程专业的"计算机网络技术"课程的实验中使用,效果良好.

结语

针对高校计算机网络课程的实验,开发了网络协议分析实验系统,以解决网络设备昂贵、更新换代快,教学单位无法拿出足够资金配置专门网络实验室,造成学生实验不足甚至无法实验,从而严重影响到教学质量的问题.利用该系统可以使学生了解计算机网络协议分层及其实现,并开展以太网帧格式分析、IP(目前主要是IPv4)数据包格式分析、IP控制管理协议一ICMP报文格式分析、TCP和UDP数据包分析、Hrll'P协议分析等实验教学内容.在计算机网络课程的教学和实验过程中使用网络协议实验软件系统,可以弥补网络原理教学过程抽象、枯燥的缺点,可以形象化地展示真实网络工作的过程,使学生更深入地理解计算机网络和互联网.

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...