网络监听简介4

Arp方式监听的防范
对付采用arp方式的监听也是个比较棘手的问题,有几个不是非常理想的对策。

首先还是上面提到的加密,尽可能的让局域网内的传输的数据都是秘文的,这个可能相对最理想的防范方法,但实施起来可能有一点困难。有一点要注意,ssh1是不安全的,我们提到的dsniff和ettercap都可以对ssh1实施中间人的监听。

另外,还可以考虑指定静态arp,如大多数unix系统支持arp读取指定的ip和mac地址对应文件,首先编辑内容为ip和mac地址对照的文件,然后使用命令:arp -f /path/to/ipandmacmapfile读取文件,这样就指定了静态的arp地址,即使接收到arp reply,也不会更新自己的arp缓存,从而使arpspoof丧失作用。windows系统没有-f这个参数,但有-s参数,用命令行指定ip和mac地址对照关系,如arp -s 192.168.1.33 00-90-6d-f2-24-00,可惜除了xp外,其它的版本的window平台即使这样做,当接收到伪造的arp reply后,依然会更新自己的arp缓存,用新的mac地址替换掉老的mac地址,所以无法对抗arpspoof。而且采用静态arp有一个缺憾,就是如果网络很大的话,工作量会非常的大。

Arp方式监听的检测
首先是借助检测ip地址和mac地址对应的工具,如arpwatch,安装了arpwatch的系统在发生mac地址变化时会在系统的日志文件中看到如下提示
Apr 21 23:05:00 192.168.1.35 arpwatch: flip flop 192.168.1.33 0:90:6d:f2:24:0 (8:0:20:c8:fe:15)
Apr 21 23:05:02 192.168.1.35 arpwatch: flip flop 192.168.1.33 8:0:20:c8:fe:15 (0:90:6d:f2:24:0)
Apr 21 23:05:03 192.168.1.35 arpwatch: flip flop 192.168.1.33 0:90:6d:f2:24:0 (8:0:20:c8:fe:15)


从提示中可以看出arpwatch检测到了网关mac地址发生了改变。

其次借助于一些入侵检测系统,如snort,亦可以起到的一定的检测作用。在snort的配置文件中打开arpspoof的preprocessor开关并进行配置即可。

作者本人试验发现,如果采用本地解析时,观测局域网本地的dns服务器的反解是一个好的办法,因为发起arpspoof的主机会不间断的尝试正反解析冒充的网关ip,发送数量非常多的重复解析数据包,当怀疑有arpspoof时很容易被发现,如下:
nameserver# tcpdump -n -s 0 port 53
tcpdump: listening on hme0
23:19:22.489417 192.168.1.35.41797 > 192.168.1.68.53: 32611+ PTR? 33.224.102.202.in-addr.arpa. (45) (DF)
23:19:22.490467 192.168.1.35.41798 > 192.168.1.68.53: 32611+ PTR? 33.224.102.202.in-addr.arpa. (45) (DF)


结束语:
上面我们介绍了网络监听技术的几个主要方面,包括网络监听的主要技术细节,具体实现,检测方法等。此外还介绍了一种非传统的监听方式,通过本文,希望读者能对网络监听产生一些认识。

参考资料

Richard stevens: 《TCP/IP Illustrated, Volume 1: The Protocols》
Dsniff网站:http://www.monkey.org/~dugsong/dsniff/
Attacks Against SSH 1 And SSL的讨论:http://slashdot.org/articles/00/12/18/0759236.shtml
ettercap网站:http://ettercap.sourceforge.net/

posted @ 2006-10-12 13:59  lanjue  阅读(155)  评论(0编辑  收藏  举报