ARP欺騙原理
再仔細看了一下ARP數據包,終于恍然大悟欺騙原理。是這樣的,為了能和其他機器通訊,局域網上的各個機器都緩存了ARP列表(ARP列表可以簡單理解成“一個IP地址對應一個MAC地址”)。機器要通過網關和其他機器通訊,其實是在局域網內發了查詢ARP請求(可以簡單理解成“網關啊,請把你的MAC地址告訴我好嗎?”);網關收到此類請求后,就會發送ARP回應報文,回應網關的MAC。這樣,某個機器就會把通訊數據發到網關的MAC上。
那么運行了p2pOver之類的軟件后是怎么欺騙的呢?簡單起見,我們設使用了p2pOver的機器為”A”,”A”的MAC地址為”M”。
首先,”A”通過ARP查詢得到真實的網關MAC,和不停地輪詢局域網上其他主機(IP)及其MAC。
其次,”A”不停地給局域網上其他主機發送偽造的ARP回應報文:告訴他們網關的MAC是”M”;
同時,”A”也不停給交換機發送偽造的ARP回應報文:告訴真正的網關局域網上所有主機的MAC地址為”M”。
因為是不停地發送報文,到了最后:局域網上的其他主機以為網關就是”A”,真正的網關以為局域網上的所有通訊只來自”A”。也就是”A”變成了事實上的中轉中心:不僅可以截取其他主機的流量和數據,還能隨心所欲地截斷網絡通訊。
ARP欺騙防治
從欺騙原理,不難推出防治關鍵就是想辦法不接收錯誤的ARP回應報文:
1) 使用智能交換機,綁定網內所有IP-MAC。這樣也就不需要ARP查詢才能知道MAC。
2) 還有一個辦法,就是在網內所有機器上綁定死網關的MAC(下面適用于WinXP):
在網絡正常情況下:arp -a 網關IP(如192.168.1.1),查詢到正確的網關MAC
然后綁定網關MAC:arp -s 網關IP 網關MAC
在執行arp -a,看到網關IP和MAC是靜態(Static)的,就可以了
posted on 2007-06-13 14:46 旅途 閱讀(300) 評論(0) 編輯 收藏 引用 所屬分類: 網絡技術