资源描述:
《ip数据包的捕获与分析设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CENTRALSOUTHUNIVERSITY计算机网络课程设计报告题目IP数据包的捕获与分析学生姓名胡壮班级学号计科1106班0909112924指导教师穆帅设计时间2014年1月24目录第一章绪论31.1课题研究的意义31.2捕获数据包的常用方法3第二章系统需求分析42.1课程设计题目与要求42.2IP数据包格式62.3程序流程图72.4实验环境9第三章系统总体框架93.1套接字模块93.2IP数据包的捕获模块93.3IP数据包分析模块93.4输出模块9第四章详细设计与实现104.1数据结构的定义104.2初始化工作114.3套接字的创建和设置124.4数据包的捕获与分析134
2、.5信息的输出14第五章程序运行结果与分析155.1程序运行结果截图155.2程序中有待改进的地方16第六章总结17参考文献17附录1824第一章绪论现如今,计算机网络已经彻彻底底地改变了人们的生活。大量的数据都是经过计算机网络传输的,而TCP/IP协议是计算机网络中最重要的协议之一。计算机网络中绝大多数数据都是以IP数据包的形式发送和接受的。所以IP数据包的捕获是很多计算机安全技术的基础。1.1课题研究的意义计算机之间进行通信时,交互的所有信息都封装在数据包中。因此,通过采集网络数据并对其进行相应的分析,可以清楚地了解到进行通信的计算机的通信目的。首先,分析采集到的数据包,可以
3、确定网络是否受到攻击入侵;其次,也可以使用采集到的数据包来分析网络应用程序可能出现的问题的原因;此外,通过网络数据采集和统计可以清楚的了解整个网络在各个时段内的网络负载情况,从而判断网络使用得是否合理。除了以上谈到的几个方面以外,数据包采集分析还有其他很多用途.在研究IPv4网络的同时,我们还对IPv6协议进行了初步的研究并通过对数据报的分析,了解了在不同网络环境下IPv6数据包的封装格式以及在网络中的传输路径。目前,在同一子网范围内,可以通过邻居计算机发现协议自动配置主机的本地一链路IPv6地址,并获取子网内其他主机的通信地址,通过该地址可以实现子网内的主机间纯IPv6环境下的
4、通信。但由于现在整个因特网并不支持IM协议,因此IPv6数据包要在网间传输,必须通过基于双协议栈的IPv4隧道(Tunnel)技术,将EM数据报封装在IPv4包头中,并通过指定的支持IM协议的路由在Internet中传送到目的地,再由目的主机进行数据报解析。获取IPv6数据报中的信息。1.2捕获数据包的常用方法目前常用的捕获数据包的方法有原始套接字、LibPcap、WinPcap和JPcap等方法。它们各有特点,实现起来有难有易,如何选择取决于具体需求与程序员的喜好。下面分别对它们作简单介绍。套接字是网络应用编程接口。应用程序可以使用它进行网络通信而不需要知道底层发生的细节。有时
5、需要自己生成一些定制的数据包或者功能并希望绕开Socket提供的功能,原始套接字(RawSocket)满足了这样的要求。原始套接字能够生成自己的数据报文,包括报头和数据报本身的内容。通过原始套接字,可以更加自如地控制Windows下的多种协议,而且能够对网络底层的传输机制进行控制。24LibPcap是一种与系统无关,采用分组捕获机制的分组捕获函数库,用于访问数据链路层,它在不同的平台上采用统一的编程接口,使用LibPcap编写的程序可自由的跨平台使用。同时LibPcap是一个独立于系统接口的用户级的抓包库,它为底层网络监听提供了可移植框架。它的应用包括网络统计集合、安全监听、网络
6、调试等。WinPcap是一个基于Win32的捕获数据包和网络分析的体系结构,它包括一个内核级的包过滤器,一个底层的动态链接库(Packet.dll),一个高层并且与系统无关的库(WPcap.dll,基于LibPcap0.6.2版本)。WinPcap是集成于Windows95,98,ME,NT,2000和XP操作系统的设备驱动程序,它可以从网卡捕获或者发送原始数据,同时能够过滤并且存储数据包。JPcap是一个能够捕获、发送网络数据包的Java类库包。这个包用到了LibPcap和原始套接字API。JPcap支持Ethernet,IPv4,IPv6,ARP/RARP,TCP,UDP,I
7、CMPv4协议。JPcap是一个Java类集合,它为网络数据包的捕获提供接口和系统支持。其最初版本是2000年6月发布的JPcap0.01版,此后几经修改,到2003年4月发布了最新的JPcap0.4版。第二章系统需求分析2.1课程设计题目与要求本次实验的要求在网络环境,使用VC++编写程序实现捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。程序的具体要求如下:l)以命令行形式运行:ipparselogfile,其中ipparse是程序名,而