让我们从Dug Song的、支持Dsniff的ARPspoof程序开始吧。我使用的Unix版本,但是你可以找到Win32版本的。运行Dsniff最简单的方法就是从恢复启动CD启动。首先你应该确定包转发已经开启,不然我们的机器会丢弃所有我们想要嗅探的主机之间的传输,导致服务无响应。我用的一些工具会自动进行这项工作(比如Ettercap),但是保险起见,你也许会希望自己来做这件事。根据操作系统的不同,你可以使用如下的命令:
Linux:
|
BSD:
|
现在你的计算机将把转发所有的传输,现在你可以开始ARP欺骗了。我们假设你想要嗅探一个主机和网关之间的所有传输,这样你就可以看到它发送到网络上的所有数据。如果想要获得双向的所有传输,你应当使用如下2个命令行:
|
“& >/dev/nul”部分是为了使它在终端运行起来更容易,但是为了debug,你可能想要忽略它。现在你可以使用你想要的任何套件来嗅探连接。新手的话,我推荐使用Dsniff,它支持ARPspoof来嗅探纯文本密码。用Dsniff开始嗅探,你只需退出到命令窗口并输入:
|
Dsniff找到用户名和密码后,它会将它们显示在屏幕上。如果你想要查看所有其他传输,我推荐你使用TCPDump或者 Wireshark。如果想要停止ARP欺骗,输入如下命令:
|
另一个很棒的工具是Ettercap,它相当于ARP病毒和密码嗅探界的瑞士军刀。我通常在非互动模式中使用它,但是默认情况下它的交互界面非常友好,使用起来很方便。如果你想要使用Ettercap来进行ARP病毒,你可以使用下面示范的命令例句。如果我们的目标是网络上的所有主机,想要嗅探每个节点之间的所有传输,我们可以用下列命令:
|
你应当谨慎的使用上面那段命令,因为如果把一个大网络中所有的传输都通过一台很慢的计算机的话,那么这很有可能使整个网络连接瘫痪。
我们可以找个替罪羊,来看看Ip地址为192.168.1.1的主机,我们可以使用如下命令:
|
如果192.168.1.1是网关,我们应该可以看到所有的输出传输。下面是这些命令行选项的功能:
-T 告诉Ettercap使用文字界面,我最喜欢这个选项,因为GUI模式太复杂了。
-q 让Ettercap安静些,换句话说就是少些冗长的文字报告。
-M 让Ettercap我们想要使用的MITM(人参与其中)方式,本例中是ARP病毒。
其他工具
我还想说很多其他的工具。首先就是Cain,这个Windows用户会觉得很好用。总之,它功能强大,操作简单。
如果你喜欢漂亮的图形界面,Cain就是你很好的选择之一。它不像Ettercap那么多选项,但是很酷也有很多Windows附加功能。
还有为了查看特定内容的专门的嗅探器。Driftnet能够分析出人们上网看到的图片。
这些也是嗅探器比如P0f,它让你被动得知网络传输的操作系统。
以上说的只是众多专门的嗅探器中的一小部分,仅仅是冰山的一角。
减轻嗅探攻击的危害
人们可以使用不少方法来缓解嗅探攻击的危害:
1.不使用像HTTp验证以及Telnet这些不安全的协议。事实上,你应当嗅探自己的网络,看看这些工具都列出了哪些能提取的密码。
2.如果你不得不使用不安全的协议,那你最好能把敏感信息加密后再传送出去。
3.察看临界工作站和服务器之间的静态ARP表。这种方法不易维持,但是可以限制arp欺骗。
4.运行ARPWatch等软件来检测你的网络物理地址,看看它是不是变成指向嗅探器的了。
5.运行Sniffdet和Sentinel来检测网卡是否出于混杂模式,是否运行了嗅探软件。
6.让从外部进入你的设备的、使用Wi-Fi的笔记本使用VPN来连接到网络。
7.锁住工作站,这样用户就无法安装嗅探软件或者像Knoppix那样从CD运行嗅探软件。
8.把员工工作站和服务器与公共终端隔离到不同的局域网中。
希望这篇文章能给你提供些许帮助。