(一)Sniffer工具简介
硬件的Sniffer一般都比较昂贵,功能非常强大,可以捕获网络上所有的传输,并且可以重新构造各种数据包。软件的Sniffer有Sniffer Pro、Wireshark、Net monitor等,其优点是物美价廉,易于学习使用;缺点是无法捕获网络上所有的传输(如碎片、fragment、short event),某些情况下,无法真正了解网络的故障和运行情况。下面简要地介绍几种Sniffer工具。
1.Sniffer Pro
Sniffer Pro是美国网络联盟公司出品的网络协议分析软件,支持各种平台,性能优越。Sniffer Pro可以监视所有类型的网络硬件和拓扑结构,具备出色的监测和分辨能力,智能地扫描从网络上捕获的信息以检测网络异常现象,应用用户定义的试探式程序自动对每种异常现象进行归类,并给出一份警告、解释问题的性质和提出建议的解决方案。
2.Wireshark
Wireshark(2006年夏天之前叫作Ethereal)是一款开源的网络协议分析器,可以运行在UNIX和Windows上。Wireshark可以实时检测网络通信数据,也可以检测其捕获的网络通信数据快照文件;既可以通过图形界面浏览这些数据,也可以查看网络通信数据包中每一层的详细内容。Wireshark拥有许多强大的特性:包含有强显示过滤器语言(Rich Display Filter Language)和查看TCP会话重构流的能力,支持上百种协议和媒体类型,是网络管理员常用的工具。
3.Netmonitor
Netmonitor是Microsoft自带的网络监视器,可捕获过滤器和触发器、实时监视统计和显示过滤器,包括依据协议属性而进行的过滤。与Sniffer Pro、Wireshark界面相似,但Net monitor的功能远远比不上前两者。
4.EffTech HTTP Sniffer
EffTech HTTP Sniffer是一款针对HTTP进行嗅探的Sniffer工具,专门来分析局域网上HTTP数据传输封包,可以实时分析出局域网上所传送的HTTP资料封包。这个软件的使用相当简单,只要单击【开始】按钮,就开始记录HTTP的请求和回应信息。单击每个嗅探到的信息,就可以查看详细的提交和回应信息。
5.Iris The Network Traffic Analyzer
Iris The Network Traffic Analyzer是网络流量分析监测工具,可以帮助系统管理员轻易地捕获和查看用户的使用情况,同时检测到进入和发出的信息流,会自动地进行存储和统计,便于查看和管理。
(二)Wireshark的使用
首先安装Wireshark(下载地址为http://www.wireshark.org/download.html),按照向导安装,完成后桌面上会出现图标。启动Wireshark以后,出现如图2-60所示的界面,选择【Capture】→【Start】菜单命令,出现Wireshark选择网卡,如图2-61所示。
图2-60 Wireshark的面板
图2-61 Wireshark选择网卡
选择【Capture】→【Start】菜单命令,就会出现所捕获的数据包的统计。想停止时,单击捕捉信息对话框上的【stop】按钮停止,如图2-62所示。
捕获到的数据包显示如图2-63所示。第一部分是数据包统计窗,可以按照各种不同的参数排序,如按照Source Ip或者Time等;如果想看某个数据包的消息信息,单击该数据包,在协议分析窗中显示详细信息,主要是各层数据头的信息;最下面是该数据包的具体数据。
分析数据包有3个步骤:选择数据包、分析协议、分析数据包内容。
图2-62 Wireshark捕获数据包
图2-63 Wireshark分析数据包
1.选择数据包
每次捕获的数据包的数量很多。首先,根据时间、地址、协议、具体信息等,对需要的数据进行简单的手动筛选,选出所要分析的那一个。例如,大家经常被其他人使用Ping来进行探测,那么,当想查明谁在进行Ping操作时,面对嗅探到的结果,应该选择的是ICMP。
例如,查看访问地址为202.165.102.134的Web服务器的数据包,如图2-64所示。
图2-64 选择数据包
2.分析协议
在协议分析窗中直接获得的信息是帧头、IP头、TCP头和应用层协议中的内容,如MAC地址、IP地址和端口号、TCP的标志位等。另外,Wireshark还会给出部分协议的一些摘要信息,可以在大量的数据中选取需要的部分,如图2-65所示。
图2-65 分析协议
3.分析数据包内容
首先,要了解数据包的结构,这里所说的数据包是指捕获的一个“帧”,具体数据封装如图2-66所示。
图2-66 数据的封装
数据包的结构与平常的信件类似,先将信封装好,然后填写信封的内容:收信人地址、发信人地址等。目标IP地址说明这数据包是要发给谁的,相当于收信人地址;源IP地址说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容,例如,想嗅探FTP中的信息,就要查看净载数据中的内容。
4.数据包的过滤
主要包括以下几个方面。
(1)捕获过滤器
一次完整的嗅探过程并不是只分析一个数据包,可能是在几百或上万个数据包中找出有用的几个或几十个来分析。如果捕获的数据包过多,增加筛选的难度,也会浪费内存。所以我们可以在启动捕获数据包前,设置过滤条件,减少捕获数据包的数量,如图2-67所示。(www.daowen.com)
图2-67 Wireshark的options
Wireshark捕获时条件过滤参考语法如下。
•Protocol(协议):ether、ip、arp、rarp、icmp、tcp and udp等。
•Direction(方向):src、dst、src and dst、src or dst。
•Host(s):net、port、host、portrange。
•Logical Operations(逻辑运算):not、and、or(not具有最高的优先级。or和and具有相同的优先级,运算时从左至右进行)。
例如,“src host 172.17.12.1 and not dst net 192.168.2.0/24"显示来源IP地址为172.17.12.1,但目的地址不是192.168.2.0/24的封包。
还可以填写【Capture Filter】栏或者单击【Capture Filter】按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。
(2)显示过滤器
通常经过捕捉过滤器过滤后的数据还是很复杂。可以使用显示过滤器进行更加细致的查找。它的功能比捕捉过滤器更为强大,而且在修改过滤器条件时,并不需要重新捕捉一次,参考语法如下。
•Protocol:显示过滤器支持OSI模型第2-7层大量的协议。单击【Expression…】按钮,如图2-68所示,然后可以看到它所支持的协议,如图2-69所示。
图2-68 Wireshark的显示过滤
图2-69 Wireshark支持的显示过滤协议1
同样可以在以下位置找到所支持的协议,如图2-70所示。
图2-70 Wireshark支持的显示过滤协议2
•String:单击相关协议父类旁的“+”号,然后选择其子类,如图2-69所示。
•运算符:可以使用6种比较运算符,如图2-69所示。还有逻辑运算符:and和or。
例如,语句“ip.src==192.168.0.0/16and ip.dst==192.168.0.0/16”表示只显示“192.168.x.x”网段内部主机之间的流量。
表达式语法正确,Filter栏背景色为绿色显示,并显示符合过滤条件的封包;语法错误,背景色为红色,会弹出错误提示音,不会显示出对应条件的封包。
【例2-6】用Wireshark嗅探一个FTP过程。
图2-71 FTP登录过程
由于FTP中的数据都是明文传输的,所以很容易获得。打开Wireshark,然后登录FTP服务器,如图2-71所示。登录后,Wireshark停止捕获数据。图2-72所示是在Wireshark中看到的分析结果。登录的用户名是“405”,密码是“test4”。通过这样的方法,也可以掌握FTP的工作过程。
图2-72 FTP分析结果
【例2-7】POP密码的嗅探。
在使用第三方客户端邮件工具进行邮件的收发时,可以嗅探到POP的密码。以Outlook Express(简称OE)作为这个实验的第三方邮件收发工具,打开OE后,输入用户名和密码,接收完邮件后立即停止Wireshark,图2-73所示是POP协议的嗅探结果。
图2-73 POP密码的嗅探
很明显,图2-70中所指向的数据是一个客户端的请求,第11条信息就是送出一个包含了用户名的邮件接收请求,然后服务器会自动检测该用户名是否存在,第14条信息显示用户名验证成功,接下来是输入密码,第14条信息是客户端输入的密码,校验成功后,返回第17条信息,说明用户名和密码都是合法且正确的,用户名和密码的验证过程结束,很轻易地获得用户名和密码。
【例2-8】Web邮箱密码的嗅探。
现在人们经常使用Web邮箱进行邮件的收发,由于HTTP是明文传送的,所以可以嗅探到Web邮箱的密码。图2-74所示为Web邮箱的嗅探结果。
图2-74 Web邮箱密码的嗅探
由于HTTP是明文传送的,所以用户的信息很容易被泄露,除了Web邮箱外,在WWW上还有其他许多敏感的信息,如网上银行、社区、论坛等,都存在这样的威胁。所以现在网上银行、大部分Web邮箱采用HTTPS,进行安全防护。另外,用户自己也要提高网络安全意识,不要轻易在WWW上传输敏感的信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。