网络嗅探软件之间的不同之处,主要是依靠一些特性来区分的。例如一些网络嗅探软件只支持以太网适配器或无线适配器,而有些却支持多种类型的适配器,并且允许用户定制;还有,尽管许多网络嗅探软件可以解码相同的网络协议,但是,其中的某些嗅探软件就有可能比其它的嗅探软件更适合你的网络结构。究竟哪一款网络嗅探软件才适合你,只有在你充分了解了自己的需求,以及详细了解了网络嗅探软件的功能特点后,才能够做出正确的选择。
一、以太网下常用的网络嗅探软件
1、WireShark
WireShark是一个基于开源的免费的具有商业品质的高性能网络分析软件,它的前身就是非常著名的网络分析软件Ethereal。你可以使用它来解决网络疑难问题,进行网络协议分析,以及作为软件或通信协议的开发参考,同时也可以用来作为学习各种网络协议的教学工具等等。WireShark支持现已经出现了绝大多数的以太网适配器,以及主流的无线适配器。
具有的特点:
(1)
、支持多种操作系统平台,可以运行于
Windows
,
Linux
,
OS X
,
Solaris
,
FreeBSD
等操作系统上。
(2)
、支持超过上千种的网络协议,并且会不断的增加新的协议支持;
(3)
、支持实时捕捉,然后可在离线状态下进行分析;
(4)
、支持VOIP分析;
(5)
、在它的图形界面中,使用标准的三个显示框来分别显示实时信息、高层协议信息和二进信息,它还有一个支持字符模式的版本“TShark”;
(6)
、支持对通过
IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and
WPA/WPA2
等协议加密了的数据包解密
;
(7)
、可以实时获取来自
Ethernet
,
IEEE 802.11
,
PPP/HDLC
,
ATM
,
Bluetooth
,
USB
,
Token Ring
,
Frame Relay
,
FDDI
等网络中的数据包
;
(8)
、支持读取和保存许多其它网络嗅探软件保存的文件格式。包括Tcpdump,Sniffer pro,EtherPeek,Microsoft Network Monitor,CISCO Secure IDS IPLOG等软件;
(9)
、支持以各种过滤条件进行捕捉,支持通过设置显示过滤来显示指定的内容,并能以不同的颜色来显示过滤后的报文;
(10)
、具有网络报文数据统计功能;
(11)
、可以将它捕捉到的数据导出为
XML
、
PostScript
、
CSV
及普通文本文件的格式。
需求的文件:
现在它的最终版本是WireShark0.99.8,你可以在www.wireshark.org/download/上下载它。当要将WireShark在Windows系统下运行时,还需要Winpcap驱动库。现在它稳定版本是WinPcap 4.0.2,最新的测试版本是WinPcap 4.1 beta3,你可以从http://www.winpcap.org上下载。如果是在Linux系统下使用时,就应当使用Libpcap驱动库,它现在的版本是
Libpcap0.9.8
,你可以从www.tcpdump.org上下载。
WireShark在Windows和Linux系统下安装之前,首先你得保证系统上已经安装了Winpcap或Linpcap。下图2.1就是WireShark在Windows系统下运行时的主界面。
图2.1 WireShark在Windows系统下运行时的主界面
2、Tcpdump
Tcpdump是一个老牌的使用最频繁的网络协议分析软件之一,它是一个基于命令行的工具。Tcpdump通过使用基本的命令表达式,来过滤网络接口卡上要捕捉的流量。它支持现在已经出现了绝大多数的以太网适配器。
Tcpdump是一个工作在被动模式下的网络嗅探器。你可以用它来在Linux系统下捕获网络中进出某台主机接口卡中的数据包,或者整个网络段中的数据包,然后对这些捕获到的网络协议(如TCP、ARP)数据包进行分析和输出,来发现网络中正在发生的各种状况。例如当出现网络连通性故障时,通过对TCP三次握手过程进行分析,可以得出问题出现在哪个步骤。而许多网络或安全专家,都喜欢用它来发现网络中是否存在ARP地址欺骗。你也可以将它捕获到数据包先写入到一个文件当中,然后用WireShark等有图形界面的嗅探器读取和再分析。
它的命令格式为:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名]
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名]
[ -s snaplen] [ -T 类型 ] [ -w 文件名 ] [表达式 ]
你可以使用-i参数来指定要捕捉的网络接口卡,用-r来读取已经存在的捕捉文件,用-w来将捕捉到的数据写入到一个文件中。至于其它的参数,你可以从它的man文档中得到详细的说明,或者你可以输入“tcpdump –-help”来到它的帮助信息。
Tcpdum有一个非常重要的特点就是可以使用正则表达式来作为过滤网络报文的条件,这使得它的使用变得非常灵活。你可以通过它内建的各种关键字来指定想要过滤的条件,一旦一个网络数据包满足表达式的条件,则这个数据包就会被捕获。如果你没有给出任何条件,那么所有通过指定网络接口卡中的网络报文都会被捕获。
Tcpdump使用以下三种类型的关键字:
(1)、用于表式类型的关键字,主要有Host、Net和Port。它们分别用来指定主机的IP地址、指定网络地址和指定端口。如果你没有指定关键字,它就会使用缺省的Host类型。
(2)、用于表式传输方向的关键字,主要有Src、Dst。分别用来指定要捕捉的源IP地址是什么或目的IP地址是什么的包。
(3)、用来表式捕捉什么协议的关键字,主要有ip,arp,tcp,udp等。
这些关键字之间可以使用逻辑运算关键字来连接,以便于你指定某个范围或排除某个主机等。这些逻辑运算关键字也有三个,分别是取非运算“not”,或者可以用“!”符号表示;与运算“and”,可以用“&&” 符号表示;或运算“or”,可以用“||”符号表示。
Tcpdump的关键字还有很多,我就不在此全部列出。你可以通过它的帮助文档来得到它们的详细说明。
支持的系统平台:
Tcpdump可以很好地运行在UNIX、Linux和Mac OSX操作系统上,现在还可以运行在Windows操作系统下。
需要的文件:
Tcpdump是一个基于开源的免费的网络嗅探软件,它现在的最新版本是TCPDUMP 3.9.8。你可以从www.tcpdump.org上下载它的二进制包。当然你也可得到它的RPM安装包,但是得通过邮件列表的方式才能得到。同时,你还应当从www.tcpdump.org网站上下载到Libpcap0.9.8这个驱动库,如果要在Windows系统下使用,还应当从www.winpcap.org网站上下载winpcap4.0及以上的版本。
在Windows系统下还有一个基于Tcpdump技术开发的版本Windump。它也是一个免费的基于命令行方式的网络分析软件。当然,你在使用Windump之前,你应当确保你的Windows系统中已经安装了winpcap。Windump和winpcap都可以从www.winpcap.org网站上下载。
3、
Ettercap
Ettercap也是一个高级网络嗅探软件。它可以在使用交换机的网络环境当中使用。Ettercap能够对大多数的网络协议数据包进行解码,不论这个数据包是不是加密过了的。它也支持现在已经出现了的绝大多数以太网适配器。它还拥有一些独特的方法,用来捕获主机或整个网络的流量,并对这些流量进行相应的分析。
Ettercap具有如下所示的特点:
(1)、判断网络中活动主机的操作系统类型;
(2)、得到网络中所有活动主机的IP地址和MAC地址;
(3)、可以指定以静态或被动模式进行工作;
(4)、可以从指定的过滤规则文件中加入过滤规则;
(5)、具有包过滤功能,在数据流量比较大的情况下让你便于得到需要的信息。
(6)、可以用来收集网络中以明文方式传输的用户名和密码;
(7)、可以将捕获到的数据保存到指定位置的文件中;
(8)、可以用来检测网络中是否还有其它活动的嗅探器;
(9)、支持以插件的方式来扩展功能;
(10)、可以通过一些主动的攻击,来得到加密了的数据;
(11)、它内建了许多攻击方法,如ARP地址欺骗,以及字符注入攻击等。
Ettercap的大部分特性与DSniff相似之处,因此,它也是许多攻击者非常喜爱的嗅探软件之一。Ettercap可以工作在字符模式,也可以在使用Ncurses based GUI和GTK2接口的图形界面上工作。当你安装完Ettercap以后,你可以用“-T”选项指定它运行在字符模式下,以“-C”选项指定它运行在使用Ncurses based GUI的图形模式下,还可以“-G”选项指定它运行在使用GTK2接口的图形模式下。它的命令格式如下:
Ettercap [选项] [host:port] [host:port] [mac] [mac]
它有许多选项,你可以在字符模式下输入“ettercap –help”命令来得到它们的说明。
支持的系统平台
Ettercap支持Linux2.0及以上、Windows2000及以上、FreeBSD 4.x0及
以上、OpenBSD 2.0及以上、NetBSD 1.5 、Mac OS X 6.0及以上、Sloaris2.0及以上操作系统。
需要的文件
当你在Linux下使用Ettercap嗅探软件时,你应当有下列所有的文件:
(1)、ettercap-NG-0.7.3.tar.gz;
(2)、libpcap >= 0.8.1;
(3)、libnet >= 1.1.2.1;
(4)、libpthread;
(5)、zlib。
如果你还要在图形界面中使用或者还想得到SSH和SSL加密了的数据。你还应当得到下列的文件:
(1)、libltdl,它是libtool的一部分;
(2)、libpcre;
(3)、openssl 0.9.7;
(4)、ncurses >= 5.3;
(5)、pkgconfig >= 0.15.0;
(6)、Glib >= 2.4.x、Pango >= 1.4.x。
如果你想要在Windows系统下使用它,你应当拥有以下的文件:
(1)、Ettercap-NG-0.7.3-win32.exe;
(2)、winpcap4.0及以上版本。
上述在Linux发行版本中使的文件,你可以在http://ettercap.sourceforge.net/download.php网站下载到。Ettercap在Windows系统下的安装包,你可以在http://sourceforge.net/project/showfiles.php?group_id=17435上下载。你还可以在www.xfocus.net/tools/网站上找到它们。图2.4就是Ettercap在Windows系统下的主界面。
图2.4 Ettercap在Windows系统下的主界面
在以太网中,还有一些网络嗅探软件也是比较常用的。例如Sniffer Pro网络分析软件,它可以在多种平台下运行,用来对网络运行状况进行实时分析,而且又有丰富的图示功能。以及Analyzer,它是一个运行在Windows操作系统下的免费的网络嗅探软件。另外,还一些商业性质的网络嗅探软件,虽然它们需要支付一定的费用,但是,它们的功能也是没得说的,其中比较著名的代表就是EtherPeek套件。
本文转自 雪源梅香 51CTO博客,原文链接:
http://blog.51cto.com/liuyuanljy/174182
,如需转载请自行联系原作者