网络嗅探器课程设计报告.docx
《网络嗅探器课程设计报告.docx》由会员分享,可在线阅读,更多相关《网络嗅探器课程设计报告.docx(38页珍藏版)》请在冰点文库上搜索。
网络嗅探器课程设计报告
《网络与信息安全技术》课程报告
课题名称:
网络嗅探器
提交报告时间:
2010年12月17日
各成员的工作量划分表
网络嗅探器
专业
组号指导老师
[
大纲]
随着网络技术的飞速发展,网络安全问题越来越被人重视。
嗅探技术作为网络安全
攻防中最基础的技术,既能够用于获得网络中传输的大量敏感信息,也能够用于网络管理。
经过获得网络数据包的流向和内容等信息,能够进行网络安全解析和网络威胁对付。
因此对
网络嗅探器的研究拥有重要意义。
本课程设计经过解析网络上常用的嗅探器软件,在认识其功能和原理的基础上,以VC为开发
平台,使用Windows环境下的网络数据包捕捉开发库WinPcap,依照软件工程的思想进行设
计并实现了一个网络嗅探工具。
该嗅探工具的整体架构划分为5部分,分别是最基层的数据
缓存和数据接见,中间层的数据捕捉,协议过滤,协议解析和最顶层的图形画用户界面。
本嗅探器工具完成了数据包捕捉及解析,协议过滤的主要功能,实现了对网络协议,源IP
地址,目标IP地址及端口号等信息的显示,使得程序能够比较全面地解析出相关信息以供用
户参照决策。
要点词:
网络嗅探;WinPcap编程接口;数据包;网络协议;多线程
(中文大纲在150字左右。
大纲正文尽量用纯文字表达。
用五号宋体字。
姓名与大纲正文之间空二行。
要点词与大纲之间不空行。
“大纲”这两个字加粗)
要点词:
入侵检测系统;感觉器;解析器;分布式入侵检测系统模型
Networksniffer
Major:
softwareengineering
GroupNumber:
29
[Abstract
]Withtherapiddevelopmentofnetworktechnology,networksecurityis
increasingly
being
attention.
Sniffing
network
security
technology
asthemostbasic
offensiveanddefensivetechniques,bothusedtoobtainalargenumberofnetwork
transmission
ofsensitive
information
canalsobeusedfornetwork
management.Access
tonetwork
packets
through
the
flow
andcontent
andother
information,
canbenetwork
securitythreatanalysisandresponsenetworks.Therefore,thenetworksnifferis
ofgreatsignificance.
Thecourseisdesignedbyanalyzingthecommonlyusednetworksniffersoftware,
tounderstand
thefunctions
andprinciples,
basedonthe
VCasadevelopment
platform,
usingtheWindowsenvironment,thedevelopmentofnetworkpacketcapturelibrary
WinPcap,accordingtosoftwareengineeringdesignAndimplementationofanetwork
sniffer
tool.
Theoverall
structure
of
the
sniffer
isdividedinto
five
parts,
namely,
thebottomofthedatacachinganddataaccess,middlelayerofthedatacapture,
protocolfiltering,protocolanalysisandtopgraphicartuserinterface.
Thecompletedtoolsnifferpacketcaptureandanalysisofdata,protocolfiltering
ofthemainfunctions,therealizationofnetworkprotocol,sourceIPaddress,
destinationIPaddressandportnumberandotherinformationdisplay,makesthe
program
out
toamorecomprehensive
analysis
of
relevant
information
Decision-making
foruserreference
[Keyword]networksniffer;WinPcapprogramminginterface;datapacket;network
protocol;multi-threaded
《网络与信息安全》课程报告.......................................
错误!
不决义书签。
第一章
绪论......................................................
错误!
不决义书签。
背景.
............................................................
错误!
不决义书签。
国内外现状.......................................................
错误!
不决义书签。
本文工作.........................................................
错误!
不决义书签。
第二章
相关技术..................................................
错误!
不决义书签。
嗅探原理.........................................................
错误!
不决义书签。
捕捉系统.........................................................
错误!
不决义书签。
功能介绍.........................................................
错误!
不决义书签。
Winpcap系统构造................................................
错误!
不决义书签。
第三章
研究内容描述..............................................
错误!
不决义书签。
第四章
测试环境和过程描述........................................
错误!
不决义书签。
程序调试........................................................
错误!
不决义书签。
程序测试........................................................
错误!
不决义书签。
第五章
小结......................................................
错误!
不决义书签。
成就.
............................................................
错误!
不决义书签。
展望.
............................................................
错误!
不决义书签。
第一章绪论
嗅探器是一种利用计算机网络接口监察网络数据运转,截获网络数据的工具,
可用于网络管理,网络协议解析以及网络安全等众多方面。
在网络攻防技术中,
嗅探器技术是最为基础的一种技术。
从攻防的角度,黑客能够利用嗅探器程序非
法获得网络中传输的大量敏感信息,如账号和口令等,对网络安全极具威胁;从
防守的角度,嗅探技术是基于网络的入侵检测系统的最基层环节,是整个系统的
数据本源。
背景
随着网络技术的迅速发展,加速了全球信息化进度,各种重要数据在网上的传
播日益宽泛,使得网络安全问题越来越为人们所关注。
网络嗅探器作为一种网络
数据监听程序,在网络安全攻防方面扮演了很重要的角色,当前已经有很多的嗅
探工具,比方在Windows环境下,最富盛名的工具是Netxray,Snifferpro,在
UNIX环境下是sniffer和snoop,以及同时支持Linux和windows平台的Ethereal等工具都是比较常有的。
网络嗅探器本质是一把双刃剑,经过使用网络嗅探器可
以把网卡设置于混杂模式,并能够实现对网络上传输的数据包的捕捉与解析,此解析结果可供网络安全解析之用,也能够为黑客发动进一步的攻击供应有价值的
信息。
而在网络安全方面,当前使用最宽泛的TCP/IP协议存在很多安全弊端,网
络嗅探器能够有效地探测在网络上传输的数据包信息,经过对这些信息的解析利用是有助于网络安全保护的。
我们经过对网络嗅探器的数据包捕捉与解析功能进一步认识,才能做到知己知彼,有针对性的获得所需要的信息,利用对这些休息进行网络安全协讲和网络威胁对付。
依照《网络安全技术发展解析》一文中的数据,2007年以来网络监听技术出
现了新的重要特点,传统的Sniffer技术是被动的监听网络通讯,用户名和口令,
而新的Sniffer技术则主动地控制通讯数据。
我们经过对网络嗅探器的数据包捕捉与解析功能的进一步认识,才能做到知己知彼,有针对行地获得所需要的信息,利于对这些信息进行网络安全解析和网络威胁对付。
因此,对网络嗅探器的研究拥有重要意义。
国内外现状
Sniffer中文翻译过来就是嗅探器,在当前网络技术中使用的特别得宽泛。
Sniffer既能够做为网络故障的诊断工具,已能够做为黑客嗅探和监听的工具。
近来两年,网络嗅探监听(
sniffer
)技术出现了新的重要特点。
传统的
sniffer
技术是被动地监听网络通讯,用户名和口令。
而新的
sniffer
技术出现了主动地
控制通讯数据的特点,把
sniffer
技术扩展到了一个新的领域,
Sniffer
技术除
了当前在传统的网络侦测管理外,也开始被应用于在咨询保全的领域。
能够这样说,sniffer技术是一把双刃剑,如何更好的利用它,认识它的一些特点,将能
使用这项技术更好的为我们需求带来便利。
Sniffer的编程方法比较通用的有以
下几种:
1).winpcap这是一个比较通用的库,相信做过抓包的工具大多人都不会陌生。
2)
.rawsocket在2000今后的版本都比较支持此项功能,
2000server有个网络
监察器就是基于
rawsocket
。
3)
.tdi,ndis,spi,hook
socket
技术,这类技术比较大的不一样样是,能够将包截取
而不但是是获得包的一份拷贝。
本质应用中的
Sniffer
还分软,硬两种。
软件
Sniffer
的优点在于比较低价,
易于学习使用,同时也易于交流,弊端是常常无法抓取网络上所有的传输(不如碎片),某些情况下也即可能无法真切认识网络的故障和运转情况;硬件的
Sniffer
平时称为协议解析仪,一把都比较昂贵,它的优点恰巧是软件
Sniffer
所欠缺的,
但是昂贵是它的致命的弊端。
因此当前流行的
Sniffer
工具都是软件的。
本文工作
作为论文的主要部分,本文正文的安排以下:
第一部分提出相关技术,解析网络嗅探器的作用和危害的同时提出论题,并介绍
出现网络嗅探器工具的原理和方法,以及本次设计中用到的Winpcap技术;
第二部分描述研究内容,包括程序需求解析和系统的设计与实现。
议论用户类及
特点,用户需求,功能需求,性能需求,运转环境等因素,对嗅探工具开发的思
想和过程作初步的解析和论证。
其他。
还详细介绍使用Winpcap开发程序的一般
流程及相关功能函数,以及数据包捕捉,解析,过滤等各个模块的详细实现。
第三部分介绍测试环境及过程,作为课程设计的最后一部分,网络嗅探器的结尾
工作,我们将严格地对我们的网络嗅探器进行测试。
第四部分总结此次课程设计的心得以及列出我们的参照文件。
第二章相关技术
嗅探原理
嗅探器是一种常用的采会适用数据的方法,嗅探器是利用计算机的网络接口截
获目的地为其他计算机的数据报文的一种工具。
由于组网方式不一样样,嗅探器的工作原理也有所不一样样,总合能够分为三类:
(1)基于网卡混杂模式的嗅探原理;
(2)基于ARP欺骗的网络嗅探原理;
(3)基于中间人攻击的嗅探原理。
本次课程设计就是利用第一种方式来实现嗅探器的功能,可见监听到所有流
经同一以太网网段的数据包,这是一种被动嗅探的方式。
从以太网的工作原理来
看,数据传输是基于“共享”的,所有的同一当地网范围内的计算机共同接收到
相同的数据包,这意味着计算机直接的通讯都是透明可见的。
正是由于这样的原
因,以太网卡都构造了硬件的“过滤器”,这个过滤器将忽略掉所有和自己没关的
网络信息,事实上时忽略掉了与自己MAC地址不切合的信息。
从网卡原理上来说,
在一个本质的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据
包,网卡内的单片程序接收数据帧的目的MAC地址,依照计算机上的网卡驱动程
序设置的接收模式判断该不该接收,以为该接收就接收后产生中断信号通知CPU,
以为不该接收就抛弃无论,因此不该接收的数据网卡就截断了,计算机根本就不
知道。
关于网卡来说一般有四种接收模式:
(1)广播方式:
该模式下的网卡能够接收网络中的广播信息;
(2)组播方式:
设置在该模式下的网卡能够接收组播数据;
(3)直接方式:
在这类模式下,只有目的网卡才能接收该数据;
(4)混杂模式:
在这类模式下的网卡能够接收所有经过它的数据。
而本次设计嗅探工具正是利用了这个特点,把网卡设置为“混杂模式”。
因此,嗅探程序即能够接收到整个以太网内的网络数据信息了,而无论该数据是否是传
给它的。
正常模式和混杂模式的两者比较方以以下图:
图网卡对数据包的办理方式
捕捉系统
很多网络安全系统最首要的任务就是捕捉网络上的数据信息,而网络数据包
捕捉技术就解决了这个问题。
网络数据包捕捉技术是从网络上捕捉所有的或特定
的网络数据包信息,供其他网络安全系统使用。
不一样样的网络有不一样样的捕捉技术,
不一样样的操作系统其捕捉机理也有所不一样样。
以太网采用了CSMA/CD技术,它使用了
广播系统,所有与网络连接的机器都能够看到网络上流传的数据,操作系统供应的捕捉系统主要有以下三种:
(1)SOCK_PACKET种类套接口;
(2)数据链路供应者接口(
DataLinkProviderInterface,DLPI
);
(3)伯克利数据包过滤器(
BerkeleyPacketFilter,BPF
)。
BPF主要由两部分组成:
网络转发部分和数据包过滤部分。
网络转发部分是
从链路层中捕捉数据包并把它们转发给数据包过滤部分,数据包过滤部分是从接
收到的数据包中接受过滤规则决定的网络数据包,其他数据包就抛弃。
捕捉数据
包和过滤数据包都是在操作系统内核中完成的,而且使用了数据缓存系统。
从效
率上来讲,
BPF在三种系统中是性能最高的,而
SOCK_PACKET是最弱的。
在本质应用中,实现网络数据包捕捉技术的代表是
Libpcap
。
它是一个专业
的跨平台的网络数据包捕捉开发包。
使用Libpcap能够很轻松地实现网络数据包
的捕捉功能,它的捕捉系统就是BPF捕捉系统。
在Windows平台下有与Libpcap
兼容的WinPcap开发包,它是特意针对Windows平台而开发的,本次程序的开发就是利用WinPcap库函数实现的。
功能介绍
WinPcap(WindowsPacketCapture)是Windows平台下的一个免费、公正的
专业网络数据包捕捉开发包,也是其他一些安全工具的应用基础。
使用该开发包
的软件主要有:
Windump、Analyzer、Ethereal、Dsniff等。
WinPcap包括三部分,
即数据包捕捉和过滤块NPF、较低层的网络编程接口、较高层的编程接口。
使用
该开发包能够提高应用效率,WinPcap充分考虑了各种性能和效率的优化,在内
核层实现了数据包的捕捉和过滤,这是由NPF来实现的,NPF是WinPcap的核心
部分,它实现了内核的统计功能,关于设计网络流量的程序很有好处。
WinPcap是Libpcap在Windows平台下的版本,在设计WinPcap时参照了
Libpcap,对Windows进行了优化办理和发展,主要功能:
(1)数据包捕捉。
跟Libpcap相同,WinPcap主要的功能还是完成了对网络数据包的捕捉,它能够捕捉在共享网络上传输的各种网络数据包。
(2)数据包过滤。
WinPcap也具备数据包的过滤功能,在接收网络数据包
和发送个应用程序以前在内核层对数据包进行过滤,其过滤规则与BPF过滤规则
兼容。
(3)数据包发送。
使用WinPcap能够实现数据包的发送功能,能够发送原始的网络数据包,网络数据包的内容能够由开发者自己确定。
(4)流量统计。
在WinPcap中还实现了流量统计功能,这也是在内核层实
现的。
(5)数据包积蓄。
使用WinPcap能够在内核中将捕捉到的数据包直接积蓄到磁盘中。
Winpcap系统构造
前一节提到你了WinPcap的三个模块,它们分别是NPF、、,其系统构造以以以下图
所示:
图WinPcap系统构造
这个三个模块组成了有较好扩展性的基层网络解析系统构造,下面对三个模
块作详细说明。
NPF是WinPcap的组件,用来办理网络上传输的数据包,并对用户层导出数
据包捕捉、发送与解析的能力。
它是运转于操作系统内核中的驱动程序,它直接
与网卡驱动程序进行交互,捕捉在网络上传输的原始数据包。
在WindowsXP系统
中,它以SYS文件形式存在。
该模块供应了抓取数据包以及发送数据包的基本功能,其他还供应了一些高级功能,如数据包过滤系统和检测引擎。
用于在Windows平台上为数据包驱动程序供应一个公共的接口。
不一样样的
Windows版本在用户态和内核态之间供应互不一样样的接口,而能够障蔽这些接口
差异,供应一个与系统没关的API。
开发的数据包截获程序能够运转于不一样样的
Windows平台而不用重新进行编译。
能够执行如获得适配器名称、动向驱动器加
载以及获得主机掩码及以太网矛盾次数等初级操作。
模块供应了一组功能兴隆且跨平台的函数,利用这些函数,能够不去关心适
配器和操作系统的种类。
含有诸如产生过滤器、定义用户缓冲以及包注入等高级
功能。
的函数调用会自动调用中的初级函数,而且可能被变换成若干个系统调用。
第三章研究内容描述
本次课题的主要研究内容是利用套接字开发网络嗅探器的程序设计,设计要求完成对流经当地网卡的所有数据包的捕捉,解析协议种类,并依照不一样样的协议
种类对数据包进行了进一步的解析,包括解析数据包的源IP地址、目的IP地址、源端口号、目的端口号、大小等。
经过对该课题的研究,让我对嗅探技术有了进一步的认识,对其两面性在网络中产生的影响有了更深的认识,为了打破以上限制性,还需要结合已学知识对网络嗅探技术方面的知识作进一步的学习。
利用套接字开发网络嗅探器程序时的一般步骤以以以下图所示:
以以以下图,在利用套接字开发网络嗅探器程序时的一般步骤是:
第一,创办
原始套接字,并设置其操作选项;其次将原始套接字绑定到当地网卡地址上;设置网卡为混杂模式,这样网卡即能够收到任何在网络中传输的数据包;在以上条件下开始对数据包进行捕捉、解析。
有两类人关于流动在网络上的数据是特别感兴趣的:
网络管理员和黑客,他们
都要对网络上的以包为单位的数据流进行监测。
事实上,一个好的数据包监测软
件平时能够在网络管理和黑客技术的工具包中同时找到。
黑客能够用数据包监测
软件监听互联网,而且追踪一些敏感数据的交换如登录对话和财经交易;网络管理
员能够用数据包监测软件监察网络的状态、查找网络漏洞,检测网络性能和修复网络的故障等。
因此,研究网络数据的捕捉和网络协议的解析不但好够有利于管理网络和维
护网络的健康运转,更重要的还可以够够得知黑客对网络攻击的机理,有针对地进行入侵检测,进而防范黑客的攻击破坏和对资料的偷取。
本课题针对网络数据包的捕捉和解析技术做了比较深入的阐述。
在对此刻网
络数据捕捉和解析的相关基本实现机理、方法和手段进行解析的基础上,经过详
细地解析网络数据包捕捉函数库Libpcap和winpcap的工作机理和内部架构,描
述了网络数据包捕捉和解析程序的层次构造,给出了详细的经过调用Winpcap
捕捉和解析数据包的程序的设计与实现方法。
关于今后网络数据的监测和解析方
案(比方对无线网络和交换环境捕捉和解析),本文也在最后部分做了相应的阐述
来
和展望。
设计完成后经测试能实现预期要求的功能。
但是依旧存在一些不足之处,例
如:
1.由于时间和所学知识有限,只对数据包作了简单解析,解析内容不是很全