现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

六款最主流的免费网络嗅探软件全接触

2014-06-20 20:32 工业·编程 ⁄ 共 7098字 ⁄ 字号 暂无评论

     要如何才能找到网络传输的性能瓶颈?要如何才能快速定位已经失效了的网络设备?以及要如何才能迅速找到网络病毒传播或拒绝服务攻击的源头?一些专业的网络分析设备可以用来解决这些问题,但是它们的价格也是相当昂贵的,这对于一对成本控制比较敏感的中小企业和普通用户来说,是不能承受的。很幸运的是,网络嗅探器软件的出现,就为我们提供了一种即方便,又便宜的可视化和专业的网络分析解决方案。在本文中,我将给大家介绍六款主流的免费网络嗅探软件,希望给一些对此有兴趣的朋友提供一个选择参考。

相关阅读

    ----Wireshark, Sniffer and Omnipeek 三款网络分析工具的比较

1、WireShark

WireShark是一个开源免费的高性能网络协议分析软件,它的前身就是非常著名的网络分析软件Ethereal。你可以使用它来解决网络疑难问题,进行网络协议分析,以及作为软件或通信协议的开发参考,同时也可以用来作为学习各种网络协议的教学工具等等。WireShark支持现在已经出现了绝大多数的以太网网卡,以及主流的无线网卡。

WireShark具有如下所示的特点:

(1) 支持多种操作系统平台,可以运行于Windows、Linux、Mac OS X10.5.5、Solaris和FreeBSD等操作系统上;

(2) 支持超过上千种的网络协议,并且还会不断的增加对新协议的支持;

(3) 支持实时捕捉,然后可在离线状态下进行分析;

(4) 支持对VOIP数据包进行分析;

(5) 支持对通过IPsec、ISAKMP、Kerberos、SNMPv3、SSL/TLS、WEP和

WPA/WPA2等协议加密了的数据包解密;

(6) 可以实时获取来自以太网、IEEE 802.11、PPP/HDLC、ATM、蓝牙、令牌环和FDDI(光纤)等网络中的数据包;

(7) 支持读取和分析许多其它网络嗅探软件保存的文件格式,包括Tcpdump、Sniffer pro、EtherPeek、Microsoft Network Monitor和CISCO Secure IDS 等软件;

(8) 支持以各种过滤条件进行捕捉,支持通过设置显示过滤来显示指定的内容,并能以不同的颜色来显示过滤后的报文;

(9) 具有网络报文数据统计功能;

(10) 可以将它捕捉到的数据导出为XML、PostScript、CSV及普通文本文件的格式。

运行WireShark所需的文件:

现在WireShark的最终版本是1.0.5,我们可以到www.wireshark.org/download/上下载它。如果WireShark要在Windows系统下运行时,还需要一个名为Winpcap的驱动库,现在它的稳定版本是WinPcap 4.0.2,最新的测试版本是WinPcap 4.1 beta3,我们可以从http://www.winpcap.org上下载。如果是在Linux系统下使用时,就应当使用Libpcap驱动库,它现在的版本是Libpcap1.0.0,我们可以从www.tcpdump.org上下载。

2、Tcpdump和Windump

Tcpdump是一个老牌的使用最频繁的网络协议分析软件之一,它是一个基于命令行的工具。Tcpdump通过使用基本的命令表达式,来过滤网络接口卡上要捕捉的流量。它支持现在已经出现了绝大多数的以太网适配器。

Tcpdump是一个工作在被动模式下的网络嗅探器。我们可以用它来在Linux系统下捕获网络中进出某台主机接口卡中的数据包,或者整个网络段中的数据包,然后对这些捕获到的网络协议(如TCP、ARP)数据包进行分析和输出,来发现网络中正在发生的各种状况。例如当出现网络连通性故障时,通过对TCP三次握手过程进行分析,可以得出问题出现在哪个步骤。而许多网络或安全专家,都喜欢用它来发现网络中是否存在ARP地址欺骗。我们也可以将它捕获到的数据包先写入到一个文件当中,然后用WireShark等有图形界面的嗅探器读取和分析。

它的命令格式为:

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需要的文件:

Tcpdump可以很好地运行在UNIX、Linux和Mac OSX操作系统上,它现在的最新版本是TCPDUMP 4.0.0,我们可以从www.tcpdump.org上下载它的二进制包。同时,要运行它,也需要系统中安装有Libpcap1.0.0这个驱动库。

Tcpdump在Windows系统下的版本就是Windump,它也是一个免费的基于命令行方式的网络分析软件。当然,我们在使用Windump之前,同样要确保系统中已经安装有WinPcap 4.0.2驱动库。下图2.1就是Tcpdump在Linux系统控制台下运行时的界面。

3、 DSniff

DSniff是一个非常强大的网络嗅探软件套件,它是最先将传统的被动嗅探方式向主动方式改进的网络嗅探软件之一。DSniff软件套件中包含了许多具有特殊功能的网络嗅探软件,这些特殊的网络嗅探软件可以使用一系列的主动攻击方法,将网络流量重新定向到网络嗅探器主机,使得网络嗅探器有机会捕获到网络中某台主机或整个网络的流量。这样一来,我们就可以将DSniff在交换或路由的网络环境中,以及Cable modem拔号上网的环境中使用。甚至,当安装有DSniff的网络嗅探器不直接连接到目标网络当中,它依然可以通过运程的方式捕获到目标网络中的网络报文。DSniff支持Telnet 、Ftp、Smtp、P0P3、HTTP,以及其它的一些高层网络应用协议。它的套件当中,有一些网络嗅探软件具有特殊的窃取密码的方法,可以用来支持对SSL和SSH加密了的数据进行捕获和解密。DSniff支持现在已经出现了的绝大多数的以太网网卡。

我们可以使用DSniff来验证我们的安全防范设置是否可靠,以及用来监控使用交换机或路由器的网络环境中网络的运行情况。但我们在使用DSniff之前,最好先考虑清楚它本身可能会给我们带来的新的安全风险,以防止造成不必要的损失。

DSniff套件当中,主要包含有以下几个方面的网络嗅探软件:

(1)、arpspoof(arp欺骗):通过它来进行ARP地址欺骗,将网络流量重定向到网络嗅探主机,然后就机会捕捉到网络数据包;

(2)、dnsspoof(dns欺骗):通过它来进行DNS欺骗。它有一个非常重要的功能就是webmitm,这种功能主要是用来捕获SSL和SSH加密了的数据;

(3)、mailsnarf:它可以将SMTP方式发送的E-Mail信息,重新组装成一种MBOX格式,然后就可以离线状态下被一些邮件收发软件读取;

(4)、filesnart:它可以用来得到以NFS、SMB方式传输的文件的一个副本;

(5)、urlsnart:它可以嗅探到来自HTTP流量中所有发送的URLs 请求,并保存为通用日志文件(CLF)格式。这种日志文件可以被大多数的WEB服务器所使用,可以在离线的状态下被WEB日志分析工具读取;

(6)、webspy :它能将从客户处嗅探到的URL地址,发送到攻击者的WEB浏览器中显示。并且实时更新,攻击者就可以看到你到底浏览了哪些网站;

(7)、msgsnarf :用它可以对一些实时聊天软件进行嗅探;

(8)、screenspy :用进行屏幕监控;

(9)、macof:它使用MAC地址溢出攻击方法来攻击交换机。通过不断向交换机

发送包含有冒充的MAC地址的数据包,以此来溢出交换机的MAC地址表。

此时,交换就会以广播的方式发送所接收到的数据包。它一般在上述嗅探软件

前使用;

(10)、tcpkill:一种拒绝服务攻击(DoS)。主要用来切断与合法主机的网络连接,保证嗅探工作的正常进行。它一般在上述嗅探软件前使用。

运行DSniff所需的文件:

DSniff可以Linux和Windows操作系统平台下使用,它支持绝大多数的Linux

发行版本和Windows 2000以上的版本。DSniff现在在Linux中的版本是dsniff-2.4。我们可以从www.monkey.org上下载dsniff-2.4b1.tar.gz这个包。当我们在Linux系统平台中使用DSniff时,还需要以下的几个文件:

(1)、dsniff-2.4-configure.in.diff补丁包;

(2)、dsniff-2.4-sshow.c.diff补丁包;

(3)、libnet-1.0.2a.tar.gz;

(4)、libnids-1.16-1.i386.rpm;

(5)、libpcap-0.4-39.i386.rpm;

如果安装了上述文件还不能正常工作,我们还必需安装db4.1.25和openssl。上述的这些文件可以在www.xfocus.net/tools/上下载。

如果要在Windows系统平台下使用,我们就需要以下的这些文件:

(1)、dsniff-1.8-win32-static.tgz;

(2)、libnids-1.16-win32.zip;

(3)、libevent-0.6-win32.zip;

(4)、winpcap4.0及以上版本。

它们也可以从www.xfocus.net/tools/上下载。

4、 Ettercap

Ettercap也是一个高级网络嗅探软件,它可以在使用交换机的网络环境中使用。Ettercap能够对大多数的网络协议数据包进行解码,不论这个数据包是不是加密过了的。它也支持现在已经出现了的绝大多数以太网网卡。Ettercap还拥有一些独特的方法,用来捕获主机或整个网络的流量,并对这些流量进行相应的分析。

Ettercap具有如下所示的特点:

(1)、判断网络中活动主机的操作系统类型;

(2)、得到网络中所有活动主机的IP地址和MAC地址;

(3)、可以指定以静态或被动模式进行工作;

(4)、可以从指定的过滤规则文件中加入过滤规则;

(5)、具有包过滤功能,在数据流量比较大的情况下让你便于得到需要的信息。

(6)、可以用来收集网络中以明文方式传输的用户名和密码;

(7)、可以将捕获到的数据保存到指定位置的文件中;

(8)、可以用来检测网络中是否还有其它活动的嗅探器;

(9)、支持以插件的方式来扩展功能;

(10)、可以通过一些主动的攻击,来得到加密了的数据;

(11)、它内建了许多攻击方法,如ARP地址欺骗,以及字符注入攻击等。

Ettercap的大部分特性与DSniff相似。它可以在字符模式下使用,也可以在使用Ncurses based GUI和GTK2接口的图形界面上使用。当我们安装完Ettercap以后,就可以用“-T”选项指定它运行在字符模式下,以“-C”选项指定它运行在使用Ncurses based GUI的图形模式下,还可以“-G”选项指定它运行在使用GTK2接口的图形模式下。Ettercap的命令格式如下:

Ettercap [选项] [host:port] [host:port] [mac] [mac]

它有许多选项,我们可以在字符模式下输入“ettercap –help”命令来得到它们的说明。

运行Ettercap所需的文件:

Ettercap可以Linux、Windows、FreeBSD 、OpenBSD 、NetBSD 、Mac OS X 及Sloaris等操作系统平台中运行。

当我们在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及以上版本。

 

5、NetStumbler

NetStumbler是一个用来寻找使用IEEE802.11a/b/g标准的无线局域网工具。它支持 包括PCMCIA 无线适配器在内的绝大多数主流无线适配器,同时,还加入了对全球 GPS 卫星定位系统的支持。

NetStumbler可以完成以下的工作:

(1)、用来进行“战争驾驶”;

(2)、用来验证无线客户和无线AP的配置是否存在弱点;

(3)、用来寻找一些可以接入的无线局域网所在的方位。

(4)、用来检测干扰无线局域网信号的原因;

(5)、用来检测一些没有经过授权的无线接入点;

(6)、用来得到无线局域网的SSID值。

运行NetStumbler所需的文件:

NetStumbler可以在Windows98及以上的操作系统版本中运行,它还有一个精简版本,用来在Windows CE系统下使用。

NetStumbler是一个免费的软件,它现在的最新版本是NetStumbler0.4.0,Windows CE下最新的版本是MiniStumbler0.4.0。这两个安装包你都可以从www.netstumbler.com/downloads/网站下载。

6、Kismet

Kismet 一个基于IEEE802.11系统标准的无线网络检测、嗅探软件,以及入侵检测系统,它是一个开源的、免费的软件。Kismet能够与绝大多数支持RF监控模式的无线适配器一起工作。例如PRISM2、2.5、3和GT无线芯片,以及Orinoco Gold和Atheros a/b/g无线芯片的无线适配器。当无线适配器处于监控模式(monitoring mode)时,它可以嗅探到兼容IEEE802.11a/b/g标准的无线网络中传输的网络流量。Kismet主要以被动的方式对无线网络进行嗅探,来检测出标准的无线网络名称,包括隐藏了SSID值的无线网络也能够被检测到。

Kismet具有以下的特点:

(1)、能将嗅探到的文件保存为Tcpdump等软件可以读取的格式;

(2)、能检测出无线网络现在所使用的IP地址范围;

(3)、能检测出无线网络中安装有NetStumbler软件的主机,以此来找到非法无线接入者;

(4)、能检测出隐藏了的无线网络SSID值;

(5)、与GPS合作,绘制无线访问点和无线客户所在位置的网络地图;

(6)、使用客户/服务器体系结构;

(7)、可识别无线访问点和无线客户中无线适配器的制造商和工作模式;

(8)、能找出无线访问点和无线客户现在存在的弱点;

(9)、可以解码通过WEP加密的数据包;

(10)、可以和其它软件合作,来扩展这些软件的应用范围。例如可以与snort网络入侵检测系统合作;

运行Kismet所需的文件:

Kismet可以在Linux2.0及以上的发行版本中运行得很好。在刚开始时,它只支持Linux系统平台,现在,它也有运行在Windows2000及以上系统下的版本。

当Kismet在 Linux发行版本中运行,我们可以从http://www.kismetwireless.net/download.shtml下载Kismet-2008-05-R1文件。如果要在Windows2000及以上系统中运行,我们就需要从上述相同网站中下载setup_kismet_2008-05-R1.exe安装文件,还必需从www.cacetech.com/support/downloads.htm 下载AirPcap的setup_airpcap_3_2_1.exe文件。图6.1就是Kismet在Linux系统字符终端下运行的界面。

给我留言

留言无头像?