原創文章,轉載請保留以下資訊
作者: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一一綁定以防網關(路由器)被欺騙。
本人不善言辭,寫的比較亂,不知道大家能否看明白,如有疑問,非常樂意共同
探讨,感謝光臨寒舍。
本文轉自ipist 51CTO部落格,原文連結:http://blog.51cto.com/ipist/11356,如需轉載請自行聯系原作者