网络嗅探器的设计与实现大学论文Word下载.docx
- 文档编号:16111905
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:40
- 大小:895.82KB
网络嗅探器的设计与实现大学论文Word下载.docx
《网络嗅探器的设计与实现大学论文Word下载.docx》由会员分享,可在线阅读,更多相关《网络嗅探器的设计与实现大学论文Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
2.2嗅探器的作用
2.3sniffer的分类
2.4嗅探器可能造成的危害
2.5网络嗅探器的基本工作原理
2.6sniffer的工作环境
三需求分析
3.1需求说明
3.2需求分析
四概要设计
4.1编程环境
4.2模块分析
五详细设计
5.1嗅探器的具体实现过
5.2主要数据结构
六嗅探器的实现与测试
6.1实现与测试
6.2实验体会
七附录(主要代码)
一、引言
1.1网络安全的现状
随着各种新的网络技术的不断出现、应用和发展,计算机网络的应用越来越广泛,其作用也越来越重要。
但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。
计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。
Internet的安全已经成为亟待解决的问题。
二、网络嗅探器的基本原理
网络嗅探器又称为网络监听器,简称为Sniffer子系统,放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法,这些数据可以是用户的账号和密码,可以是一些商用机密数据等等。
他广泛地应用于流量分析、安全监控、网管分析、防火墙等的实现中。
Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。
Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。
例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。
而嗅探器也可作为攻击工具被黑客所利用为其发动进一步的攻击提供有价值的信息。
嗅探器是网络的抓包工具,可以对网络中大量数据抓取,从而方便使用者对网络中用户的一些信息进行分析,所以,通常被黑客运用于网络攻击。
我们如果也能掌握网络嗅探器的原理和设计,可以将它运用与网络故障检测、网络状况的监视,还可以加强企业信息安全防护。
2.3Snifffer的分类
Sniffer分为软件和硬件两种,软件的Sniffer有NetXray、Packetboy、Netmonitor等,其优点是物美价廉,易于学习使用,同时也易于交流;
缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。
硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较贵。
实际上本文中所讲的Sniffer指的是软件。
它把包抓取下来,然后打开并查看其中的内容,可以得到密码等。
Sniffer只能抓取一个物理网段内的包,就是说,你和监听的目标中间不能有路由或其他屏蔽广播包的设备,这一点很重要。
所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。
sniffing是作用在网络基础结构的底层。
通常情况下,用户并不直接和该层打交道,有些甚至不知道有这一层存在。
所以,应该说snffer的危害是相当之大的,通常,使用sniffer是在网络中进行欺骗的开始。
它可能造成的危害:
嗅探器能够捕获口令。
这大概是绝大多数非法使用sniffer的理由,sniffer可以记录到明文传送的userid和passwd。
能够捕获专用的或者机密的信息。
比如金融帐号,许多用户很放心在网上使用自己的信用卡或现金帐号,然而sniffer可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和pin。
比如偷窥机密或敏感的信息数据,通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者干脆拦截整个的email会话过程。
可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限。
窥探低级的协议信息。
这是很可怕的事,通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址、远程网络接口IP地址、IP路由信息和TCP连接的字节顺序号码等。
这些信息由非法入侵的人掌握后将对网络安全构成极大的危害,通常有人用sniffer收集这些信息只有一个原因:
他正要进行一次欺骗(通常的IP地址欺骗就要求你准确插入TCP连接的字节顺序号)。
事实上,如果你在网络上存在非授权的嗅探器就意味着你的系统已经暴露在别人面前了。
简单的放置一个嗅探器并将其放到随便什么地方将不会起到什么作用。
将嗅探器放置于被攻击机器或网络附近,这样将捕获到很多口令,还有一个比较好的方法就是放在网关上。
sniffer通常运行在路由器,或有路由器功能的主机上。
这样就能对大量的数据进行监控。
sniffer属第二层次的攻击。
通常是攻击者已经进入了目标系统,然后使用sniffer这种攻击手段,以便得到更多的信息。
如果这样的话就能捕获网络和其他网络进行身份鉴别的过程
网络嗅探器利用的是共享式的网络传输介质。
共享即意味着网络中的一台机器可以嗅探到传递给本网段(冲突域)中的所有机器的报文。
网络嗅探器通过将网卡设置为混杂模式来实现对网络的嗅探。
一个实际的主机系统中,数据的收发是由网卡来完成的,当网卡接收到传输来的数据包时,网卡内的单片程序首先解析数据包的目的网卡物理地址,然后根据网卡驱动程序设置的接收模式判断该不该接收,认为该接收就产生中断信号通知CPU,认为不该接收就丢掉数据包,所以不该接收的数据包就被网卡截断了,上层应用根本就不知道这个过程。
CPU如果得到网卡的中断信号,则根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,并将接收的数据交给上层协议软件处理。
下面给出一个简单的图示,简单理解数据传送的原理:
_________
/.........\
/..Internet.\
+-----++----+.............+-----+
UserA ----- 路由 ............. UserB
+-----+^+----+.............+-----+
\.........../
\---------/
+------+
嗅探器
UserAIP地址:
10.0.0.23
UserBIP地址:
192.168.100.54
现在知道UserA要于UserB进行计算机通讯,UserA需要为10.0.0.23到192.168.100.54的通讯建立一个IP包。
这个IP包在网络上传输,它必须能够穿透路由器。
因此,UserA必须首先提交这个包给路由器。
由每个路由器考查目地IP地址然后决定传送路径。
UserA所知道的只是本地与路由的连接,和UserB的IP地址。
UserA并不清楚网络的结构情况和路由走向。
UserA必须告诉路由预备发送的数据包的情况,以太网数据传输结构大概是这样的:
+--+--+--+--+--+--+
目标MAC
源MAC
0800
+--+--+-----------+
..
.IP包.
..
+--+--+--+--+-----+
CRC校验
+--+--+--+--+
理解一下这个结构,UserA的计算机建立了一个包假设它由100个字节的长度(我们假设一下,20个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。
现在把这个包发给以太网,放14个字节在目地MAC地址之前,源MAC地址,还要置一个0x0800的标记,他指示出了TCP/IP栈后的数据结构。
同时,也附加了4个字节用于做CRC校验(CRC校验用来检查传输数据的正确性)。
现在发送数据到网络。
所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其他一些机器。
通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地MAC地址和自己的MAC地址,如果不相同,则适配器会丢弃这个结构。
这个操作会由硬件来完成,所以,对于计算机内的程序来说,整个过程时毫无察觉的。
当路由器的以太网适配器发现这个结构后,它会读取网络信息,并且去掉前14个字节,跟踪4个字节。
查找0x8000标记,然后对这个结构进行处理(它将根据网络状况推测出下一个最快路由节点,从而最快传送数据到预定的目标地址)。
设想,只有路由机器能够检查这个结构,并且所有其他的机器都忽略这个结构,则嗅探器无论如何也无法检测到这个结构的。
sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。
值得注意的是:
sniffer是极其安静的,它是一种消极的安全攻击。
snifffer就是能够捕获网络报文的设备。
嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。
例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器来作出精确的问题判断。
嗅探器在功能和设计方面有很多不同。
有些只能分析一种协议,而另一些可能能够分析几百种协议。
一般情况下,大多数的嗅探器至少能够分析下面的协议:
1.标准以太网
2.TCP/IP
3.IPX
4.DECNet
实现Sniffer的基本功能。
Sniffer是一种用于监测网络性能、使用情况的工具。
能够侦听所有进出本主机的数据包,完整显示数据包网络层和传输层(ICMP、IP、TCP和UDP)的头信息。
比如,对IP头而言,需要显示版本、头长度、服务类型、数据包长度、标识、DF/MF标志、段内偏移、生存期、协议类型、源目的IP地址、选项内容。
要求显示数据的实际含义;
侦听来源于指定IP地址的数据,显示接收到的TCP数据包的全部实际内容。
需要考虑一个TCP包划分为多个IP包传输的情况;
功能验证手段:
在运行Sniffer的同时,执行标准的Ping、Telnet和浏览网页等操作,检查Sniffier能否返回预期的结果。
3.2需求分析
有于水平有限,不可能实现像Sniffer或者影音神探那样复杂的设置和分析,所以我们只对抓取到的本机在网络中的通信数据(如协议类型,源、目的地址和端口、数据包的大小等)加以分析,实现一个简单的网络嗅探器。
一个窗体显示主页面,另一个页面显示详细的包信息。
详细信息页面,我们显示一下信息:
开始时间:
嗅探器抓取数据包的时间;
源端口:
源目的IP地址+端口号;
目的端口:
目的IP地址+端口号;
协议类型:
只分析一下类型,GPG,ICMP,IDP,IGMP,IP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 嗅探器 设计 实现 大学 论文