一種基于網(wǎng)絡(luò)設(shè)備的arp報文管理方法
【專利摘要】本發(fā)明提供了一種解決ARP欺騙、ARP風(fēng)暴等網(wǎng)絡(luò)攻擊的基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法,包括如下步驟:(1)判斷報文是否是ARP報文;(2)判斷網(wǎng)絡(luò)層MAC和ARP的MAC地址是否一致;(3)判斷源IP地址是否在IP-MAC對應(yīng)表中存在;(4)判斷源IP地址、源MAC地址是否在IP-MAC對應(yīng)表中存在;(5)更新源IP地址和源MAC地址在IP-MAC對應(yīng)表中的對應(yīng)項的生命周期;(6)增加源IP地址和源MAC地址到IP-MAC對應(yīng)表;(7)向源設(shè)備發(fā)送IP沖突的ARP報文,轉(zhuǎn)至步驟(15);(8)判斷是ARP請求報文還是應(yīng)答報文;(9)查詢IP-MAC對應(yīng)表是否存在查詢的IP信息;(10)返回ARP應(yīng)答數(shù)據(jù)報文。
【專利說明】—種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種ARP報文的管理方法,尤其是一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法。
【背景技術(shù)】
[0002]ARP(Address Resolut1n Protocol,地址解析協(xié)議)的基本功能是通過目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC (Media Access Control,媒體訪問控制)地址,以保證通信的順利進(jìn)行。它是IPv4中網(wǎng)絡(luò)層必不可少的協(xié)議。
[0003]在以太網(wǎng)協(xié)議中規(guī)定,同一局域網(wǎng)中的一臺主機要和另一臺主機進(jìn)行直接通信,必須要知道目標(biāo)主機的MAC地址。而在TCP/IP協(xié)議中,網(wǎng)絡(luò)層和傳輸層只關(guān)心目標(biāo)主機的IP地址。這就導(dǎo)致在以太網(wǎng)中使用IP協(xié)議時,只包含目標(biāo)主機的IP地址。于是,需要一種方式,要根據(jù)目標(biāo)主機的IP地址,獲得其MAC地址。這就是ARP協(xié)議要做的事情。所謂地址解析就是主機在發(fā)送數(shù)據(jù)幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過程。
[0004]通常情況下,網(wǎng)絡(luò)通信的過程如下:
[0005]假如網(wǎng)絡(luò)中存在一臺網(wǎng)絡(luò)交換設(shè)備網(wǎng)絡(luò)設(shè)備和三臺主機PC1、PC2、PC3,主機的 IP 地址分別為 192.168.1.1,192.168.1.2,192.168.1.3,MAC 地址分別為11-11-11-11-11-11、22-22-22-22-22-22、33-33-33-33-33-33。
[0006]如果PCl要向PC2發(fā)送數(shù)據(jù),則需要經(jīng)過以下步驟:
[0007](I)PCl查詢本地ARP緩存中是否存在PC2(192.168.1.2)的IP-MAC對應(yīng)關(guān)系,如果存在則轉(zhuǎn)至步驟(6)。
[0008](2)向網(wǎng)絡(luò)發(fā)送ARP請求報文,查詢PC2 (192.168.1.2)的MAC地址。
[0009](3)網(wǎng)絡(luò)設(shè)備向所有主機(端口)分發(fā)步驟(2)中的ARP請求報文。
[0010](4)PC2收到PCl發(fā)來的ARP請求報文,判斷自己是192.168.1.2后向PCl返回帶有MAC地址(22-22-22-22-22-22)的ARP應(yīng)答信息;PC3收到PCl發(fā)來的ARP請求報文后,判斷自己不是192.168.1.2后丟棄該報文。
[0011](5)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)PC2發(fā)送的ARP應(yīng)答信息到PCl
[0012](6) PCl 向 PC2 (22-22-22-22-22-22)發(fā)送信息。
[0013](7)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)PCl的信息到PC2。
[0014]因為在ARP協(xié)議標(biāo)準(zhǔn)中,網(wǎng)絡(luò)主機會無條件的接收和響應(yīng)ARP應(yīng)答信息。在這種設(shè)計下,可以很容易的實現(xiàn)ARP欺騙等方式的攻擊,造成網(wǎng)絡(luò)傳輸數(shù)據(jù)的泄漏或斷網(wǎng)等網(wǎng)絡(luò)的不穩(wěn)定的情況。
[0015]網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)男孤崿F(xiàn)步驟如下:
[0016](I) PC3向PCl發(fā)送一個ARP響應(yīng)報文,報文中欺騙PCl說PC2的MAC地址為33-33-33-33-33-33 ο
[0017](2)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)PC3向PCl轉(zhuǎn)發(fā)的虛假ARP應(yīng)答報文。
[0018](3) PCl向PC2發(fā)送數(shù)據(jù),判斷到自己的IP-MAC緩存中存在PC2 (192.168.1.2)->33-33-33-33-33-33 的信息,所以向假的 PC2 (33-33-33-33-33-33)發(fā)送信息。
[0019](4)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)PCl發(fā)送到虛假PC2的信息到PC3。
[0020](5)PC3收到PCl發(fā)來的信息。導(dǎo)致PCl向PC2發(fā)送的數(shù)據(jù)泄漏給PC3主機。
[0021]網(wǎng)絡(luò)欺騙方式造成斷網(wǎng)的實現(xiàn)步驟如下:
[0022](I) PC3向PCl發(fā)送一個ARP響應(yīng)報文,報文中欺騙PCl說PC2的MAC地址為AA-AA-AA-AA-AA-AA。
[0023](2)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)PC3向PCl轉(zhuǎn)發(fā)的虛假ARP應(yīng)答報文。
[0024](3)PCl向PC2發(fā)送數(shù)據(jù),判斷到自己的IP-MAC緩存中存在PC2(192.168.1.2) >> AA-AA-AA-AA-AA-AA 的信息,所以向假的 PC2 (AA-AA-AA-AA-AA-AA)發(fā)送信息。
[0025](4)網(wǎng)絡(luò)設(shè)備中不存在MAC地址為AA-AA-AA-AA-AA-AA的主機,所以此報文被丟棄。
[0026]網(wǎng)絡(luò)廣播風(fēng)暴造成的網(wǎng)絡(luò)不穩(wěn)定的實現(xiàn)步驟如下:
[0027](1)PC3向網(wǎng)絡(luò)中發(fā)送任意ARP請求報文。
[0028](2)網(wǎng)絡(luò)設(shè)備向所有主機(端口)分發(fā)PC3發(fā)送的ARP請求報文。
[0029](3)轉(zhuǎn)至步驟(I)。
[0030]因為ARP請求報文會經(jīng)過網(wǎng)絡(luò)設(shè)備分發(fā)到所有的主機(端口)。當(dāng)ARP請求報文不停的從PC3發(fā)出,當(dāng)把整個網(wǎng)絡(luò)帶寬耗盡時,網(wǎng)絡(luò)上的所有主機都會因為搶奪帶寬而造成網(wǎng)絡(luò)不穩(wěn)定。
[0031]當(dāng)前,最有效的解決辦法就是在網(wǎng)絡(luò)設(shè)備上做IP-MAC地址的綁定。但是在實際的應(yīng)用中,這樣會給網(wǎng)絡(luò)管理員帶來大量的前期工作量和后期管理復(fù)雜度。
【發(fā)明內(nèi)容】
[0032]本發(fā)明提供了一種解決ARP欺騙、ARP風(fēng)暴等網(wǎng)絡(luò)攻擊的基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法。
[0033]實現(xiàn)本發(fā)明目的的一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法,包括如下步驟:
[0034](I)判斷報文是否是ARP報文;如果是轉(zhuǎn)至步驟(3),否則轉(zhuǎn)至步驟(13);
[0035](2)判斷網(wǎng)絡(luò)層MAC和ARP的MAC地址是否一致;如果是轉(zhuǎn)至步驟(3);否則轉(zhuǎn)至步驟(15);
[0036](3)判斷源IP地址是否在IP-MAC對應(yīng)表中存在;如果是轉(zhuǎn)至步驟⑷,否則轉(zhuǎn)至步驟⑶;
[0037](4)判斷源IP地址、源MAC地址是否在IP-MAC對應(yīng)表中存在;如果是轉(zhuǎn)至步驟
(5),否則轉(zhuǎn)至步驟(7);
[0038](5)更新源IP地址和源MAC地址在IP-MAC對應(yīng)表中的對應(yīng)項的生命周期,轉(zhuǎn)至步驟⑶;
[0039](6)增加源IP地址和源MAC地址到IP-MAC對應(yīng)表,轉(zhuǎn)至步驟(8);
[0040](7)向源設(shè)備發(fā)送IP沖突的ARP報文,轉(zhuǎn)至步驟(15);
[0041](8)判斷是ARP請求報文還是應(yīng)答報文;如果是請求報文轉(zhuǎn)至步驟(9),否則轉(zhuǎn)至步驟(12);
[0042](9)查詢IP-MAC對應(yīng)表是否存在查詢的IP信息;如果存在轉(zhuǎn)至步驟(10),否則轉(zhuǎn)至步驟(11);
[0043](10)返回ARP應(yīng)答數(shù)據(jù)報文,轉(zhuǎn)至步驟(15);
[0044](11)由網(wǎng)絡(luò)設(shè)備在網(wǎng)絡(luò)上發(fā)送或轉(zhuǎn)發(fā)對應(yīng)ARP請求報文,并記錄到“發(fā)送請求報文主機列表”,轉(zhuǎn)至步驟(15);
[0045](12)查詢是否存在“發(fā)送請求報文主機列表”,如果存在則向記錄中的設(shè)備發(fā)送或轉(zhuǎn)發(fā)ARP應(yīng)答報文,轉(zhuǎn)至步驟(15);
[0046](13)判斷報文源IP地址、源MAC地址和目標(biāo)IP地址、目標(biāo)MAC地址是否在IP-MAC對應(yīng)表中存在;如果存在轉(zhuǎn)至步驟(14),否則,丟棄當(dāng)前以太網(wǎng)報文并轉(zhuǎn)至步驟(15);
[0047](14)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)以太網(wǎng)報文;
[0048](15)結(jié)束以太網(wǎng)報文處理。
[0049]本發(fā)明的一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法的有益效果如下:
[0050]本發(fā)明的一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法,網(wǎng)絡(luò)設(shè)備將不再轉(zhuǎn)發(fā)任何來自主機的ARP報文(包括ARP請求報文和ARP應(yīng)答報文)。所有的ARP信息和報文都由網(wǎng)絡(luò)設(shè)備本身來維護(hù)及應(yīng)答;大大降低了 ARP欺騙、ARP風(fēng)暴等網(wǎng)絡(luò)攻擊。
【專利附圖】
【附圖說明】
[0051]圖1為本發(fā)明的一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法的流程圖。
【具體實施方式】
[0052]如圖1所示,本發(fā)明的一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法如下:
[0053](I)判斷報文是否是ARP報文;如果是轉(zhuǎn)至步驟(3),否則轉(zhuǎn)至步驟(13);
[0054](2)判斷網(wǎng)絡(luò)層MAC和ARP的MAC地址是否一致;如果是轉(zhuǎn)至步驟(3);否則轉(zhuǎn)至步驟(15);
[0055](3)判斷源IP地址是否在IP-MAC對應(yīng)表中存在;如果是轉(zhuǎn)至步驟⑷,否則轉(zhuǎn)至步驟⑶;
[0056](4)判斷源IP地址、源MAC地址是否在IP-MAC對應(yīng)表中存在;如果是轉(zhuǎn)至步驟
(5),否則轉(zhuǎn)至步驟(7);
[0057](5)更新源IP地址和源MAC地址在IP-MAC對應(yīng)表中的對應(yīng)項的生命周期,轉(zhuǎn)至步驟⑶;
[0058](6)增加源IP地址和源MAC地址到IP-MAC對應(yīng)表,轉(zhuǎn)至步驟(8);
[0059](7)向源設(shè)備發(fā)送IP沖突的ARP報文,轉(zhuǎn)至步驟(15);
[0060](8)判斷是ARP請求報文還是應(yīng)答報文;如果是請求報文轉(zhuǎn)至步驟(9),否則轉(zhuǎn)至步驟(12);
[0061](9)查詢IP-MAC對應(yīng)表是否存在查詢的IP信息;如果存在轉(zhuǎn)至步驟(10),否則轉(zhuǎn)至步驟(11);
[0062](10)返回ARP應(yīng)答數(shù)據(jù)報文,轉(zhuǎn)至步驟(15);
[0063](11)由網(wǎng)絡(luò)設(shè)備在網(wǎng)絡(luò)上發(fā)送或轉(zhuǎn)發(fā)對應(yīng)ARP請求報文,并記錄到“發(fā)送請求報文主機列表”,轉(zhuǎn)至步驟(15);
[0064](12)查詢是否存在“發(fā)送請求報文主機列表”,如果存在則向記錄中的設(shè)備發(fā)送或轉(zhuǎn)發(fā)ARP應(yīng)答報文,轉(zhuǎn)至步驟(15);
[0065](13)判斷報文源IP地址、源MAC地址和目標(biāo)IP地址、目標(biāo)MAC地址是否在IP-MAC對應(yīng)表中存在;如果存在轉(zhuǎn)至步驟(14),否則,丟棄當(dāng)前以太網(wǎng)報文并轉(zhuǎn)至步驟(15);
[0066](14)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)以太網(wǎng)報文;
[0067](15)結(jié)束以太網(wǎng)報文處理。
[0068]實施例1
[0069]本實施例為模擬PCl向PC2發(fā)送數(shù)據(jù)報文,處理流程如下:
[0070](I)PCl (192.168.1.1)向網(wǎng)絡(luò)發(fā)送對 PC2 (192.168.1.2)的 ARP 請求報文。
[0071](2)網(wǎng)絡(luò)設(shè)備驗證PCl的合法性。網(wǎng)絡(luò)設(shè)備從本地的IP-MAC對應(yīng)表中查找PCl的IP-MAC 對應(yīng)關(guān)系:192.168.1.1 >> 11-11-11-11-11-11。因為未找到 PCl 的 IP-MAC 對應(yīng)項,所以網(wǎng)絡(luò)設(shè)備往IP-MAC對應(yīng)表中添加相應(yīng)對應(yīng)關(guān)系。
[0072](3)網(wǎng)絡(luò)設(shè)備響應(yīng)ARP請求報文。網(wǎng)絡(luò)設(shè)備從本地的IP-MAC對應(yīng)表中查找PC2(192.168.1.2)的對應(yīng)項。
[0073](4)因為網(wǎng)絡(luò)設(shè)備未能在IP-MAC對應(yīng)表中找到PC2的對應(yīng)項,所以網(wǎng)絡(luò)設(shè)備向網(wǎng)絡(luò)發(fā)送一個ARP請求包。
[0074](5) PC2向網(wǎng)絡(luò)設(shè)備發(fā)送ARP應(yīng)答報文。
[0075](6)網(wǎng)絡(luò)設(shè)備驗證PC2的合法性。網(wǎng)絡(luò)設(shè)備從本地的IP-MAC對應(yīng)表中查找到PC2的 IP-MAC 對應(yīng)關(guān)系:192.168.1.2 >> 22-22-22-22-22-22。因為未找到 PC2 的 IP-MAC 對應(yīng)項,所以網(wǎng)絡(luò)設(shè)備往IP-MAC對應(yīng)表中添加相應(yīng)對應(yīng)項。
[0076](7)網(wǎng)絡(luò)設(shè)備響應(yīng)ARP應(yīng)答報文,向PCl發(fā)送ARP應(yīng)答報文。
[0077](8) PCl向PC2發(fā)送數(shù)據(jù)報文。
[0078](9)網(wǎng)絡(luò)設(shè)備驗證數(shù)據(jù)報文中PCl和PC2的合法性。
[0079](10)網(wǎng)絡(luò)設(shè)備向PC2轉(zhuǎn)發(fā)數(shù)據(jù)報文。
[0080]實施例2
[0081]本實施例為模擬PC3向PCl發(fā)送數(shù)據(jù)報文,處理流程如下:
[0082](1)PC3(192.168.1.3)向網(wǎng)絡(luò)發(fā)送對 PCl (192.168.1.1)的 ARP 請求報文。
[0083](2)網(wǎng)絡(luò)設(shè)備驗證PC3的合法性。網(wǎng)絡(luò)設(shè)備從本地的IP-MAC對應(yīng)表表中查找PC3的 IP-MAC 對應(yīng)關(guān)系:192.168.1.3 >> 33-33-33-33-33-33。因為未找到 PC3 的 IP-MAC 對應(yīng)項,所以網(wǎng)絡(luò)設(shè)備往IP-MAC對應(yīng)表中添加相應(yīng)對應(yīng)關(guān)系。
[0084](3)網(wǎng)絡(luò)設(shè)備響應(yīng)ARP請求。網(wǎng)絡(luò)設(shè)備從本地的IP-MAC對應(yīng)表中查找出PCl的對應(yīng)項。
[0085](4)網(wǎng)絡(luò)設(shè)備向PC3返回ARP應(yīng)答報文。
[0086](5) PC3向PCl發(fā)送數(shù)據(jù)報文。
[0087](6)網(wǎng)絡(luò)設(shè)備驗證數(shù)據(jù)報文中PC3、PCl的合法性。
[0088](7)網(wǎng)絡(luò)設(shè)備向PCl轉(zhuǎn)發(fā)數(shù)據(jù)報文。
[0089]實施例3
[0090]本實施例為模擬PC3向PCl發(fā)送ARP欺騙報文,把PC3偽裝成PC2,過程如下:
[0091](1)PC3向PCl發(fā)送一個ARP應(yīng)答報文,報文中指示PC2的MAC地址為33-33-33-33-33-33
[0092](2)網(wǎng)絡(luò)設(shè)備驗證PC3、PC2的合法性。判斷發(fā)送MAC地址和ARP包中的MAC地址不一致,所以網(wǎng)絡(luò)設(shè)備丟棄此ARP應(yīng)答報文。
[0093]實施例4
[0094]本實施例為模擬PC3的IP地址改為192.168.1.2后,IP沖突的處理,過程如下:
[0095](1)PC3更改IP= 192.168.1.2后,向網(wǎng)絡(luò)廣播一個ARP報文。
[0096](2)網(wǎng)絡(luò)設(shè)備驗證PC3的合法性。網(wǎng)絡(luò)設(shè)備從本地的IP-MAC對應(yīng)表中查找到已經(jīng)存在192.168.1.2的對應(yīng)項,發(fā)現(xiàn)存在IP沖突。
[0097](3)網(wǎng)絡(luò)設(shè)備向PC3發(fā)送IP沖突ARP報文。
[0098]上面所述的實施例僅僅是對本發(fā)明的優(yōu)選實施方式進(jìn)行描述,并非對本發(fā)明的范圍進(jìn)行限定,在不脫離本發(fā)明設(shè)計精神前提下,本領(lǐng)域普通工程技術(shù)人員對本發(fā)明技術(shù)方案做出的各種變形和改進(jìn),均應(yīng)落入本發(fā)明的權(quán)利要求書確定的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于網(wǎng)絡(luò)設(shè)備的ARP報文管理方法,包括如下步驟: (1)判斷報文是否是ARP報文;如果是轉(zhuǎn)至步驟(3),否則轉(zhuǎn)至步驟(13); (2)判斷網(wǎng)絡(luò)層MAC和ARP的MAC地址是否一致;如果是轉(zhuǎn)至步驟(3);否則轉(zhuǎn)至步驟(15); (3)判斷源IP地址是否在IP-MAC對應(yīng)表中存在;如果是轉(zhuǎn)至步驟(4),否則轉(zhuǎn)至步驟(6); (4)判斷源IP地址、源MAC地址是否在IP-MAC對應(yīng)表中存在;如果是轉(zhuǎn)至步驟(5),否則轉(zhuǎn)至步驟(7); (5)更新源IP地址和源MAC地址在IP-MAC對應(yīng)表中的對應(yīng)項的生命周期,轉(zhuǎn)至步驟(8); (6)增加源IP地址和源MAC地址到IP-MAC對應(yīng)表,轉(zhuǎn)至步驟⑶; (7)向源設(shè)備發(fā)送IP沖突的ARP報文,轉(zhuǎn)至步驟(15); (8)判斷是ARP請求報文還是應(yīng)答報文;如果是請求報文轉(zhuǎn)至步驟(9),否則轉(zhuǎn)至步驟(12); (9)查詢IP-MAC對應(yīng)表是否存在查詢的IP信息;如果存在轉(zhuǎn)至步驟(10),否則轉(zhuǎn)至步驟(11); (10)返回ARP應(yīng)答數(shù)據(jù)報文,轉(zhuǎn)至步驟(15); (11)由網(wǎng)絡(luò)設(shè)備在網(wǎng)絡(luò)上發(fā)送或轉(zhuǎn)發(fā)對應(yīng)ARP請求報文,并記錄到“發(fā)送請求報文主機列表”,轉(zhuǎn)至步驟(15); (12)查詢是否存在“發(fā)送請求報文主機列表”,如果存在則向記錄中的設(shè)備發(fā)送或轉(zhuǎn)發(fā)ARP應(yīng)答報文,轉(zhuǎn)至步驟(15); (13)判斷報文源IP地址、源MAC地址和目標(biāo)IP地址、目標(biāo)MAC地址是否在IP-MAC對應(yīng)表中存在;如果存在轉(zhuǎn)至步驟(14),否則,丟棄當(dāng)前以太網(wǎng)報文并轉(zhuǎn)至步驟(15); (14)網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)以太網(wǎng)報文; (15)結(jié)束以太網(wǎng)報文處理。
【文檔編號】H04L29/12GK104427004SQ201310360537
【公開日】2015年3月18日 申請日期:2013年8月19日 優(yōu)先權(quán)日:2013年8月19日
【發(fā)明者】吳玉松, 單閩, 曲長利 申請人:北京懷教網(wǎng)絡(luò)技術(shù)服務(wù)有限公司