六款主流免费网络嗅探软件wireshark,tcpdump,dsniff,Ettercap,NetStumbler

一、WireSharkphp

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

  WireShark具备以下所示的特色:web

  (1) 支持多种操做系统平台,能够运行于Windows、Linux、Mac OS X10.5.五、Solaris和FreeBSD等操做系统上;正则表达式

  (2) 支持超过上千种的网络协议,而且还会不断的增长对新协议的支持;浏览器

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

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

  (5) 支持对经过IPsec、ISAKMP、Kerberos、SNMPv三、SSL/TLS、WEP和网络

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

  (6) 能够实时获取来自以太网、IEEE 802.十一、PPP/HDLC、ATM、蓝牙、令牌环和FDDI(光纤)等网络中的数据包;ssh

  (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上下载。

  WireShark在Windows和Linux系统下安装以前,首先你得保证系统上已经安装了Winpcap或Linpcap。下图1.1就是WireShark在Windows系统下运行时的主界面。

  二、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系统控制台下运行时的界面。

    三、 DSniff

  DSniff是一个很是强大的网络嗅探软件套件,它是最早将传统的被动嗅探方式向主动方式改进的网络嗅探软件之一。DSniff软件套件中包含了许多具备特殊功能的网络嗅探软件,这些特殊的网络嗅探软件可使用一系列的主动攻击方法,将网络流量从新定向到网络嗅探器主机,使得网络嗅探器有机会捕获到网络中某台主机或整个网络的流量。这样一来,咱们就能够将DSniff在交换或路由的网络环境中,以及Cable modem拔号上网的环境中使用。甚至,当安装有DSniff的网络嗅探器不直接链接到目标网络当中,它依然能够经过运程的方式捕获到目标网络中的网络报文。DSniff支持Telnet 、Ftp、Smtp、P0P三、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/上下载。

  四、 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及以上版本。

  上面所示的文件,咱们均可以从http://ettercap.sourceforge.net/download.php网站下载。

  五、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/网站下 载。图5.1是NetStumbler启动后的主界面。

  1

  图5.1 NetStumbler的主界面

  六、Kismet

  Kismet 一个基于IEEE802.11系统标准的无线网络检测、嗅探软 件,以及入侵检测系统,它是一个开源的、免费的软件。Kismet可以与绝大多数支持RF监控模式的无线适配器一块儿工做。例如PRISM二、2.五、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系统字符终端下运行的界面。

  1

  图6.1 Kismet在Linux系统字符终端下运行的界面

  在以太网中,还有一些网络嗅探软件也是比较经常使用的。例如Sniffer Pro网络协议分析软件,它能够在多种平台下运行,用来对网络运行情况进行实时分析,并且又有丰富的图示功能。以及Analyzer,它是一个运行在Windows操做系统下的免费的网络嗅探软件。另外,还一些商业性质的网络嗅探软件,虽然它们须要支付必定的费用,可是,它们的功能也是没得说的,其中比较著名的表明就是EtherPeek套件。

  用网络分析器来为咱们工做

  如今,你已经知道如何将你的网络分析器连入到你的网络结构中了,就能够着手使用网络分析器来为自 己进行各类网络管理或安全管理等工做的时候了。网络分析器,主要用来帮助进行系统管理,解决网络疑难问题,进行安全管理这三方面的工做。下面就对这三个方 面的具体内容进行详细说明。

  1、使用网络分析器来进行系统管理

  一台处于网络中的主机,对于出现的一些关于网络连通性相关的问题,在经过一些常规的网络命令工具(如ping命令)不能肯定是系统仍是网络服务器出现问题时,就能够经过网络分析器来分析某种网络协议(如TCP协议)的工做方式,来肯定问题所在。

  如今经过一个解决TCP链接的例子来讲明如何使用网络协议来帮助系统管理的。

  通常要完成一个成功的TCP链接,必需通过三层握手,咱们能够经过使用网络分析器来分析TCP链接过程当中的三次握手时的响应标志,就以发现问题的所在。一共有如下三种状况:

  一、有SYN标志,没有SYN+ACK标志。

  当网络分析器捕获的包中只有客户机的SYN包,但没有来自服务器响应的SYN+ACK标志包,那么,就能够说明服务器不能处理数据包,可能缘由是被防火墙类设备阻止。

  二、SYN后服务器当即响应RST。

  这种方式说明目标服务器的所对应的服务没有开放对应的正确端口。从新绑定商品对应的服务上就能够解决这个问题。

  三、SYN SYN+ACK ACK 当即关闭。

  若是TCP创建链接后当即关闭,多是因为目标服务器拒绝使用包中源IP地址的客户机链接服务器。检查服务器中的防火墙及其它安全软件中的访问控制列表,将客户机的IP地址添加到信任列表当中。

  2、使用网络分析器来解决网络疑难问题

  网络管理的一个基本职能,就是应当尽可能解决网络中出现的各类故障,以确保网络可以正常运行。解决 网络故障的关键,就是应当尽快找到故障出现的位置,而后肯定故障产生的缘由。有一种方法能够帮助咱们可以加快解决网络故障的速度,就是在网络的各个关键位 置布置网络分析器。这样,你就能够经过网络分析器来了解如今网络传输速度,网络会话过程是否正常,检测有哪些设备出现了故障,故障产生的缘由是什么等等。

  还有,为了快速正确地解决网络问题,在事先制定一个解决问题的策略是一个很好的方法。这会最大限度地减小在处理故障过程当中出现的人为失误。一个好的处理网络故障的步骤通常应包括如下几个方面:

  发现问题-认识问题-问题分类-隔离问题-验证和测试问题的原由-解决问题-验证问题是否真的被解决。

  3、使用网络分析器来进行安全管理

  网络分析器是一个很是好的网络协议分析工具,用它不只能找到一些网络应用程序在数据传输过程当中的 缺点,例如FTP和Telnet都是经过明文方式来传输数据的,所以,网络分析器能垂手可得地捕获到这些数据包中的重要信息(如用户名和密码)。由此,也 可使用网络分析器来检查其它须要在网络中使用的网络协议的传输是否安全。

  同时,咱们还可使用网络分析器来检查存于系统中的蠕虫病毒传播的源头,以及诸如拒绝服务攻击产生的源头等等。

  所以,使用网络分析器来分析网络流量,能够帮助咱们找到网络安全弱点,强化咱们的安全策略。

相关文章
相关标签/搜索