ARP協議的概念和防火墻
ARP協議的相關問題,對于網絡體系不清楚的朋友總會遇到不少而且不知道從何入手解決。例如網絡常常掉線,頻繁遭遇IP沖突。更有很多其他問題,例如擔心通訊數據受到監控(如MSN、QQ、EMAIL)?你的網絡速度是否受到網管軟件限制(如聚生網管、P2P終結者)?你是否深受各種ARP協議攻擊軟件之苦(如網絡執法官、網絡剪刀手、局域網終結者)?以上各種問題的根源都是ARP欺騙(ARP攻擊)。
在沒有ARP欺騙之前,數據流向是這樣的:網關<->本機。ARP欺騙之后,數據流向是這樣的:網關<->攻擊者(“網管")<->本機,本機與網關之間的所有通訊數據都將流經攻擊者(“網管"),所以“任人宰割"就在所難免了。 ARP防火墻通過在系統內核層攔截虛假ARP數據包以及主動通告網關本機正確的MAC地址,可以保障數據流向正確,不經過第三者,從而保證通訊數據安全、保證網絡暢通、保證通訊數據不受第三者控制,從而完美的解決上述所有問題。
【ARP協議防火墻九大功能】
1. 攔截ARP攻擊。
(A) 在系統內核層攔截外部虛假ARP數據包,保障系統不受ARP欺騙、ARP攻擊影響,保持網絡暢通及通訊安全;
(B) 在系統內核層攔截本機對外的ARP攻擊數據包,以減少感染惡意程序后對外攻擊給用戶帶來的麻煩;
2. 攔截IP沖突。在系統內核層攔截IP沖突數據包,保障系統不受IP沖突攻擊的影響;
3. Dos攻擊抑制。在系統內核層攔截本機對外的TCP SYN/UDP/ICMP/ARP DoS攻擊數據包,定位惡意發動DoS攻擊的程序,從而保證網絡的暢通;
4. 安全模式。除了網關外,不響應其它機器發送的ARP Request,達到隱身效果,減少受到ARP攻擊的幾率;
5. ARP數據分析。分析本機接收到的所有ARP數據包,掌握網絡動態,找出潛在的攻擊者或中毒的機器;
6. 監測ARP緩存。自動監測本機ARP緩存表,如發現網關MAC地址被惡意程序篡改,將報警并自動修復,以保持網絡暢通及通訊安全;
7. 主動防御。主動與網關保持通訊,通告網關正確的MAC地址,以保持網絡暢通及通訊安全;
8. 追蹤攻擊者。發現攻擊行為后,自動快速鎖定攻擊者IP地址;
9. ARP病毒專殺。發現本機有對外攻擊行為時,自動定位本機感染的惡意程序、病毒程序;#p#
【ARP協議工作原理簡介】
ARP是Address Resolution Protocol(地址轉換協議)的簡稱,是TCP IP協議中最底層的協議之一。它的作用是完成IP地址到MAC(物理地址)的轉換。在局域網中兩臺計算機之間的通訊,或者局域網中的計算機將IP數據報轉發給網關的時候,網卡都需要知道目標計算機的物理地址,以填充物理幀中的目的地址。
現在假設同一以太網中的計算機A(192.168.0.1)需要向計算機B(192.168.0.2)發送數據報,而此時A尚不知道B的物理地址。
為了獲得B的物理地址,A在局域網上發送ARP廣播,查詢192.168.0.2這個物理地址,同時在ARP包中填入自己的物理地址Ma,相當于發出這樣的詢問“誰拿了192.168.0.2這個地址?請回Ma這個物理地址。"
計算機B在收到了這個查詢以后,以Ma為目的地址發回一個ARP包,里面包含了自己的物理地址。這樣通訊的雙方都了解了對方的物理地址,通訊過程正式建立。 通常ARP協議都在支持廣播的網絡上使用,比方以太網,這種數據包不能跨物理網段使用,即不能跨越一個路由器(除路由器本身還用作ARP代理以外)。
在實際的ARP協議軟件的實現中還有一些應該注意的事項:
每臺計算機上都有一個ARP緩沖,它保存了一定數量的從IP地址到MAC地址的映射,同時當一個ARP廣播到來時,雖然這個ARP廣播可能與它無關,但ARP協議軟件也會把其中的物理地址與IP地址的映射記錄下來,這樣做的好處是能夠減少ARP報在局域網上發送的次數。
同時,ARP緩沖中IP地址與物理地址之間的映射并不是一但生成就永久有效,每一個ARP映射表項都有自己的時延,如果過了一定的時間還沒有新的ARP到來,那么這個ARP映射就從緩沖中被刪除了。那么下一次計算機向這個IP地址發送數據包的時候必須來一次新的查詢。
本地網絡IP 查找的原理 事實上Windows 本身就用ARP來確定自己的IP地址是否與網絡上的另一臺計算機發生了沖突。當一個ARP包到來時,Windows 如果檢查到其中的IP地址與本機上的相同,而物理地址不同,這時Windows 就會向用戶報告這個IP地址已經被別人占用。
非常有意思的是,Windows 對待IP地址是以先來后到的順序分配,如果已經有人先占了,那么本機的網絡接口就會被禁用。這也是非常惱人的“特色"因為一旦開機后有了第一次沖突,以后的任何網絡操作就都無效了。
Windows XP 有了一定的進步,它在發現沖突以后并不禁用接口,而是允許用戶進行修復。其實用sniffer可以看到所謂的“修復"也不過是發了幾個ARP協議包出去,把IP“搶"回來。 在以前的文章中我描述了一個用ICMP 回送請求(類似PING)進行IP查找的程序。
這個程序用并發的幾十個線程同時PING網絡上的多臺計算機,如果回送請求被正確的應答了,那么可以認為這個IP地址已經被占用,如果沒有,我們就宣稱它是空閑的。然而它有優點也有缺點,其優點是能夠PING很遠的計算機,即使不在同一個物理網段上,缺點是當目標計算機上安裝了防火墻并禁止了ICMP包,或者采用了防ICMP flood 攻擊的規則以后都有可能讓ICMP回送請求得不到應答。