關(guān)于arp防火墻哪個(gè)軟件好,ARP防火墻是什么這個(gè)問(wèn)題很多朋友還不知道,今天小六來(lái)為大家解答以上的問(wèn)題,現(xiàn)在讓我們一起來(lái)看看吧!
1、ARP防火墻就是局域網(wǎng)防火墻!詳細(xì)地說(shuō):ARP防火墻通過(guò)在系統(tǒng)內(nèi)核層攔截虛假ARP數(shù)據(jù)包以及主動(dòng)通告網(wǎng)關(guān)本機(jī)正確的MAC地址,可以保障數(shù)據(jù)流向正確,不經(jīng)過(guò)第三者。
2、從而保證通訊數(shù)據(jù)安全、保證網(wǎng)絡(luò)暢通、保證通訊數(shù)據(jù)不受第三者控制。
3、包括 攔截ARP攻擊、攔截IP沖突、Dos攻擊抑制、ARP數(shù)據(jù)分析等功能。
4、 網(wǎng)絡(luò)經(jīng)常掉線、發(fā)生IP沖突、擔(dān)心通訊數(shù)據(jù)受到監(jiān)控(如MSN、QQ、EMAIL)、網(wǎng)絡(luò)速度受到網(wǎng)管軟件限制(如聚生網(wǎng)管、P2P終結(jié)者)、甚至深受各種ARP攻擊軟件之苦(如網(wǎng)絡(luò)執(zhí)法官、網(wǎng)絡(luò)剪刀手、局域網(wǎng)終結(jié)者)等這些問(wèn)題是我們上網(wǎng)時(shí)經(jīng)常遇到呃,而這些問(wèn)題的產(chǎn)生 ,根源都是ARP欺騙(ARP攻擊)。
5、在沒(méi)有ARP欺騙之前,數(shù)據(jù)流向是這樣的:網(wǎng)關(guān)<->本機(jī)。
6、ARP欺騙之后,數(shù)據(jù)流向是這樣的:網(wǎng)關(guān)<->攻擊者(“網(wǎng)管”)<->本機(jī),本機(jī)與網(wǎng)關(guān)之間的所有通訊數(shù)據(jù)都將流經(jīng)攻擊者(“網(wǎng)管”),所以“任人宰割”就在所難免了。
7、 ?? ARP攻擊: ?? ARP防火墻通過(guò)在系統(tǒng)內(nèi)核層攔截虛假ARP數(shù)據(jù)包以及主動(dòng)通告網(wǎng)關(guān)本機(jī)正確的MAC地址,可以保障數(shù)據(jù)流向正確,不經(jīng)過(guò)第三者,從而保證通訊數(shù)據(jù)安全、保證網(wǎng)絡(luò)暢通、保證通訊數(shù)據(jù)不受第三者控制,從而完美的解決上述所有問(wèn)題。
8、 編輯本段功能 攔截攻擊 (1) 在系統(tǒng)內(nèi)核層攔截外部虛假ARP數(shù)據(jù)包,保障系統(tǒng)不受ARP欺騙、ARP攻擊影響,保持網(wǎng)絡(luò)暢通及通訊安全; (2) 在系統(tǒng)內(nèi)核層攔截本機(jī)對(duì)外的ARP攻擊數(shù)據(jù)包,以減少感染惡意程序后對(duì)外攻擊給用戶帶來(lái)的麻煩; 攔截IP沖突 在系統(tǒng)內(nèi)核層攔截IP沖突數(shù)據(jù)包,保障系統(tǒng)不受IP沖突攻擊的影響; Dos攻擊抑制 在系統(tǒng)內(nèi)核層攔截本機(jī)對(duì)外的TCP SYN/UDP/ICMP/ARP DoS攻擊數(shù)據(jù)包,定位惡意發(fā)動(dòng)DoS攻擊的程序,從而保證網(wǎng)絡(luò)的暢通; 安全模式 除了網(wǎng)關(guān)外,不響應(yīng)其它機(jī)器發(fā)送的ARP Request,達(dá)到隱身效果,減少受到ARP攻擊的幾率; P數(shù)據(jù)分析 分析本機(jī)接收到的所有ARP數(shù)據(jù)包,掌握網(wǎng)絡(luò)動(dòng)態(tài),找出潛在的攻擊者或中毒的機(jī)器; 監(jiān)測(cè)緩存 自動(dòng)監(jiān)測(cè)本機(jī)ARP緩存表,如發(fā)現(xiàn)網(wǎng)關(guān)MAC地址被惡意程序篡改,將報(bào)警并自動(dòng)修復(fù),以保持網(wǎng)絡(luò)暢通及通訊安全; 主動(dòng)防御 主動(dòng)與網(wǎng)關(guān)保持通訊,通告網(wǎng)關(guān)正確的MAC地址,以保持網(wǎng)絡(luò)暢通及通訊安全; ?? ARP防火墻追蹤攻擊者 發(fā)現(xiàn)攻擊行為后,自動(dòng)快速鎖定攻擊者IP地址; 病毒專殺 發(fā)現(xiàn)本機(jī)有對(duì)外攻擊行為時(shí),自動(dòng)定位本機(jī)感染的惡意程序、病毒程序; 編輯本段工作原理 ?? ARP防火墻ARP是Address Resolution Protocol(地址轉(zhuǎn)換協(xié)議)的簡(jiǎn)稱,是TCP/IP協(xié)議中最底層的協(xié)議之一。
9、它的作用是完成IP地址到MAC(物理地址)的轉(zhuǎn)換。
10、在局域網(wǎng)中兩臺(tái)計(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ī)的物理地址,以填充物理幀中的目的地址。
11、 現(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的物理地址。
12、為了獲得B的物理地址,A在局域網(wǎng)上發(fā)送ARP廣播,查詢192.168.0.2這個(gè)物理地址,同時(shí)在ARP包中填入自己的物理地址Ma,相當(dāng)于發(fā)出這樣的詢問(wèn)“誰(shuí)拿了192.168.0.2這個(gè)地址?請(qǐng)回Ma這個(gè)物理地址。
13、”計(jì)算機(jī)B在收到了這個(gè)查詢以后,以Ma為目的地址發(fā)回一個(gè)ARP包,里面包含了自己的物理地址。
14、這樣通訊的雙方都了解了對(duì)方的物理地址,通訊過(guò)程正式建立。
15、 通常ARP協(xié)議都在支持廣播的網(wǎng)絡(luò)上使用,比方以太網(wǎng),這種數(shù)據(jù)包不能跨物理網(wǎng)段使用,即不能跨越一個(gè)路由器(除路由器本身還用作ARP代理以外)。
16、 ?? ARP防火墻在實(shí)際的ARP協(xié)議軟件的實(shí)現(xiàn)中還有一些應(yīng)該注意的事項(xiàng):每臺(tái)計(jì)算機(jī)上都有一個(gè)ARP緩沖,它保存了一定數(shù)量的從IP地址到MAC地址的映射,同時(shí)當(dāng)一個(gè)ARP廣播到來(lái)時(shí),雖然這個(gè)ARP廣播可能與它無(wú)關(guān),但ARP協(xié)議軟件也會(huì)把其中的物理地址與IP地址的映射記錄下來(lái),這樣做的好處是能夠減少ARP報(bào)在局域網(wǎng)上發(fā)送的次數(shù)。
17、同時(shí),ARP緩沖中IP地址與物理地址之間的映射并不是一但生成就永久有效,每一個(gè)ARP映射表項(xiàng)都有自己的時(shí)延,如果過(guò)了一定的時(shí)間還沒(méi)有新的ARP到來(lái),那么這個(gè)ARP映射就從緩沖中被刪除了。
18、那么下一次計(jì)算機(jī)向這個(gè)IP地址發(fā)送數(shù)據(jù)包的時(shí)候必須來(lái)一次新的查詢。
19、 本地網(wǎng)絡(luò)IP 查找的原理。
20、事實(shí)上Windows 本身就用ARP來(lái)確定自己的IP地址是否與網(wǎng)絡(luò)上的另一臺(tái)計(jì)算機(jī)發(fā)生了沖突。
21、當(dāng)一個(gè)ARP包到來(lái)時(shí),Windows 如果檢查到其中的IP地址與本機(jī)上的相同,而物理地址不同,這時(shí)Windows 就會(huì)向用戶報(bào)告這個(gè)IP地址已經(jīng)被別人占用。
22、非常有意思的是,Windows 對(duì)待IP地址是以先來(lái)后到的順序分配,如果已經(jīng)有人先占了,那么本機(jī)的網(wǎng)絡(luò)接口就會(huì)被禁用。
23、這也是非常惱人的“特色”因?yàn)橐坏╅_(kāi)機(jī)后有了第一次沖突,以后的任何網(wǎng)絡(luò)操作就都無(wú)效了。
24、Windows XP 有了一定的進(jìn)步,它在發(fā)現(xiàn)沖突以后并不禁用接口,而是允許用戶進(jìn)行修復(fù)。
25、其實(shí)用sniffer可以看到所謂的“修復(fù)”也不過(guò)是發(fā)了幾個(gè)ARP包出去,把IP“搶”回來(lái)。
26、 ?? ARP防火墻在以前的文章中我描述了一個(gè)用ICMP 回送請(qǐng)求(類似PING)進(jìn)行IP查找的程序。
27、這個(gè)程序用并發(fā)的幾十個(gè)線程同時(shí)PING網(wǎng)絡(luò)上的多臺(tái)計(jì)算機(jī),如果回送請(qǐng)求被正確的應(yīng)答了,那么可以認(rèn)為這個(gè)IP地址已經(jīng)被占用,如果沒(méi)有,我們就宣稱它是空閑的。
28、然而它有優(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回送請(qǐng)求得不到應(yīng)答。
29、 ARP的優(yōu)點(diǎn)與缺點(diǎn)正好與ICMP相反。
30、它無(wú)法跨物理網(wǎng)段進(jìn)行IP查找,但是由于沒(méi)有防火墻禁止ARP包的通過(guò)(想想看,如果禁止了ARP包,也就等于不讓人家知道你的物理地址,那么實(shí)際上也就是將自己的計(jì)算機(jī)同網(wǎng)絡(luò)斷開(kāi)了),所以ARP包的IP查找結(jié)果一定是非常精準(zhǔn)的。
31、 ?? ARP防火墻在實(shí)現(xiàn)了一個(gè)原始的ARP IP查找版本以后,我發(fā)現(xiàn)其結(jié)果并不準(zhǔn)確,有些已經(jīng)沒(méi)有人使用的IP地址被錯(cuò)誤的報(bào)成有人占用了,難道我的判斷是錯(cuò)誤的?當(dāng)然不,這種錯(cuò)誤的原因是在Windows 的ARP緩沖中。
32、實(shí)際上,在發(fā)送一個(gè)ARP報(bào)文的時(shí)候,Windows會(huì)首先檢查本機(jī)的ARP緩沖,如果發(fā)現(xiàn)了已經(jīng)有對(duì)應(yīng)的ARP表項(xiàng),而且還沒(méi)有過(guò)期的話,Windows 并不會(huì)發(fā)送這個(gè)報(bào)文,而是直接返回給調(diào)用者這個(gè)ARP表項(xiàng)的內(nèi)容。
33、這樣一來(lái),假設(shè)有計(jì)算機(jī)中途掉網(wǎng),而它的ARP表項(xiàng)還沒(méi)有過(guò)期,那么這個(gè)程序仍然能夠得到它的IP到MAC的映射,自然也就會(huì)錯(cuò)誤的宣稱這個(gè)IP地址還在使用中了。
34、在運(yùn)行這個(gè)程序前,我使用arp –d(事實(shí)上,在看了本文以后,你就可以實(shí)現(xiàn)一個(gè)這樣的arp程序了)這個(gè)命令來(lái)刪除緩沖中所有的ARP表項(xiàng),然后得到的結(jié)果就非常準(zhǔn)確了。
35、IP Helper API 提供了管理ARP緩沖的過(guò)程,所以我修改了這個(gè)程序,把a(bǔ)rp –d的功能集成到了自己的程序中來(lái)。
36、如果看看《使用TCP/IP協(xié)議實(shí)際網(wǎng)際互連(第二卷)》你就會(huì)明白ARP協(xié)議軟件中的諸多問(wèn)題。
37、 IP Helper API GetIpNetTable 函數(shù)能夠提取出本機(jī)上的所有ARP表項(xiàng)。
38、使用它的方法與上一篇文章中使用的函數(shù)相當(dāng)?shù)念愃?,你也必須兩次使用它,第一次獲得緩沖的大小,而第二次獲得實(shí)際的ARP表。
39、這個(gè)映射表是以數(shù)組的方式指出的。
40、其結(jié)構(gòu)如下: typedef struct _MIB_IPNETTABLE { DWORD dwNumEntries; //數(shù)組的大小 MIB_IPNETROW table[ANY_SIZE]; //數(shù)組本身 } MIB_IPNETTABLE, *PMIB_IPNETTABLE; 而MIB_IPNETROW 的定義: typedef struct _MIB_IPNETROW { DWORD dwIndex; // 網(wǎng)絡(luò)接口的索引號(hào) DWORD dwPhysAddrLen; // 物理地址長(zhǎng)度 BYTE bPhysAddr[MAXLEN_PHYSADDR]; // 物理地址 DWORD dwAddr; // IP地址 DWORD dwType; // ARP表項(xiàng)類型 ?? ARP防火墻} MIB_IPNETROW, *PMIB_IPNETROW; 其中dwType 即ARP表項(xiàng)類型是比較重要的東西,因?yàn)槟承〢RP表項(xiàng)一但設(shè)定就不再改變,比方本機(jī)地址的ARP表項(xiàng)和默認(rèn)網(wǎng)關(guān)的地址表項(xiàng)等等,這些ARP表項(xiàng)并不會(huì)“過(guò)期”,除非網(wǎng)絡(luò)故障或者設(shè)置改變了以后,會(huì)重新生成一次ARP查詢。
41、這種表項(xiàng)被稱為“靜態(tài)”的。
42、此時(shí)dwType的值為4。
43、在程序中,我們不必刪除這類表項(xiàng)(雖然刪了它們也不會(huì)造成什么后果)。
44、 然而在實(shí)際的程序中,我使用了FlushIPNetTable這個(gè)函數(shù)來(lái)刪除特定網(wǎng)卡上的ARP緩沖。
45、 然后是刪除一個(gè)表項(xiàng)的DeleteIpNetEntry,修改表項(xiàng)的SetIpNetEntry 和添加表項(xiàng)的CreateIpNetEntry 。
46、還有兩個(gè)管理代理ARP表項(xiàng)的函數(shù),關(guān)于代理ARP,可以看看《使用TCP/IP 協(xié)議實(shí)現(xiàn)網(wǎng)際互連(第一卷)》關(guān)于ARP代理的部分,由于與我們的程序無(wú)關(guān),就不做介紹了。
47、 最后需要詳述的函數(shù)是SendARP。
48、它的原型如下: DWORD SendARP( IPAddr DestIP, // 目的IP 地址 IPAddr SrcIP, // 源IP地址,可選參數(shù),把它填成0不會(huì)有問(wèn)題 PULONG pMacAddr, // 返回的物理地址 PULONG PhyAddrLen // 物理地址的長(zhǎng)度。
本文分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!