Linux系统下Sniffer的实现一Word格式.docx
- 文档编号:15858514
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:8
- 大小:24.24KB
Linux系统下Sniffer的实现一Word格式.docx
《Linux系统下Sniffer的实现一Word格式.docx》由会员分享,可在线阅读,更多相关《Linux系统下Sniffer的实现一Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
ISS把它这样定义:
Sniffer是一种利用自身网络接口来对目的地是其它计算机的数据包进行捕捉的一种工具。
本文介绍并研究了Sniffer相关技术,重点是在Linux系统下如何实现Sniffer并获得相关数据包,并且详细介绍了Linux环境下Sniffer的实现过程。
通过阅读本论文,您会对Sniffer有大致的了解,还可以得知如何在Linux系统环境下实现一个Sniffer的详细过程。
同时,本文还简略介绍TCP/IP协议栈和Sniffer实现过程的关系,详尽分析了TCP/IP中各个层次。
第一章Sniffer简介
什么是Sniffer?
Sniffer又叫“嗅探器”,是一种威胁性极大的被动攻击工具。
使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。
当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。
黑客们常常利用它来截获用户私人信息,网络管理员也常常用它来监视网络状态,分析网络流量,排除网络故障等。
Sniffer分为软件和硬件两种,软件的Sniffer有NetXray、Packetboy、Netmonitor等,其优点是物美价廉,易于学习使用,同时也易于交流;
缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。
硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较贵。
ISS(InternetSecuritySystem)为Sniffer这样定义:
Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。
我们一般认为Sniffer是指在运行以太网协议、TCP/IP协议、IPX协议或者其他协议的网络上,可以攫取网络信息流的软件或硬件。
Sniffer早期主要是分析网络的流量,以便找出所关心的网络中潜在的问题。
Sniffer的存在对网络系统管理员是至关重要的,网络系统管理员通过Sniffer可以诊断出大量的不可见模糊问题(如网络瓶颈、错误配置等),监视网络活动,完善网络安全策略,进行行之有效的网络管理。
众所都知,在以太网中,所有的通讯都是广播的,也就是说通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据,在正常的情况下,一个网络接口应该只响应单播和广播两种数据帧。
对于网卡,一般都具备“正常模式”和“混杂模式”两种模式。
网卡在“混杂模式”下可以接收非本地址的数据帧。
所以,简单说来,Sniffer就是在网卡处于“混杂模式”下,捕捉流经本网卡的所有数据包,并根据接收到的数据包,来进行一些应用,例如流量控制等。
Sniffer的应用
在内部网上,黑客要想迅速获得大量的账号,最为有效的手段是使用"
sniffer"
程序。
这种方法要求运行Sniffer程序的主机和被监听的主机必须在同一个以太网段上,并且要求要以root用户登陆,运行成功,就能够监听到本以太网段上的数据流。
黑客会使用各种方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。
大多数"
ethernetsniffer"
程序在后台运行,将结果输出到硬盘存储上的某个记录文件中。
Internet是由众多的局域网所组成,这些局域网一般是以太网、令牌网的结构。
数据在这些网络上是以很小的称为帧(Frame)的单位传输的,帧通过特定的网络驱动程序进行成型,然后通过网卡发送到网线上。
由于以太网等很多网络(常见共享HUB连接的内部网)是基于总线方式,物理上是广播的,同一物理网段的所有主机的网卡都能接收到这些以太网帧。
当网络接口处于正常状态时,网卡收到传输来的数据帧,网卡内的芯片程序先接收数据头的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,如果认为是目的地址为本机地址的数据帧或是广播帧,则接收并在接收后产生中断信号通知CPU,否则就丢弃不管,CPU得到中断信号产生中断,操作系统就根据网卡驱动程序中设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理。
通过修改网卡存在一种特殊的工作模式,在这种工作模式下,网卡不对目的地址进行判断,而直接将它收到的所有报文都传递给操作系统进行处理。
这种特殊的工作模式,称之为混杂模式(PromiscuousMode).
Sniffer就是通过将网卡设置为混杂模式,它对遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。
Sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。
另外,Sniffer一个更重要的作用就是进行网络监控。
Sniffer通过捕捉流经本主机的所有数据包,然后对这些捕捉的数据包进行上层分析,进而得出关于网络流量等信息,为网络管理员做出某些决策提供证据。
一般用户管理员会在服务器上运行一个Sniffer,通过捕捉数据包,然后进行详尽分析,就可以得到一些信息,例如,哪些主机在和服务器网络通信,这些主机分别在服务器上做了哪些操作。
得到这些信息后,系统管理员就可以做一些决策,使得本服务器更加安全。
一般来说,snifer可以截获的不仅仅是用户的ID和口令,它还可以截获敏感的经济数据(如信用卡号)、秘密的信息(E—mail)和专有信息。
基于入侵者可利用的资源,一个Sniffer可能截获网络上所有的信息。
从sniffer上可以得到所有的信息,只要你有足够的存储空间。
近年来.sniffer技术出现了新的重要特征。
传统的sniffer技术是被动地监听网络通信、用户名和口令。
新的snifer技术出现了主动地控制通信数据的特点.把sniffer技术扩展到了一个新的领域。
sniffer既可以作为网络故障的诊断工具,也可以作为黑客嗅探和监听的工具。
sniffer技术除了目前在传统的网络侦测管理外,也开始被应用在资讯保全的领域。
可以这样说,snifer技术是一把双刃剑,如何更好地利用它,了解它的一些特性,这将为我们带来便利。
目前Sniffer工具的应用一般分为以下几个方面
1.分布式Sniffer系统(SnifferDistributed):
分布式的Sniffer系统适用于管理大型企业网络或远距离的由多个网络段组成的网络。
它由一个或数个中心控制台以及多个Sniffer服务器组成,每个Sniffer服务器可以放在一个网络段中,自动监视网络情况。
每个Sniffer服务器都具有一个IP地址,可以和中心控制台通信,服务器根据中心控制台的命令实时监视分析网络,并将分析结果返回给中心控制台分布式系统,通过中央控制平台和分布全网的网络分析(DistributedSnifferSystem,DSS)全天候地监控整个网络的运行情况。
2.远程监测的分布式Sniffer系统(DSS/RMON):
通过结合中央控制平台与分布全网的网络分析器,同步收集RMON2统计数据,全天候地监控整个网络运行情况,主要包括分布式远程监控分析器(DSS/RMONAnalysisSoftware)和分布式远程监控服务器(DSS/RMONServer),DSS/RMON探测器对OSI模型的七层结构均进行分析,直接监控网络状态,并把收集到的数据通过网络送达服务器,管理员则可在远端通过网络连接到服务器实现对网络的远程控制。
3.Web技术:
Web技术与网络管理技术相结合,是网络管理发展的新趋势,基于Web的网络管理系统允许管理员在网络的任何位置,通过Web浏览器访问具有网络管理功能的服务器,进行网络管理;
Web浏览器对计算机的硬件要求很低管理员依靠简单、廉价的计算平台就能访问具有管理功能的代理服务器。
同样也可以将Web技术和Sniffer技术相结合,为用户提供一个用于管理互联网流量的完整的端到端视图。
4.在交换环境下Sniffer的使用:
共享连接的局域网是基于总线方式,物理上是广播的,同一物理网段的所有主机的网卡都能接收到这些以太网帧。
交换机(switch)采用交换方式来传输数据,这样一台机器就无法得到与他无关的网络数据了。
为了允许网络管理人员在switch环境下仍让可以得到其他任何一台机器的网络数据,采用了端口镜像技术(Portmirroring)。
交换机就会把所有的网络数据都向该端口复制一份。
这样在该端口上的机器就和以前一样,能够得到任何数据了。
现在大多数switch产品都支持此项技术。
5.结合人工智能技术:
利用Sniffer“专家分析”技术(ExpertAnalysis),专家系统能够自动检测诸如拒绝连接、吞吐量降低等多种网络故障征兆,并且及时地阻止其发展成为致命的网络性能问题,并且能够根据当有们狗网络运行状况提出优化方案,以提高网络的运行效率,给出智能管理方案。
同时具有学习与主动发觉网络问题的能力。
当一个网络异常被发现时,立刻正确地指出其原因以便帮助去解决它。
6.Sniffer无线解决方案(SnifferWireless网络分析器):
Sniffer无线解决方案高效率设计构建起一个精密而安全的无线LAN基础架构。
常用Sniffer系统简介
Sniffer可分软、硬两种,软件Sniffer有它的优点,价格成本相对较低,易于学习使用,同时也易于交流,缺点是无法抓取网络上所有的传输,比如碎片、fragment,shortevent等等,某些情况下也就无法真正了解网络的故障和运行情。
硬件的Sniffer通常称为协议分析仪,一般都比较贵的,商用化的工具产品如美国网络联盟公司的Sniffer网络协议分析仪。
以下是当前比较流行的
Sniffer软件。
表比较流行的Sniffer软件
软件名称使用平台简单评价GlbblerDOS,Windows可以在一个单独的工作站上运行,仅分析本地的包,也可以在网络上运行ETHLOADDOS用于Ethernet和令牌环网NetmanUNIX只能运行在UNIX平台SNIFFITUNIX,Linux默认状态下只接受最先的400个字节的信息包Tcpdump,FreeBSD,Linux,SunOS一个专业的网络管理工具,可移植性强NetMonitorWindowsMicrosoft商用SnifferExpertSnifferUNIXNetworkGeneral公司商用SnifferTotalNetworkVisibilitySnifferWindowsNAI-Sniffer着名的整体网络解决方案之一SunOS被设计仅截获数据包的开头部分
因为Sniffer工具比较多,所以还存在很多其他的Sniffer工具,在此,我们仅详细介绍Ethereal和tcpdump两种常用的Sniffer工具。
Ethereal是一个开放源码的网络分析系统,也是是目前最好的开放源码的网络协议分析器,支持Linux和windows平台。
Ethereal起初由GeraldCombs开发,随后由一个松散的etheral团队组织进行维护开发。
它目前所提供的强大的协议分析功能完全可以媲美商业的网络分析系统,自从1998年发布最早的版本至今,大量的志愿者为ethereal添加新的协议解析器,如今ethereal已经支持五百多种协议解析。
很难想象如此多的人开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 系统 Sniffer 实现