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