局域网抓包软件的设计与实现(附件)
摘要:网络技术一直在和更新和进步,已经进入到网络流量大爆炸年代,网络把世界变得十分渺小,人类使用网络已经突破了空间的阻隔。网络技术不断发展和进步,网络安全理所当然的成为了大家关注的焦点。因此,一种能过对实时通过的网络数据包进行抓取的并进行分析的程序及其具有重要的意义。针对这种情况,设计出了一种能够对互联网中的流量数据实施实时捕捉功能软件。并在文中对相关的技术和需求进行分析,并且对于其中的数据包抓取部分、数据包信息分析部分、数据包筛选部分和总体的软件实现部分进行详细的说明。通过WINPCAP开发工具实现对本软件的辅助并对流量实施抓取,并将获得的内容存入.cap文件中。
目录
摘要1
关键词1
Abstract1
Key words1
引言1
1 研究的技术与方法2
1.1 主要使用的技术2
1.1.1 WINPCAP 2
1.1.2 VS2010 3
1.1.3 MFC3
1.2 国内外研究现状3
1.2.1 国外研究状况3
1.2.2 国内研究状况3
1.3 研究的目的与内容4
2 基于信息捕获的相关理论基础4
2.1TCP/IP协议4
2.2数据封装和分用过程5
2.3 常用协议6
2.3.1 IP协议6
2.3.2 TCP协议 7
2.3.3 UDP协议7
3 需求分析7
3.1功能需求7
3.2 性能需求 8
4 局域网抓包软件设计8
4.1 功能概述8
4.2信息功能模块的设计 9
4.2.1数据包捕获模块9
4.2.2数据分析模块11
4.2.3数据保存模块12
4.3用户界面模块12
5 抓包测试和测试结果14
5.1执行环境14
5.2执行结果14
致谢16
参考文献16
附录18
局域网抓包软件的设计与实现<
*好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$
br /> 引言
引言:计算机产业和互联网的进步带给人类生活巨大的改变,尤其是现在正从网络匮乏的时代进入到了网络进步的高速时期,正处于一个信息爆炸的时代,世界的空间性随着网络规模的扩大而减小。网络能够帮助人类更好更快的进行发展,全世界的人都可以享受互联网带给我们的美好生活。但同时,也存在不法分子利用网络漏洞使用非法途径进入到被害人的计算机和网络中,盗取受害人资料和信息,对受害人的利益和权利造成侵害。据相关部门的统计表明,每年互联网犯罪人数以30%的比例同比增长。网络犯罪的增加,促使了我国互联网法律法规的建设与发展,形成了较为完备的法律体系,但犯罪人数仍不见减少,网络安全问题仍然是一个巨大的挑战。
我国的综合国力正在大步前进,但是网络安全还是一个有待于提高的部分,尤其是对于规模较大的网络来说,把保证网络的安全可靠摆在首位是很有必要的,而以发展的眼光来看,这必须要我国通过自己的努力来解决。现在的迫切需求是建立健全的网络安全系统,建立这种系统具有经济意义和社会意义,对互联网的可以流量监视的软件迫在眉睫。
信息化水平的提高,网络安全的重要性不言而喻,即广域网和局域网的安全问题。针对此类问题,编写网络抓包分析软件很有必要。本课题对实时数据进行捕获并对其进行分析,也可根据需求的不同而选择对不同协议的数据包,不同的IP地址,不同的接口进行抓包,这便是我程序研究的意义。
1.研究的技术与方法
1.1 主要使用的技术
1.1.1 WINPCAP
Winpcap可以在C语言程序中被使用,因为C语言单单依靠其本身的功能无法实现对流量的操作,所以有了Winpcap的出现。它应用于系统下的直接的网络编程。并且提供以下功能:
(1)对于网络中的流量进行抓取,其中包括整个广域网或者局域网的流量以及端到端的通信数据流量;
(2)按照用户或者网络工程师的设计要求对于网络中通过的流量进行筛选和过滤,使得流量在应用程序使用是保证它的安全性;
(3)在网络上发送数据包;
(4)对整个网络的流量进行一个汇总和统计。
Winpcap的主要职能是:原来数据报的独立的发送和接收托管协议。 Winpcap不能对其它应用程序的流量产生影响和干扰,事实上Winpcap只能对一部分程序发送的流量进行监控。 Winpcap的由三个模块组成:NPF,?packet.dll,和wpcap.dll。
第一份工作是在内核级别,则需要两个在用户层面的工作。第一个模块是NPF,在Win7是下SYS文件在WINNT/ Win2000的虚拟设备驱动程序文件的核心部分。它的主要功能是过滤数据包,以及完整的用户模式模块这些数据包。当然,我们增加了一些系统特定的标记(如时间戳管理)。
该方法包括一些特定于操作系统的代码。packet.dll的第二个模块是用来在不同的Win32公共分组驱动接口提供一个共同的平台。事实上,不同版本的内核和用户进程层模块接口之间的Windows平台的不相同,packet.dll的作用就是处理这些问题。它为系统提供API,使得packet.dll不论在何种版本的windows上都可以正常的,完好的运行下去[1]。 Packet.dll还拥有一些其他的功能,它还可以对一些硬件设备进行对话:如:访问卡的名称,动态负载驾驶员给出具体信息,如机网络掩码,硬件冲突和其他一些系统。第三模块是独立wpcap.dll的系统,该系统提供了更高水平的,抽象的功能。它包括多个滤波器,例如发电,用户级缓冲和其它高级的功能,如增加该分组数据和其他更高级的功能。
使程序员可以处理两种类型的API:原始的功能集包括在packet.dll的,直接调用相匹配的内核层;另一组由wpcap.dll的,方便用户调用,以及更强大的提供的高级功能。程序员可以自由使用wpcap.dll的,但只有packet.dll直接受限的环境。
总的说来,Packet.dll直接映射了内核的调用。Wpcap.dll让编程语言的使用变得更加简单和方便。Winpcap的具体结构图131所示:??
Winpcap的与NDIS(设备驱动程序和网络通信之间的通信协议的Windows规格)将其自身注册为一个流程驱动的协议。Winpcap是非常容易使用的,但它有一个致命的缺陷是只适用于共享以太网,交换网络的下一个数据是无能为力的[2]。测试后,使用中的局域网连接开关,Winpcap只能听段,数据和来自其它网段的数据可以不听,除非你之前探测到交换机或连接到交换机的Console端口,但作为缺点是显而易见的,因此,Winpcap的应用受到限制。
图11 WINPCAP逐层封装结构图
1.1.2 VS2010
Visual Studio是现在的程序员经常使用的一个工具,相对于原来的C++6.0来说,它的功能更加的强大和全面。在Visual Studio出现之后,便一直收到广大使用人员的高度好评,同时它也在不断的更新,升级不同的版本,本课程设计使用的就是2010版的Visual Studio[3]o。Visual Studio 2010的功能十分复杂,在工作和学习中使用Visual Studio 2010需要对它有非常深入的了解才可以把它自身提供的功能使用的尽善尽美。虽然使用Visual Studio 2010具有非常多的优点,但是学习如何使用Visual Studio 2010过程是十分辛苦的,为了完全掌握Visual Studio 2010,还需要在实践中进行不断的运用。
目录
摘要1
关键词1
Abstract1
Key words1
引言1
1 研究的技术与方法2
1.1 主要使用的技术2
1.1.1 WINPCAP 2
1.1.2 VS2010 3
1.1.3 MFC3
1.2 国内外研究现状3
1.2.1 国外研究状况3
1.2.2 国内研究状况3
1.3 研究的目的与内容4
2 基于信息捕获的相关理论基础4
2.1TCP/IP协议4
2.2数据封装和分用过程5
2.3 常用协议6
2.3.1 IP协议6
2.3.2 TCP协议 7
2.3.3 UDP协议7
3 需求分析7
3.1功能需求7
3.2 性能需求 8
4 局域网抓包软件设计8
4.1 功能概述8
4.2信息功能模块的设计 9
4.2.1数据包捕获模块9
4.2.2数据分析模块11
4.2.3数据保存模块12
4.3用户界面模块12
5 抓包测试和测试结果14
5.1执行环境14
5.2执行结果14
致谢16
参考文献16
附录18
局域网抓包软件的设计与实现<
*好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$
br /> 引言
引言:计算机产业和互联网的进步带给人类生活巨大的改变,尤其是现在正从网络匮乏的时代进入到了网络进步的高速时期,正处于一个信息爆炸的时代,世界的空间性随着网络规模的扩大而减小。网络能够帮助人类更好更快的进行发展,全世界的人都可以享受互联网带给我们的美好生活。但同时,也存在不法分子利用网络漏洞使用非法途径进入到被害人的计算机和网络中,盗取受害人资料和信息,对受害人的利益和权利造成侵害。据相关部门的统计表明,每年互联网犯罪人数以30%的比例同比增长。网络犯罪的增加,促使了我国互联网法律法规的建设与发展,形成了较为完备的法律体系,但犯罪人数仍不见减少,网络安全问题仍然是一个巨大的挑战。
我国的综合国力正在大步前进,但是网络安全还是一个有待于提高的部分,尤其是对于规模较大的网络来说,把保证网络的安全可靠摆在首位是很有必要的,而以发展的眼光来看,这必须要我国通过自己的努力来解决。现在的迫切需求是建立健全的网络安全系统,建立这种系统具有经济意义和社会意义,对互联网的可以流量监视的软件迫在眉睫。
信息化水平的提高,网络安全的重要性不言而喻,即广域网和局域网的安全问题。针对此类问题,编写网络抓包分析软件很有必要。本课题对实时数据进行捕获并对其进行分析,也可根据需求的不同而选择对不同协议的数据包,不同的IP地址,不同的接口进行抓包,这便是我程序研究的意义。
1.研究的技术与方法
1.1 主要使用的技术
1.1.1 WINPCAP
Winpcap可以在C语言程序中被使用,因为C语言单单依靠其本身的功能无法实现对流量的操作,所以有了Winpcap的出现。它应用于系统下的直接的网络编程。并且提供以下功能:
(1)对于网络中的流量进行抓取,其中包括整个广域网或者局域网的流量以及端到端的通信数据流量;
(2)按照用户或者网络工程师的设计要求对于网络中通过的流量进行筛选和过滤,使得流量在应用程序使用是保证它的安全性;
(3)在网络上发送数据包;
(4)对整个网络的流量进行一个汇总和统计。
Winpcap的主要职能是:原来数据报的独立的发送和接收托管协议。 Winpcap不能对其它应用程序的流量产生影响和干扰,事实上Winpcap只能对一部分程序发送的流量进行监控。 Winpcap的由三个模块组成:NPF,?packet.dll,和wpcap.dll。
第一份工作是在内核级别,则需要两个在用户层面的工作。第一个模块是NPF,在Win7是下SYS文件在WINNT/ Win2000的虚拟设备驱动程序文件的核心部分。它的主要功能是过滤数据包,以及完整的用户模式模块这些数据包。当然,我们增加了一些系统特定的标记(如时间戳管理)。
该方法包括一些特定于操作系统的代码。packet.dll的第二个模块是用来在不同的Win32公共分组驱动接口提供一个共同的平台。事实上,不同版本的内核和用户进程层模块接口之间的Windows平台的不相同,packet.dll的作用就是处理这些问题。它为系统提供API,使得packet.dll不论在何种版本的windows上都可以正常的,完好的运行下去[1]。 Packet.dll还拥有一些其他的功能,它还可以对一些硬件设备进行对话:如:访问卡的名称,动态负载驾驶员给出具体信息,如机网络掩码,硬件冲突和其他一些系统。第三模块是独立wpcap.dll的系统,该系统提供了更高水平的,抽象的功能。它包括多个滤波器,例如发电,用户级缓冲和其它高级的功能,如增加该分组数据和其他更高级的功能。
使程序员可以处理两种类型的API:原始的功能集包括在packet.dll的,直接调用相匹配的内核层;另一组由wpcap.dll的,方便用户调用,以及更强大的提供的高级功能。程序员可以自由使用wpcap.dll的,但只有packet.dll直接受限的环境。
总的说来,Packet.dll直接映射了内核的调用。Wpcap.dll让编程语言的使用变得更加简单和方便。Winpcap的具体结构图131所示:??
Winpcap的与NDIS(设备驱动程序和网络通信之间的通信协议的Windows规格)将其自身注册为一个流程驱动的协议。Winpcap是非常容易使用的,但它有一个致命的缺陷是只适用于共享以太网,交换网络的下一个数据是无能为力的[2]。测试后,使用中的局域网连接开关,Winpcap只能听段,数据和来自其它网段的数据可以不听,除非你之前探测到交换机或连接到交换机的Console端口,但作为缺点是显而易见的,因此,Winpcap的应用受到限制。
图11 WINPCAP逐层封装结构图
1.1.2 VS2010
Visual Studio是现在的程序员经常使用的一个工具,相对于原来的C++6.0来说,它的功能更加的强大和全面。在Visual Studio出现之后,便一直收到广大使用人员的高度好评,同时它也在不断的更新,升级不同的版本,本课程设计使用的就是2010版的Visual Studio[3]o。Visual Studio 2010的功能十分复杂,在工作和学习中使用Visual Studio 2010需要对它有非常深入的了解才可以把它自身提供的功能使用的尽善尽美。虽然使用Visual Studio 2010具有非常多的优点,但是学习如何使用Visual Studio 2010过程是十分辛苦的,为了完全掌握Visual Studio 2010,还需要在实践中进行不断的运用。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/667.html