网络通信 频道

从入门到精通:网络监听技术全解

  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) 

0
相关文章