找出局域網中的ARP欺騙

原創文章,轉載請保留以下信息
作者:ipist (ipist#126.com)
來源:[url]http://www.51cto.com[/url]
 
    最近發現還有不少朋友深受ARP欺騙的困擾,在這裏簡單寫上幾句,便於大家理
解ARP欺騙,解決ARP欺騙。
 
    ARP欺騙僅存在於局域網中,局域網是依賴MAC地址作爲源地址、目的地址來傳
輸數據幀的。由於網絡層通過IP地址傳輸數據包,因此在局域網傳輸數據過程中需
要將IP地址轉爲對應的MAC地址用於數據幀傳輸,負責這項工作的就是ARP協議。在
IP地址轉MAC地址時首先查找本機的ARP緩存,如果找不到請求的目標IP對應的MAC地
址,則廣播ARP request包請求解析該IP對應的MAC地址,局域網中所有的設備均能
收到到該廣播包,當某設備發現該包的目的IP是自己時,便發送ARP reply包回答對
方自己的MAC地址。局域網中每一個ARP包(無論request、還是reply),都包含源
IP地址、源MAC地址、目的IP地址、目的MAC地址。改變源IP地址、源MAC地址或目的
IP地址、目的MAC地址間的對應關係也就實現了ARP欺騙。而在局域網中任意構造一
個ARP包都可以更新PC端腁RP緩存。這樣就導致局域網ARP欺騙很容易實現,檢查
ARP欺騙存在的關鍵也就在於檢查ARP緩存中的IP-MAC對應關係是否正確。
 
    實際網絡中存在多樣的欺騙方式,但都是通過廣播精心構造的ARP包來修改PC端
ARP緩存中的IP-MAC對應關係,只是選擇了修改“源IP地址、源MAC地址、目的IP地
址、目的MAC地址”其中某項實現欺騙目的。
 
1、PC端:
   如果是windows系統在cmd模式下,執行arp-a,顯示當前系統ARP緩存表,檢查緩
存中的IP-MAC對應關係是否正確,正常情況下IP-MAC是一一對應的。另外可先使用
arp-d清除當前ARP緩存表,再開始觀察是否存在ARP欺騙的情況。
   如果是unix/linux客戶端,使用/etc/arp -a檢查ARP緩存信息。
 
2、網絡設備端:
   通過show arp命令檢測ARP緩存信息。
    如果某MAC地址對應多個IP地址,則說明該MAC地址的PC正在廣播ARP欺騙包(如
果某設備存在多IP地址,這種情況是正常的)。另一種惡意欺騙是該MAC地址在局域
網中根本就不存在。
 
    還有個比較簡單的方法,裝個sniffer監聽網絡中所有ARP包,由於ARP欺騙往往
使用廣播形式傳播,即使在交換機環境下也明顯能監聽到某PC端正在狂發ARP包。
 
    下面簡單介紹一下ARP欺騙解決方案:
1、PC端,增加IP-MAC綁定,不讓局域網中的ARP包輕易修改自己的ARP緩存。
2、網關、路由器端,同PC端一樣增加IP-MAC綁定。
3、如果是可網管型交換機,可以在交換機中實現IP-MAC綁定。
   據觀察現在的ARP欺騙,往往都是在網關(路由器)與PC端之間實現欺騙,可以
在交換機上設置只允許接網關(路由器)的交換機口允許發送源IP爲網關(路由器
)IP的數據幀;設置只允許接網關(路由器)的交換機口允許發送源MAC爲網關(路
由器)MAC的數據幀。這樣可以有效防止PC端被ARP欺騙,但在網關(路由器)端,
還必須進行IP-MAC一一綁定以防網關(路由器)被欺騙。
 
    本人不善言辭,寫的比較亂,不知道大家能否看明白,如有疑問,非常樂意共同
探討,感謝光臨寒舍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章