网络数据包的协议分析程序的设计开发论文文档格式.docx
《网络数据包的协议分析程序的设计开发论文文档格式.docx》由会员分享,可在线阅读,更多相关《网络数据包的协议分析程序的设计开发论文文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
Libpcap;
Linux;
数据包捕获;
应用层;
协议识别
TheDesignandDevelopmentofNetworkPacketProtocolAnalyzingProgram
Abstract
ThethesisisanattempttointroduceanimplementationofnetworkprotocolanalyzingprogramwhichisbasedonLibpcap,afamousnetworkpacketcapturelibraryonLinux.IthasarichfeaturesetwhichincludescapturingnetworkpacketsandanalyzingpopularnetworkprotocolsonInternet.Theprogramismadeupofaninput/outputmodule,arulesmatchingmodule,apacketcapturingmoduleandaprotocolanalyzingmodule.Andthelasttwomodulesarekeymodules.
Theresearchworkwasdescribedasfollowed.firstly,weintroducethebackgroundandconceptsaboutnetworkprotocolanalyzingprograms;
andwemakeanintegrateddesignontheprogram,definefunctionsofit,figureoutitsstructureandhierarchicalgraphs,describetheworkflowofit,andanalyzethekeytechniquesusedinit;
Secondly,afterelaboratingonthebackgroundofpacketcaptureandtheLibpcaplibrary,westateaapproachtoimplementapacketcapturemodulewithLibpcap;
Thirdly,weexplaintheworkflowaboutprotocolanalysis,andanalyzecommonnetworkprotocols;
Finally,wetestourprogramtoseewhetheritworksasexpected,fortunately,itdoes.
Keywords:
Libpcap;
Linux;
Networkpacketcapturing;
Applicationlayer;
Protocolidentification
目录
论文总页数:
23页
1引言 1
1.1课题背景 1
1.2网络数据包协议分析程序简介 2
1.3国内外研究现状 2
2网络数据包协议分析程序的总体设计 3
2.1网络数据包协议分析程序的功能分析 3
2.2系统的组成结构和工作流程 3
2.2.1系统的结构框图 3
2.2.2系统的结构和功能 4
2.2.3程序的工作流程 5
2.3系统实现的关键技术分析 6
3网络数据包捕获模块的实现 7
3.1网络数据包捕获简介 7
3.2基于LIBPCAP的网络数据包捕获的实现 8
3.2.1Libpcap安装 8
3.2.2Libpcap中基本的数据结构和函数 8
3.3数据捕获模块的实现 1
4协议分析模块的实现 1
4.1网络协议分析的总体流程 12
4.2对TCP/IP模型中各层协议的分析 14
4.2.1以太网首部的分析与提取 14
4.2.2IP首部的分析与提取 15
4.2.3TCP/UDP首部的分析与提取 16
4.2.4应用层协议的识别与分析 18
5程序运行与测试 20
5.1测试环境 20
5.1.1硬件环境 20
5.1.2程序运行环境 20
5.2测试步骤 20
5.3测试结果评价 20
结 论 20
参考文献 21
致 谢 22
声 明 23
1引言
1.1课题背景
随着计算机网络的不断发展,全球信息化已成为当今社会发展的趋势。
但由于计算机网络自身所特具有的特点,比如联结形式多样性和网络的开放性、互连性等特征,所以导致网络易受黑客还有一些病毒的攻击。
所以网上信息的安全和保密是一个至关重要的问题。
对于军用的自动化指挥网络和银行等传输敏感数据的计算机网络系统而言,其网上信息的安全和保密尤为重要。
因此,网络必须有足够强的安全措施,否则该网络将是个无用、甚至会危及国家安全的网络。
在计算机网络的世界里,存在着很多潜在的威胁,因此网络的安全措施应能全方位地应对各种不同的威胁,这样才可以真正的做到网络服务于社会,体现网络的先进性。
计算机网络所面临的威胁大体可分为两种:
一是对网络中信息的威胁;
二是
对网络中设备的威胁。
影响计算机网络的因素很多,有些因素可能是有意的,也可能是无意的;
可能是人为的,也可能是非人为的;
可能是外来黑客对网络系统资源的非法使有,归结起来,针对网络安全的威胁主要有三种:
(1)人为的无意失误:
如操作员安全配置不当造成的安全漏洞,用户安全意识不强,用户口令选择不慎,用户将自己的帐号随意转借他人或与别人共享等都会对网络安全带来威胁。
(2)人为的恶意攻击:
这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。
此类攻击又可以分为以下两种:
一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;
另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息。
这两种攻击均可对计算机网络造成极大的危害,并导致机密数据的泄漏。
(3)网络软件的漏洞和“后门”:
网络软件不可能是百分之百的无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标,曾经出现过黑客攻入网络内部的事件,这些事件的大部分就是因为安全措施不完善所招致的苦果。
另外,软件的“后门”都是软件公司的设计编程人员为了自便而设置的,一般不为外人所知,但一旦“后门”洞开,其造成的后果将不堪设想。
为了及早发现并制止网络上的各种攻击,我们需要通过对网络上的数据进行分析来发现并找出问题,提前预防。
这也是本论文的一个重要目的。
网络安全管理员运用网络封包截获技术,抓取网络中有用的数据包,然后通过对数据包内容进行分析,确定哪些是有害的或者含有攻击企图的包,以此来达到对网络攻击的预防。
同时许多防火墙也是基于包过滤技术的。
本文将介绍网络数据包协议分析程序的工作原理以及它的实现。
第3页
共23页
1.2网络数据包协议分析程序简介
网络数据包协议分析程序是一种用于收集网络中有用数据的程序,这些数据可以是用户的帐号和密码,也可以是一些商用机密数据等。
它是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。
网络数据包协议分析程序的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。
例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用网络数据包协议分析程序来作出精确的问题判断。
在合理的网络中,网络数据包协议分析程序的存在对系统管理员是至关重要的,系统管理员通过网络数据包协议分析程序可以诊断出大量的不可见模糊问题,这些问题涉及两台乃至多台计算机之间的异常通讯,有些甚至牵涉到各种的协议,借助于网络数据包协议分析程序系统管理员可以方便的确定出多少的通讯量属于哪个网络协议、占主要通讯协议的主机是哪一台、大多数通讯目的地是哪台主机、报文发送占用多少时间、或着相互主机的报文传送间隔时间等等,这些信息为管理员判断网络问题、管理网络区域提供了非常宝贵的信息。
1.3国内外研究现状
现在国内外已经有很多成熟并且功能强大的网络数据包协议分析软件。
比较著名的网络数据包协议分析软件有:
开源软件:
Wireshark、TcpDump。
商用软件:
EtherPeek下面对这几种软件进行简要的介绍:
Wireshark:
Wireshark是一个开放源码的网络分析系统,也是是目前最好的开放源码的网络协议分析器,支持Linux和Windows平台。
Wireshark起初由GeraldCombs开发,随后由一个松散的Wireshark团队组织进行维护开发。
它目前所提供的强大的协议分析功能完全可以媲美商业的网络分析系统,自从1998年发布最早的0.2版本至今,大量的志愿者为Wireshark添加新的协议解析器,如今Wireshark已经支持五百多种协议解析。
很难想象如此多的人开发的代码可以很好的融入系统中;
并且在系统中加入一个新的协议解析器很简单,一个不了解系统的结构的新手也可以根据留出的接口进行自己的协议开发。
这都归功于
Wireshark良好的设计结构。
事实上由于网络上各种协议种类繁多,各种新的协议层出不穷。
一个好的协议分析器必需有很好的可扩展性和结构。
这样才能适应网络发展的需要不断加入新的协议解析器。
TcpDump:
顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。
它支持针对网络层、协议、主机、网络或端口的过滤,并提供
and、or、not等逻辑语句来帮助你去掉无用的信息。
用尽量简单的话来定义
TcpDump,就是:
dumpthetrafficonanetwork,根据使用者的定义对网络上
的数据包进行截获的包分析工具。
TcpDump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。
EtherPeek:
这个工具软件开始只是一个网络分析器型的数据包监测软件,经过这些年的发展已经成为一个真正的网络管理工具并具有网站监视和分析等新的功能,被美国联邦调查局用来追踪逃犯、贩卖毒品的人、电脑黑客和一些被怀疑为外国间谍的人。
是一个直观,功能强大的以太网网络和协议分析器。
支持
Macintosh和Windows平台。
EtherPeek把查找和修复多平台上的复杂网络任务变得简单化。
EtherPeek采用工业标准,非常容易使用,提供解码、过滤和诊断网络的功能。
以友好图形界面出名,EtherPeek提供非常详细且