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