sniffer嗅探器基本知识.docx
《sniffer嗅探器基本知识.docx》由会员分享,可在线阅读,更多相关《sniffer嗅探器基本知识.docx(19页珍藏版)》请在冰豆网上搜索。
sniffer嗅探器基本知识
嗅探器
百科名片
嗅探器保护网络
嗅探器是一种监视网络数据运行的软件设备,协议分析器既能用于合法网络管理也能用于窃取网络信息。
网络运作和维护都可以采用协议分析器:
如监视网络流量、分析数据包、监视网络资源利用、执行网络安全操作规则、鉴定分析网络数据以及诊断并修复网络问题等等。
非法嗅探器严重威胁网络安全性,这是因为它实质上不能进行探测行为且容易随处插入,所以网络黑客常将它作为攻击武器。
简介
网络技术与设备简介
网络监听原理
Snifffer的分类
网络监听的目的
编辑本段简介
嗅探器最初由NetworkGeneral推出,由NetworkAssociates所有。
最近,NetworkAssociates决定另开辟一个嗅探器产品单元,该单元组成一家私有企业并重新命名为NetworkGeneral,如今嗅探器已成为NetworkGeneral公司的一种特征产品商标,由于专业人士的普遍使用,嗅探器广泛应用于所有能够捕获和分析网络流量的产品。
编辑本段网络技术与设备简介
在讲述Sniffer的概念之前,首先需要讲述局域网设备的一些基本概念。
数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。
帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。
接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。
就是在这个传输和接收的过程中,存在安全方面的问题。
每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。
当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。
在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。
如果某个工作站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释),那么它就可以捕获网络上所有的数据包和帧。
编辑本段网络监听原理
Sniffor程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太网卡)置为杂乱(promiscuous)模式状态的工具,一旦网卡设置为这种模式,它就能接收传输在网络上的每一个信息包。
普通的情况下,网卡只接收和自己的地址有关的信息包,即传输到本地主机的信息包。
要使Sniffer能接收并处理这种方式的信息,系统需要支持BPF,Linux下需要支持SOCKET-PACKET。
但一般情况下,网络硬件和TCP/IP堆栈不支持接收或者发送与本地计算机无关的数据包,所以,为了绕过标准的TCP/IP堆栈,网卡就必须设置为混杂模式。
一般情况下,要激活这种方式,内核必须支持这种伪设备BPFilter,而且需要root权限来运行这种程序,所以Sniffer需要root身份安装,如果只是以本地用户的身份进入了系统,那么不可能嗅探到root的密码,因为不能运行Sniffer。
基于Sniffer这样的模式,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。
这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。
编辑本段Snifffer的分类
Sniffer分为软件和硬件两种,软件的Sniffer有NetXray、Packetboy、NetMonitor、SnifferPro、WireShark、WinNetCap等,其优点是物美价廉,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。
硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较贵。
实际上本章所讲的Sniffer指的是软件。
它把包抓取下来,然后打开并查看其中的内容,可以得到密码等。
Sniffer只能抓取一个物理网段内的包,就是说,你和监听的目标中间不能有路由或其他屏蔽广播包的设备,这一点很重要。
所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。
编辑本段网络监听的目的
当一个黑客成功地攻陷了一台主机,并拿到了root权限,而且还想利用这台主机去攻击同一网段上的其他主机时,他就会在这台主机上安装Sniffer软件,对以太网设备上传送的数据包进行侦听,从而发现感兴趣的包。
如果发现符合条件的包,就把它存到一个LOG文件中去。
通常设置的这些条件是包含字“username”或“password”的包,这样的包里面通常有黑客感兴趣的密码之类的东西。
一旦黑客截获得了某台主机的密码,他就会立刻进入这台主机。
如果Sniffer运行在路由器上或有路由功能的主机上,就能对大量的数据进行监控,因为所有进出网络的数据包都要经过路由器。
Sniffer属于第M层次的攻击。
就是说,只有在攻击者已经进入了目标系统的情况下,才能使用Sniffer这种攻击手段,以便得到更多的信息。
Sniffer除了能得到口令或用户名外,还能得到更多的其他信息,比如一个重要的信息、在网上传送的金融信息等等。
Sniffer几乎能得到任何在以太网上传送的数据包。
Sniffer是一种比较复杂的攻击手段,一般只有黑客老手才有能力使用它,而对于一个网络新手来说,即使在一台主机上成功地编译并运行了Sniffer,一般也不会得到什么有用的信息,因为通常网络上的信息流量是相当大的,如果不加选择地接收所有的包,然后从中找到所需要的信息非常困难;而且,如果长时间进行监听,还有可能把放置Sniffer的机器的硬盘撑爆
下文将详细介绍Sniffer的原理和应用。
Sniffer原理
网络技术与设备简介
在讲述Sniffer的概念之前,首先需要讲述局域网设备的一些基本概念。
数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。
帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。
接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。
就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。
每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。
当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。
如果使用Hub/即基于共享网络的情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。
如果某个工作站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释),那么它就可以捕获网络上所有的数据包和帧。
但是现代网络常常采用交换机作为网络连接设备枢纽,在通常情况下,交换机不会让网络中每一台主机侦听到其他主机的通讯,因此Sniffer技术在这时必须结合网络端口镜像技术进行配合。
而衍生的安全技术则通过ARP欺骗来变相达到交换网络中的侦听。
网络监听原理
Sniffer程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太网卡)置为杂乱(promiscuous)模式状态的工具,一旦网卡设置为这种模式,它就能接收传输在网络上的每一个信息包。
普通的情况下,网卡只接收和自己的地址有关的信息包,即传输到本地主机的信息包。
要使Sniffer能接收并处理这种方式的信息,系统需要支持BPF,Linux下需要支持SOCKET一PACKET。
但一般情况下,网络硬件和TCP/IP堆栈不支持接收或者发送与本地计算机无关的数据包,所以,为了绕过标准的TCP/IP堆栈,网卡就必须设置为我们刚开始讲的混杂模式。
一般情况下,要激活这种方式,内核必须支持这种伪设备Bpfilter,而且需要root权限来运行这种程序,所以sniffer需要root身份安装,如果只是以本地用户的身份进入了系统,那么不可能嗅探到root的密码,因此不能运行Sniffer。
也有基于无线网络、广域网络(DDN,FR)甚至光网络(POS、FiberChannel)的监听技术,这时候略微不同于以太网络上的捕获概念,其中通常会引入TAP(测试介入点)这类的硬件设备来进行数据采集。
编辑本段分类
Sniffer分为软件和硬件两种,软件的Sniffer有SnifferPro、NetworkMonitor、PacketBone等,其优点是易于安装部署,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。
硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较昂贵,但会具备支持各类扩展的链路捕获能力以及高性能的数据实时捕获分析的功能。
基于以太网络嗅探的Sniffer只能抓取一个物理网段内的包,就是说,你和监听的目标中间不能有路由或其他屏蔽广播包的设备,这一点很重要。
所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。
编辑本段网络监听的目的
当一个黑客成功地攻陷了一台主机,并拿到了root权限,而且还想利用这台主机去攻击同一(物理)网段上的其他主机时,他就会在这台主机上安装Sniffer软件,对以太网设备上传送的数据包进行侦听,从而发现感兴趣的包。
如果发现符合条件的包,就把它存到一个LOg文件中去。
通常设置的这些条件是包含字“username”或“password”的包,这样的包里面通常有黑客感兴趣的密码之类的东西。
一旦黑客截获得了某台主机的密码,他就会立刻进入这台主机。
如果Sniffer运行在路由器上或有路由功能的主机上,就能对大量的数据进行监控,因为所有进出网络的数据包都要经过路由器。
Sniffer属于第M层次的攻击。
就是说,只有在攻击者已经进入了目标系统的情况下,才能使用Sniffer这种攻击手段,以便得到更多的信息。
Sniffer除了能得到口令或用户名外,还能得到更多的其他信息,比如一个重要的信息、在网上传送的金融信息等等。
Sniffer几乎能得到任何在以太网上传送的数据包。
编辑本段产品介绍
网络的安全性和高可用性是建立在有效的网络管理基础之上的,网络管理包括配置管理、故障管理、性能管理、安全管理和计费管理五大部分。
对于企业计算机网络来说,网络故障管理主要侧重于实时的监控,而网络性能管理更看中历史分析。
Sniffer网络分析仪是一个网络故障、性能和安全管理的有力工具,它能够自动地帮助网络专业人员维护网络,查找故障,极大地简化了发现和解决网络问题的过程,广泛适用于Ethernet、FastEthernet、TokenRing、SwitchedLANs、FDDI、X.25、DDN、FrameRelay、ISDN、ATM和Gigabits等网络。
网络安全
·网络安全的保障与维护
1.对异常的网络攻击的实时发现与告警;
2.对高速网络的捕获与侦听;
3.全面分析与解码网络传输的内容;
·面向网络链路运行情况的监测
1.各种网络链路的运行情况;
2.各种网络链路的流量及阻塞情况;
3.网上各种协议的使用情况;
4.网络协议自动发现;
5.网络故障监测;
·面向网络上应用情况的监测
1.任意网段应用流量、流向;
2.任意服务器应用流量、流向;
3.任意工作站应用流量、流向;
4.典型应用程序响应时间;
5.不同网络协议所占带宽比例;
6.不同应用流量、流向的分布情况及拓扑结构;
·强大的协议解码能力,用于对网络流量的深入解析
1.对各种现有网络协议进行解码;
2.对各种应用层协议进行解码;
3.Sniffer协议开发包(PDK)可以让用户简单方便地增加用户自定义的协议;
·网络管理、故障报警及恢复
运用强大的专家分析系统帮助维护人员在最短时间内排除网络故障;
根据用户习惯,Sniffer可提供实时数据或图表方式显示统计结果,统计内容包括:
网络统计:
如当前和平均网络利用率、总的和当前的帧数及字节数、总站数和激活的站数、协议类型、当前和总的平均帧长等。
协议统计:
如协议的网络利用率、协议的数、协议的字节数以及每种协议中各种不同类型的帧的统计等。
差错统计:
如错误的CRC校验数、发生的碰撞数、错误帧数等。
站统计:
如接收和发送的帧数、开始时间、停止时间、消耗时间、站状态等。
最多可统计1024个站。
帧长统计:
如某一帧长的帧所占百分比,某一帧长的帧数等。
当某些指标超过规定的阈值时,Sniffer可以自动显示或采用有声形式的告警。
Sniffer可根据网络管理者的要求,自动将统计结果生成多种统计报告格式,并可存盘或打印输出。
1.3Sniffer实时专家分析系统
高度复杂的网络协议分析工具能够监视并捕获所有网络上的信息数据包,并同时建立一个特有网络环境下的目标知识库。
智能的专家技术扫描这些信息以检测网络异常现象,并自动对每种异常现象进行归类。
所有异常现象被归为两类:
一类是symptom(故障征兆提示,非关键事件例如单一文件的再传送),另一类是diagnosis(已发现故障的诊断,重复出现的事件或要求立刻采取行动的致命错误)。
经过问题分离、分析且归类后,Sniffer将实时地,自动发出一份警告、对问题进行解释并提出相应的建议解决方案。
Sniffer与其他网络协议分析仪最大的差别在于它的人工智能专家系统(ExpertSystem)。
简单地说,Sniffer能自动实时监视网络,捕捉数据,识别网络配置,自动发现网络故障并进行告警,它能指出:
网络故障发生的位置,以及出现在OSI第几层。
网络故障的性质,产生故障的可能的原因以及为解决故障建议采取的行动。
Sniffer还提供了专家配制功能,用户可以自已设定专家系统判断故障发生的触发条件。
有了专家系统,您无需知道那些数据包构成网络问题,也不必熟悉网络协议,更不用去了解这些数据包的内容,便能轻松解决问题。
编辑本段OSI全协议七层解码
Sniffer的软件非常丰富,可以对在各种网络上运行的400多种协议进行解码,如TCP/IP、NovellNetware、DECnet、SunNFS、X-Windows、HTTP、TNSSLQ*Netv2(Oracle)、Banyanv5.0和v6.0、TDS/SQL(Sybase)、X.25、FrameRealy、PPP、Rip/Ripv2、EIGRP、APPN、SMTP等。
还广泛支持专用的网络互联桥/路由器的帧格式。
Sniffer可以在全部七层OSI协议上进行解码,目前没有任何一个系统可以做到对协议有如此透彻的分析;它采用分层方式,从最低层开始,一直到第七层,甚至对Oracle数据库、SYBASE数据库都可以进行协议分析;每一层用不同的颜色加以区别。
Sniffer对每一层都提供了Summary(解码主要规程要素)、Detail(解码全部规程要素)、Hex(十六进制码)等几种解码窗口。
在同一时间,最多可以打开六个观察窗口。
Sniffer还可以进行强制解码功能(ProtoclForcing),如果网络上运行的是非标准协议,可以使用一个现有标准协议样板去尝试解释捕获的数据。
Sniffer提供了在线实时解码分析和在线捕捉,将捕捉的数据存盘后进行解码分析二种功能。
编辑本段Sniffer的商业应用
Sniffer被NetworkGeneral公司注册为商标,这家公司以出品SnifferPro系列产品而知名。
目前最新版本为SnifferPortable4.9,这类产品通过网络嗅探这一技术方式,对数据协议进行捕获和解析,能够大大帮助故障诊断和网络应用性能的分析鉴别。
NetworkGeneral已经被NetScout公司收购。
编辑本段Sniffer的扩展应用
1、专用领域的Sniffer
Sniffer被广泛应用到各种专业领域,例如FIX(金融信息交换协议)、MultiCast(组播协议)、3G(第三代移动通讯技术)的分析系统。
其可以解析这些专用协议数据,获得完整的解码分析。
2、长期存储的Sniffer应用
由于现代网络数据量惊人,带宽越来越大。
采用传统方式的Sniffer产品很难适应这类环境,因此诞生了伴随有大量硬盘存储空间的长期记录设备。
例如nGeniusInfinistream等。
3、易于使用的Sniffer辅助系统
由于协议解码这类的应用曲高和寡,很少有人能够很好的理解各类协议。
但捕获下来的数据却非常有价值。
因此在现代意义上非常流行如何把协议数据采用最好的方式进行展示,包括产生了可以把Sniffer数据转换成Excel的BoneLight类型的应用和把Sniffer分析数据进行图形化的开源系统PacketMap等。
这类应用使用户能够更简明地理解Sniffer数据。
4、无线网络的Sniffer
传统Sniffer是针对有线网络中的局域网而言,所有的捕获原理也是基于CSMA/CD的技术实现。
随着WLAN的广泛使用,Sniffer进一步扩展到802.11A/B/G/N的无线网络分析能力。
无线网络相比传统网络无论从捕获的原理和接入的方式都发生了较大改变。
这也是Sniffer技术发展趋势中非常重要的部分.
编辑本段用Sniffer监控网络流量
随着互联网多层次性、多样性的发展,网吧已由过去即时通信、浏览网页、电子邮件等简单的应用,扩展成为运行大量在线游戏、在线视频音频、互动教学、P2P等技术应用。
应用特点也呈现出多样性和复杂性,因此,这些应用对我们的网络服务质量要求更为严格和苛刻。
目前,大多数网吧的网络设备不具备高端网络设备的智能性、交互性等扩展性能,当网吧出现掉线、网络卡、遭受内部病毒攻击、流量超限等情况时,很多网络管理员显的心有于而力不足。
毕竟,靠网络管理员的经验和一些简单传统的排查方法:
无论从时间上面还是准确性上面都存在很大的误差,同时也影响了工作效率和正常业务的运行。
SnifferPro著名网络协议分析软件。
本文利用其强大的流量图文系统HostTable来实时监控网络流量。
在监控软件上,我们选择了较为常用的NAI公司的snifferpro,事实上,很多网吧管理员都有过相关监控网络经验:
在网络出现问题、或者探查网络情况时,使用P2P终结者、网络执法官等网络监控软件。
这样的软件有一个很大优点:
不要配置端口镜像就可以进行流量查询(其实snifferpro也可以变通的工作在这样的环境下)。
这种看起来很快捷的方法,仍然存在很多弊端:
由于其工作原理利用ARP地址表,对地址表进行欺骗,因此可能会衍生出很多节外生枝的问题,如掉线、网络变慢、ARP广播巨增等。
这对于要求正常的网络来说,是不可思议的。
在这里,我们将通过软件解决方案来完成以往只有通过更换高级设备才能解决的网络解决方案,这对于很多管理员来说,将是个梦寐以求的时刻。
硬件环境(网吧):
100M网络环境下,92台终端数量,主交换采用D-LINK(友讯)DES-3226S二层交换机(支持端口镜像功能),级联普通傻瓜型交换机。
光纤10M接入,华为2620做为接入网关。
软件环境:
操作系统Windows2003Server企业标准版(SnifferPro4.6及以上版本均支持Windows2000Windows-xpWindows2003)、NAI协议分析软件-SnifferPortable4.75(本文选用网络上较容易下载到的版本做为测试)
环境要求:
1、如果需要监控全网流量,安装有SnifferPortable4.7.5(以下简称SnifferPro)的终端计算机,网卡接入端需要位于主交换镜像端口位置。
(监控所有流经此网卡的数据)
2、Snffierpro475仅支持10M、100M、10/100M网卡,对于千M网卡,请安装SP5补丁,或4.8及更高的版本
监控目的:
通过SnifferPro实时监控,及时发现网络环境中的故障(例如病毒、攻击、流量超限等非正常行为)。
对于很多企业、网吧网络环境中,网关(路由、代理等)自身不具备流量监控、查询功能,本文将是一个很好的解决方案。
SnifferPro强大的实用功能还包括:
网内任意终端流量实时查询、网内终端与终端之间流量实时查询、终端流量TOP排行、异常告警等。
同时,我们将数据包捕获后,通过SnifferPro的专家分析系统帮助我们更进一步分析数据包,以助更好的分析、解决网络异常问题。
步骤一:
配置交换机端口镜像(MirroringConfigurations)
以DES-3226S二层交换机为例,我们来通过WEB方式配置端口镜像(也可用CLI命令行模式配置)。
如果您的设备不支持WEB方式配置,请参考相关用户手册。
1.DES-3226S默认登陆IP为:
10.90.90.90因此,需要您配置本机IP为相同网段才可通过浏览器访问WEB界面。
2.使用鼠标点击上方红色字体:
“Login”,如果您是第一次配置,输入默认用户名称、密码:
admin自动登陆管理主界面。
3.如图
(2)所示,主界面上方以图形方式模拟交换机界面,其中绿色灯亮起表示此端口正在使用。
下方文字列出交换机的一些基本信息。
图1
图2
4.如图(3):
鼠标点击左下方菜单中的advancedsetup->MirroringConfigurations(高级配置—镜像配置)
5.将MirrorStatus选择为Enable(默认为关闭状态,开启),本例中将Port-1端口设置为监听端口:
TargetPort=Port-1,其余端口选择为Both,既:
监听双向数据(Rx接收Tx发送),选择完毕后,点击Apply应用设置。
此时所有的端口数据都将复制一份到Port-1。
(如图4)
图3
图4
接下来,我们就可以在Port-1端口,接入计算机并安装配置SnifferPro。
步骤二:
SnifferPro安装、启动、配置
SnifferPro安装过程与其它应用软件没有什么太大的区别,在安装过程中需要注意的是:
①SnifferPro安装大约占用70M左右的硬盘空间。
②安装完毕SnifferPro后,会自动在网卡上加载SnifferPro特殊的驱动程序(如图5)。
③安装的最后将提示填入相关信息及序列号,正确填写完毕,安装程序需要重新启动计算机。
④对于英文不好的管理员可以下载网上的汉化补丁。
我们来启动SnifferPro。
第一次启动SnifferP