目前,不论是国内还是国外,市面上都有很多开源的或者出售的数据包捕获的工具,比如Tcpdump、Wireshark、OmniPeek等等。这些工具各有各的优点,但同时也都存在着一些各自的缺点,比如说有的工具为命令行程序,有的只能应用于Linux平台下,有的操作复杂且效率低下等。这些工具种类繁多,让人应接不暇,所以选择一款适合自己的工具并不容易。
因此,开发出一款简单实用的数据包捕获分析工具符合本文工作学习的实际需求,并且在设计和开发这个工具的过程中,能够运用已经掌握的知识,探索未知的领域,给四年的学习生涯交上一份满意的答卷。
1。2 软件开发意义与目标
随着计算机网络的飞速发展,网络已渗透到我们日常生活的方方面面,在我们沉浸于网络王国的同时,越来越多威胁我们网络用户的安全问题也逐渐暴露出来,从信息泄露,到木马病毒等。随着国家《网络安全法》的出台,各行各业的人们对于网络安全问题的关注度和重视度大大的提高。数据包分析是网络安全问题研究的重要组成部分,捕获网络数据包是进行数据包分析的前提。一款简单实用的数据包捕获分析工具会让我们在解决一些简单的网络问题时事半功倍。
本软件通过Winpcap来实现对当前计算网络中传输数据包的抓取,旨在实现对已捕获数据包中的相关数据信息进行过滤和解析,从而得到并显示所抓取的数据包协议,长度,端口,以及数据包的捕获时间等信息。
1。3 软件开发工具简介
1。3。1 C++ 简介
C++ 是由 Bjarne Stroustrup 于 1979 年在美国新泽西州美利山贝尔实验室开始设计并开发的。C++ 是 C 语言的进一步扩展,它在C语言中增加了class关键字和类,最初C++的命名是C with class(带类的C),后来它在 1983 年改名为 C++。
C++ 完全支持面向对象的程序设计,其拥有面向对象开发的封装、抽象、继承、多态这四大特性。与C++不同的是C语言作为一种过程性语言,强调的是算法,它拥有结构化编程的相关特性,并且试图使问题满足语言的过程性方法。
类的概念在C++语言中是一种规范,其描述了这一种新型的数据格式,而对象则是根据这一种规范所构造的特定的数据结构。为了应对C语言所面临的一些挑战,OOP(Object-Oriented Programming)给出了一种尝试使用语言来满足问题要求的新方法,它的理念是设计一种与问题本质特性相呼应的数据格式。OOP程序的设计方法第一步先设计类,类能够准确地描述出程序需要处理的相关信息,这个技术涉及到很多新的概念,比如类、对象、封装、继承、多态等。
标准的 C++ 由三个重要部分组成:
(1)核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
(2)C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
(3)标准模板库(STL),提供了大量的方法,用于操作数据结构等。[1]
1。3。2 Visual Studio 2010简介来自优O尔P论R文T网WWw.YoueRw.com 加QQ7520`18766
Visual Studio,简称VS,它是美国的微软公司推出的开发工具集,在整个系统或软件的生命周期中所需要的绝大部分软件,VS都囊括其中。在Windows平台下,VS与其他的应用程序开发环境相比,有着绝对的优势。
Visual Studio 2010是在2010年4月12日发布的版本,与之前的版本相比,它有着简单明了的集成开发环境(IDE)的界面,并且安全的性能得到了大大的提高。VS 2010对于Windows 7的应用程序开发支持度很高,这一点从它提供了很多相关的工具供开发者使用就可以看出。对于一些已经被开发出来的,但没有托管于VS 2010的应用程序,通过VS 2010的处理后亦能应用于一些较新的系统所带来的特性。VS 2010工具的功能丰富,可以减少编程人员的许多可以避免的工作,它可以使程序代码更为简练,提高开发者的开发效率。Visual Studio 2010还给出了很多扩展的功能以促进开发团队的更好地协同工作,例如使用。NET Framework 可以非常迅速的构建出有着自身特色的应用程序,大大提升用户的程序体验 [2]。