防御arp攻擊報文的方法及裝置的制造方法
【專利摘要】本申請?zhí)峁┮环N防御ARP攻擊報文的方法及裝置,所述方法包括:向第二設備發(fā)送ARP請求報文;接收所述第二設備發(fā)送的ARP應答報文;利用所述ARP應答報文攜帶的源IP地址查找映射表;所述映射表中記錄有第二設備的IP地址;當查找到所述源IP地址時,利用所述源IP地址與所述ARP應答報文攜帶的源MAC地址更新ARP緩存表;當未查找到所述源IP地址時,確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。應用本申請實施例,通過配置的映射表,可以避免攻擊者利用大量偽造的IP地址和MAC地址向第一設備發(fā)送ARP請求報文,導致第一設備不斷更新ARP緩存表,造成業(yè)務傳輸中斷的問題。
【專利說明】
防御ARP攻擊報文的方法及裝置
技術(shù)領(lǐng)域
[0001]本申請涉及通信技術(shù)領(lǐng)域,尤其涉及一種防御ARP攻擊報文的方法及裝置。
【背景技術(shù)】
[0002]目前,網(wǎng)絡設備只要知道其他網(wǎng)絡設備的IP(InternetProtocol,網(wǎng)際協(xié)議)地址,即可以利用ARP(Address Resolut1n Protocol,地址解析協(xié)議)請求報文,將自己的IP地址和MAC(Medium Access Control,介質(zhì)訪問控制)地址通知給其他網(wǎng)絡設備,以使其他網(wǎng)絡設備將該網(wǎng)絡設備的IP地址和MAC地址更新到ARP緩存表。基于這樣的處理方式,攻擊者可以利用偽造的IP地址和MAC地址,向其他網(wǎng)絡設備發(fā)送大量的ARP請求報文,使得其他網(wǎng)絡設備不斷將偽造的IP地址和MAC地址更新到ARP緩存表中,造成ARP緩存表被存滿,導致正常的IP地址和MAC地址無法更新到ARP緩存表中。當網(wǎng)絡設備接收到攜帶有正常的IP地址的報文時,由于在ARP緩存表中查找不到對應的IP地址,無法利用ARP緩存表發(fā)送該報文,即導致報文無法正常傳輸,造成業(yè)務傳輸中斷。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本申請?zhí)峁┮环N防御ARP攻擊報文的方法及裝置,以解決現(xiàn)有ARP緩存表的更新方式,容易造成業(yè)務傳輸中斷的問題。
[0004]根據(jù)本申請實施例的第一方面,提供一種防御ARP攻擊報文的方法,所述方法應用于第一設備上,所述方法包括:
[0005]向第二設備發(fā)送ARP請求報文;
[0006]接收所述第二設備發(fā)送的ARP應答報文;
[0007]利用所述ARP應答報文攜帶的源IP地址查找映射表;其中,所述映射表中記錄有第二設備的IP地址;
[0008]當查找到所述源IP地址時,利用所述源IP地址與所述ARP應答報文攜帶的源MAC地址更新ARP緩存表;當未查找到所述源IP地址時,確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。
[0009]根據(jù)本申請實施例的第二方面,提供一種防御ARP攻擊報文的裝置,所述裝置應用于第一設備上,所述裝置包括:
[0010]發(fā)送單元,用于向第二設備發(fā)送ARP請求報文;
[0011 ]接收單元,用于接收所述第二設備發(fā)送的ARP應答報文;
[0012]第一查找單元,用于利用所述ARP應答報文攜帶的源IP地址查找映射表;其中,所述映射表中記錄有第二設備的IP地址;
[0013]第一處理單元,用于當查找到所述源IP地址時,利用所述源IP地址與所述ARP應答報文攜帶的源MAC地址更新ARP緩存表;當未查找到所述源IP地址時,確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。
[0014]應用本申請實施例,第一設備向第二設備發(fā)送ARP請求報文,然后接收所述第二設備返回的ARP應答報文,再利用所述ARP應答報文攜帶的源IP地址查找映射表,由于所述映射表中記錄有第二設備的IP地址,因此只有當查找到所述源IP地址時,第一設備才利用所述源IP地址與ARP應答報文攜帶的源MAC地址更新ARP緩存表;而當未查找到所述源IP地址時,第一設備直接丟棄所述ARP應答報文。
[0015]基于上述方式,第一設備通過在映射表中記錄第二設備的IP地址,只有當?shù)诙O備返回的ARP應答報文攜帶的源IP地址在映射表中能夠查找到時,第一設備才會利用ARP應答報文攜帶的源IP地址和源MAC地址更新ARP緩存表,而如果在映射表中查找不到,則直接將ARP應答報文丟棄。此外,第一設備在接收到ARP請求報文時,不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,這樣,當攻擊者利用偽造的IP地址和MAC地址,向第一設備發(fā)送大量的ARP請求報文時,第一設備均不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,從而可以避免攻擊者利用大量偽造的IP地址和MAC地址向第一設備發(fā)送ARP請求報文,導致第一設備不斷更新ARP緩存表,造成業(yè)務傳輸中斷的問題。
【附圖說明】
[0016]圖1為本申請根據(jù)一示例性實施例示出的一種防御ARP攻擊報文的方法的實施例流程圖;
[0017]圖2為本申請根據(jù)一示例性實施例示出的另一種防御ARP攻擊報文的方法的實施例流程圖;
[0018]圖3為本申請根據(jù)一示例性實施例示出的另一種防御ARP攻擊報文的方法的實施例流程圖;
[0019]圖4為本申請根據(jù)一示例性實施例示出的第一設備的硬件結(jié)構(gòu)圖;
[0020]圖5為本申請根據(jù)一示例性實施例示出的一種防御ARP攻擊報文的裝置的實施例結(jié)構(gòu)圖。
【具體實施方式】
[0021]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0022]在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
[0023]應當理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
[0024]參見圖1所示,為本申請根據(jù)一示例性實施例示出的一種防御ARP攻擊報文的方法的實施例流程圖,該實施例應用于第一設備上,本申請中所指的第一設備和第二設備均可以是網(wǎng)絡設備,如路由器、交換機、防火墻等,所述第一設備上預先配置有映射表,該防御ARP攻擊報文的方法包括以下步驟:
[0025]步驟101:向第二設備發(fā)送ARP請求報文。
[0026]其中,第一設備向第二設備發(fā)送的ARP請求報文可以是主動ARP請求報文,或者,在接收到第二設備發(fā)送的主動ARP請求報文之后,向所述第二設備發(fā)送的被動ARP請求報文。
[0027]情況一、針對向第二設備發(fā)送主動ARP請求報文的過程,當?shù)谝辉O備需要向第二設備發(fā)送報文時,在本地的ARP緩存表中沒有查找到第二設備的MAC地址,于是會觸發(fā)第一設備向第二設備發(fā)送主動ARP請求報文,所述主動ARP請求報文攜帶的源IP地址和源MAC地址為第一設備的IP地址和MAC地址,攜帶的目的IP地址為第二設備的IP地址,目的MAC地址為廣播MAC地址,然后第一設備將主動ARP請求報文發(fā)送到第二設備。
[0028]此外,第一設備還需要將所述主動ARP請求報文攜帶的目的IP地址(即第二設備的IP地址)添加到映射表中。
[0029]情況二、針對向第二設備發(fā)送被動ARP請求報文的過程,第二設備會先向第一設備發(fā)送主動ARP請求報文,該發(fā)送過程與第一設備向第二設備發(fā)送主動ARP請求報文的過程類似,在此不再贅述。
[0030]第一設備接收到主動ARP請求報文之后,先將所述主動ARP請求報文攜帶的源IP地址(即第二設備的IP地址)添加到映射表中,然后再將所述主動ARP請求報文攜帶的源IP地址作為被動ARP請求報文的目的IP地址,并將廣播MAC地址作為被動ARP請求報文的目的MAC地址,并將第一設備的IP地址作為被動ARP請求報文的源IP地址,將第一設備的MAC地址作為被動ARP請求報文的源MAC地址,最后將被動ARP請求報文發(fā)送到第二設備。
[0031 ]針對上述情況一和情況二,為了區(qū)分被動ARP請求報文與主動ARP請求報文,可以在被動ARP請求報文中添加一個標識I,所述標識I可以包括但不限于是字符或數(shù)值,且標識I表示ARP請求報文是被動ARP請求報文?;蛘撸梢栽谥鲃覣RP請求報文中添加一個標識2,所述標識2可以包括但不限于是字符或數(shù)值,且標識2表示ARP請求報文是主動ARP請求報文?;蛘?,可以在被動ARP請求報文中添加一個標識I,在主動ARP請求報文中添加一個標識2。
[0032]需要說明的是,由于第一設備的IP地址,在進行VLAN( Virtual Local AreaNetwork,虛擬局域網(wǎng))配置時,會在路由表中創(chuàng)建一條路由表項,因此,當?shù)谝辉O備接收到主動ARP請求報文時,主動ARP請求報文攜帶的目的IP地址應該可以在路由表中查找到。
[0033]因此,當?shù)谝辉O備接收到第二設備發(fā)送的主動ARP請求報文時,可以先獲取所述主動ARP請求報文攜帶的目的IP地址,然后再利用所述目的IP地址查找路由表;若未查找到所述目的IP地址,則確定所述主動ARP請求報文為ARP攻擊報文,丟棄所述主動ARP請求報文;若查找到所述目的IP地址,則再執(zhí)行將主動ARP請求報文攜帶的源IP地址添加到映射表中,并向第二設備發(fā)送被動ARP請求報文的過程。
[0034]這里,第一設備先根據(jù)主動ARP請求報文攜帶的目的IP地址,判斷主動ARP請求報文是否為ARP攻擊報文,若是,則直接丟棄掉。這樣,可以避免后續(xù)的操作,提高第一設備的處理效率。
[0035]并且,當確定主動ARP請求報文為ARP攻擊報文時,第一設備可以向管理設備發(fā)送ARP攻擊預警日志,以便管理員查看,并定位ARP攻擊報文的來源。
[0036]需要進一步說明的是,第一設備在向所述第二設備發(fā)送被動ARP請求報文之后,還會針對所述主動ARP請求報文向第二設備發(fā)送ARP應答報文。所述ARP應答報文攜帶的源IP地址和源MAC地址為第一設備的IP地址和MAC地址,攜帶的目的IP地址和目的MAC地址為所述主動ARP請求報文攜帶的源IP地址和源MAC地址,即第二設備的IP地址和MAC地址。
[0037]步驟102:接收所述第二設備發(fā)送的ARP應答報文。
[0038]第一設備無論是向第二設備發(fā)送主動ARP請求報文,還是被動ARP請求報文,第二設備均會返回ARP應答報文。
[0039]由于第一設備的IP地址,在進行VLAN(Virtual Local Area Network,虛擬局域網(wǎng))配置時,會在路由表中創(chuàng)建一條路由表項,因此,當?shù)谝辉O備接收到ARP應答報文時,ARP應答報文攜帶的目的IP地址應該可以在路由表中查找到。
[0040]因此,當?shù)谝辉O備接收到所述第二設備發(fā)送的ARP應答報文時,可以先獲取所述ARP應答報文攜帶的目的IP地址;再利用所述目的IP地址查找路由表;若未查找到所述目的IP地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文;若查找到所述目的IP地址,則執(zhí)行步驟103。
[0041 ]這里,第一設備先根據(jù)ARP應答報文攜帶的信息目的IP地址,判斷ARP應答報文是否為ARP攻擊報文,若是,則直接丟棄掉。這樣,可以避免后續(xù)的操作,提高第一設備的處理效率。
[0042]并且,當確定ARP應答報文為ARP攻擊報文時,第一設備可以向管理設備發(fā)送ARP攻擊預警日志,以便管理員查看,并定位ARP攻擊報文的來源。
[0043]步驟103:判斷映射表中是否存在所述ARP應答報文攜帶的源IP地址,若是,則執(zhí)行步驟104;若否,則確定所述ARP應答報文為ARP攻擊報文,執(zhí)行步驟105。
[0044]由步驟101至步驟102所述,所述映射表用于記錄ARP請求報文攜帶的IP地址,以供后面接收到的ARP應答報文進行查找。
[0045]如步驟101所述,由于映射表中記錄有第二設備的IP地址,因此當?shù)谝辉O備接收到第二設備發(fā)送的ARP應答報文時,可以利用所述ARP應答報文攜帶的源IP地址查找映射表,以判斷所述映射表中是否存在所述ARP應答報文攜帶的源IP地址。
[0046]步驟104:利用所述源IP地址與所述ARP應答報文攜帶的源MAC地址更新ARP緩存表。
[0047]所述ARP緩存表用于報文轉(zhuǎn)發(fā),即當?shù)谝辉O備接收到其他設備發(fā)送的報文時,利用所述報文攜帶的目的IP地址查找ARP緩存表,以獲取對應的MAC地址,并利用查找到的MAC地址將報文轉(zhuǎn)發(fā)出去,具體發(fā)送過程在此不再贅述。
[0048]這里,第一設備只有在接收到ARP應答報文時,利用ARP應答報文查找映射表,查找到了對應的IP地址,才更新ARP緩存表,避免了攻擊者在ARP請求報文中利用偽造的IP地址和MAC地址,使ARP緩存表一直在更新,造成業(yè)務傳輸中斷的問題。
[0049]步驟105:丟棄所述ARP應答報文。
[0050]若第一設備未查找到所述源IP地址,則丟棄所述ARP應答報文,并向管理設備發(fā)送ARP攻擊預警日志,以便管理員查看,并定位ARP攻擊報文的來源。
[0051]需要說明的是,第一設備可以預先設定映射表中能夠存放的IP地址數(shù),即映射表的表項數(shù),并進行定時監(jiān)控。比如,第一設備可以在預設時間周期內(nèi),統(tǒng)計所述映射表中的IP地址數(shù),若所述IP地址數(shù)超過預設表項數(shù),則向管理設備發(fā)送ARP攻擊預警日志。
[0052]進一步地,第一設備還可以對所述映射表進行定時清理。比如,當?shù)谝辉O備記錄新的IP地址到所述映射表中時,可以為所述新的IP地址設置老化定時器,在所述老化定時器超時之前,若所述新的IP地址被ARP應答報文中攜帶的源IP地址查找到,則更新所述老化定時器的老化時間;在所述老化定時器超時之后,則將記錄的所述新的IP地址以及對應的MAC地址刪除。
[0053]由上述實施例所述,第一設備向第二設備發(fā)送ARP請求報文,然后接收所述第二設備返回的ARP應答報文,再利用所述ARP應答報文攜帶的源IP地址查找映射表,由于所述映射表中記錄有第二設備的IP地址,因此只有當查找到所述源IP地址時,第一設備才利用所述源IP地址與ARP應答報文攜帶的源MAC地址更新ARP緩存表;而當未查找到所述源IP地址時,第一設備直接丟棄所述ARP應答報文。
[0054]基于上述方式,第一設備通過在映射表中記錄第二設備的IP地址,只有當?shù)诙O備返回的ARP應答報文攜帶的源IP地址在映射表中能夠查找到時,第一設備才會利用ARP應答報文攜帶的源IP地址和源MAC地址更新ARP緩存表,而如果在映射表中查找不到,則直接將ARP應答報文丟棄。此外,第一設備在接收到ARP請求報文時,不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,這樣,當攻擊者利用偽造的IP地址和MAC地址,向第一設備發(fā)送大量的ARP請求報文時,第一設備均不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,從而可以避免攻擊者利用大量偽造的IP地址和MAC地址向第一設備發(fā)送ARP請求報文,導致第一設備不斷更新ARP緩存表,造成業(yè)務傳輸中斷的問題。
[0055]參見圖2所示,為本申請根據(jù)一示例性實施例示出的另一種防御ARP攻擊報文的方法的實施例流程圖,該實施例應用于第一設備上,所述第一設備上預先配置有映射表,該防御ARP攻擊報文的方法包括以下步驟:
[0056]步驟201:向第二設備發(fā)送ARP請求報文。
[0057]其中,第一設備向第二設備發(fā)送的ARP請求報文可以是主動ARP請求報文,或者,在接收到第二設備發(fā)送的主動ARP請求報文之后,向所述第二設備發(fā)送的被動ARP請求報文。
[0058]情況一、針對向第二設備發(fā)送主動ARP請求報文的過程如步驟101所述,在此不再一一贅述。此外,第一設備除了將所述主動ARP請求報文攜帶的目的IP地址添加到映射表中,還會將所述主動ARP請求報文攜帶的目的MAC地址(即廣播MAC地址)添加到映射表中。
[0059]情況二、針對向第二設備發(fā)送被動ARP請求報文的過程如步驟101所述,在此不再一一贅述。此外,第一設備除了將所述主動ARP請求報文攜帶的源IP地址添加到映射表中,還會將所述主動ARP請求報文攜帶的源MAC地址(即第二設備的MAC地址)添加到映射表中。
[0060]步驟202:接收所述第二設備發(fā)送的ARP應答報文。
[0061]第一設備接收所述第二設備發(fā)送的ARP應答報文的過程如步驟102所述,在此不再
--贅述。
[0062]步驟203:判斷映射表中是否存在所述ARP應答報文攜帶的源IP地址,若否,則執(zhí)行步驟204 ;若是,則執(zhí)行步驟205。
[0063]如步驟201所述,由于映射表中記錄有第二設備的IP地址。
[0064]因此,當?shù)谝辉O備接收到第二設備發(fā)送的ARP應答報文時,可以利用所述ARP應答報文攜帶的源IP地址查找映射表,若查找到所述源IP地址,則執(zhí)行步驟205,若否,則執(zhí)行步驟204。
[0065]步驟204:丟棄所述ARP應答報文。
[0066]第一設備丟棄所述ARP應答報文如步驟105所述,在此不再一一贅述。
[0067]步驟205:判斷所述源IP地址在映射表中對應的MAC地址是否為廣播MAC地址,若是,則執(zhí)行步驟206,若否,則執(zhí)行步驟207。
[0068]由步驟201所述,映射表中除了記錄有第二設備的IP地址,還記錄有第二設備的MAC地址或者是廣播MAC地址。因此需要判斷所述源IP地址在映射表中對應的MAC地址是否為廣播MAC地址。
[0069]步驟206:利用所述ARP應答報文攜帶的源MAC地址替換映射表中記錄的所述源IP地址對應的廣播MAC地址,并利用所述ARP應答報文攜帶的源IP地址和源MAC地址更新ARP緩存表。
[0070]所述ARP緩存表用于報文轉(zhuǎn)發(fā),即當?shù)谝辉O備接收到其他設備發(fā)送的報文時,利用所述報文攜帶的目的IP地址查找ARP緩存表,以獲取對應的MAC地址,并利用查找到的MAC地址將報文轉(zhuǎn)發(fā)出去,具體發(fā)送過程在此不再贅述。
[0071 ] 步驟207:判斷所述ARP應答報文攜帶的源MAC地址與映射表中對應的MAC地址是否一致,若是,則執(zhí)行步驟208,若否,則執(zhí)行步驟204。
[0072]步驟208:利用所述源IP地址與所述源MAC地址更新ARP緩存表。
[0073]這里,第一設備只有在接收到ARP應答報文時,利用ARP應答報文查找映射表,查找到了對應的IP地址和MAC地址,才更新ARP緩存表,避免了攻擊者在ARP請求報文中利用偽造的IP地址和MAC地址,使ARP緩存表一直在更新,造成業(yè)務傳輸中斷的問題。
[0074]需要說明的是,第一設備可以預先設定映射表中能夠存放的IP地址數(shù),即映射表的表項數(shù),并進行定時監(jiān)控。比如,第一設備可以在預設時間周期內(nèi),統(tǒng)計所述映射表中的IP地址數(shù),若所述IP地址數(shù)超過預設表項數(shù),則向管理設備發(fā)送ARP攻擊預警日志。
[0075]進一步地,第一設備還可以對所述映射表進行定時清理。比如,當?shù)谝辉O備記錄新的IP地址到所述映射表中時,可以為所述新的IP地址設置老化定時器,在所述老化定時器超時之前,若所述新的IP地址被ARP應答報文中攜帶的源IP地址查找到,則更新所述老化定時器的老化時間;在所述老化定時器超時之后,將記錄的所述新的IP地址以及對應的MAC地址刪除。
[0076]由上述實施例所述,第一設備向第二設備發(fā)送ARP請求報文,然后接收所述第二設備返回的ARP應答報文,再利用所述ARP應答報文攜帶的源IP地址和源MAC地址查找映射表,由于映射表中記錄有第二設備的IP地址和MAC地址,或者是第二設備的IP地址和廣播MAC地址,因此只有當查找到所述源IP地址和所述源MAC地址時,或者,所述源IP地址在映射表中對應的MAC地址為廣播MAC地址時,第一設備才利用所述源IP地址與所述源MAC地址更新ARP緩存表;而當未查找到所述源IP地址時,第一設備直接丟棄所述ARP應答報文。
[0077]基于上述方式,第一設備通過映射表記錄第二設備的IP地址和MAC地址,或者第二設備的IP地址和廣播MAC地址。只有第一設備判斷ARP應答報文攜帶的源IP地址和源MAC地址在映射表中能查找到,或能查找到的所述源IP地址對應的MAC地址為廣播MAC地址,才會用所述源IP地址和所述源MAC地址更新ARP緩存表,而如果在映射表中查找不到,則直接將ARP應答報文丟棄。此外,第一設備在接收到ARP請求報文時,不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,這樣,當攻擊者利用偽造的IP地址和MAC地址,向第一設備發(fā)送大量的ARP請求報文時,第一設備均不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,從而可以避免攻擊者利用大量偽造的IP地址和MAC地址向第一設備發(fā)送ARP請求報文,導致第一設備不斷更新ARP緩存表,造成業(yè)務傳輸中斷的問題。
[0078]參見圖3所示,為本申請根據(jù)一示例性實施例示出的另一種防御ARP攻擊報文的方法的實施例流程圖,該實施例是對第一設備與第二設備的交互過程進行的詳細描述,所述第一設備和第二設備均預先配置有映射表,包括以下步驟:
[0079]步驟301:第一設備將待發(fā)送到第二設備的主動ARP請求報文攜帶的目的IP地址和目的MAC地址添加到映射表中。
[0080]當?shù)谝辉O備需要向第二設備發(fā)送報文時,在本地的ARP緩存表中沒有查找到第二設備的MAC地址,于是會觸發(fā)第一設備向第二設備發(fā)送主動ARP請求報文,所述待發(fā)送到第二設備的主動ARP請求報文攜帶的源IP地址和源MAC地址為第一設備的IP地址和MAC地址,攜帶的目的IP地址為第二設備的IP地址,目的MAC地址為廣播MAC地址(比如ff:ff:ff:ff:ff:ff)。然后,第一設備將待發(fā)送的主動ARP請求報文攜帶的目的IP地址和目的MAC地址(廣播MAC地址)添加到映射表中。
[0081 ] 例如,第一設備的IP地址為1.1.1.1、MAC地址為00:00:00:00:00:01,第二設備的IP地址為2.2.2.2,那么所述主動ARP請求報文攜帶的源IP地址為1.1.1.1、源MAC地址為00:00:00:00:00:01、目的 IP地址為2.2.2.2、目的MAC地址為ff: ff: ff: ff: ff: ff。并且第一設備的映射表中記錄的主動ARP請求報文攜帶的目的IP地址和目的MAC地址分別為2.2.2.2和
ff:ff:ff:ff:ff:ffo
[0082]步驟302:第一設備向第二設備發(fā)送主動ARP請求報文。
[0083]步驟303:第二設備判斷路由表中是否存在主動ARP請求報文攜帶的目的IP地址,若是,則執(zhí)行步驟304,若否,則丟棄所述主動ARP請求報文。
[0084]由于第二設備的IP地址,在進行VLAN(Virtual Local Area Network,虛擬局域網(wǎng))配置時,會在路由表中創(chuàng)建一條路由表項,因此,當?shù)诙O備接收到主動ARP請求報文時,主動ARP請求報文攜帶的目的IP地址應該可以在路由表中查找到。
[0085]因此,當?shù)诙O備接收到第一設備發(fā)送的主動ARP請求報文時,首先獲取主動ARP請求報文攜帶的目的IP地址,利用所述目的IP地址查找路由表;若未查找到所述目的IP地址,則確定所述主動ARP請求報文為ARP攻擊報文,丟棄所述主動ARP請求報文;若查找到所述目的IP地址,則執(zhí)行步驟304。
[0086]例如,如步驟301所述,第二設備的IP地址為2.2.2.2,在第二設備中配置VLAN-1FIP地址為2.2.2.2/16,會在路由表中創(chuàng)建一條路由表項(2.2.0.0),因此,主動ARP請求報文攜帶的目的IP地址2.2.2.2,可以在路由表中查找到(2.2.0.0)這條路由表項。
[0087]當?shù)诙O備確定所述主動ARP請求報文為ARP攻擊報文時,還可以向管理設備發(fā)送ARP攻擊預警日志,以便管理員查看,并定位ARP攻擊報文的來源。
[0088]這里,當?shù)诙O備接收到主動ARP請求報文時,先判斷主動ARP請求報文是否為ARP攻擊報文,若是,則直接丟棄掉,避免了后續(xù)的操作,提高了第二設備的處理效率。
[0089]步驟304:第二設備將主動ARP請求報文攜帶的源IP地址和源MAC地址添加到映射表中。
[0090]例如,如步驟301所述,第二設備的映射表中記錄的主動ARP請求報文攜帶的源IP地址和源MAC地址分別為1.1.1.1和00:00:00:00:00:01ο
[0091 ] 這里,第二設備不是將主動ARP請求報文攜帶的源IP地址和源MAC地址添加到ARP緩存表中,而是先添加到映射表中。因此即使所述源IP地址和源MAC地址是偽造的地址,也不會更新到ARP緩存表中。
[0092]比如,假設第一設備為攻擊源,利用大量偽造的IP地址和MAC地址向第二設備發(fā)送了大量的主動ARP請求報文,比如是源IP地址為20.x.x.X、源MAC地址為00:00:00:00:00:XX、目的IP地址為2.2.2.2、目的MAC地址為ff:ff:ff:ff:ff:ff的組合;或者源IP地址為50.x.x.X、源MAC地址為00:00:00:00:00:XX、目的IP地址為2.2.2.2、目的MAC地址為ff:ff:ff:ff:ff:ff的組合;或者源IP地址為192.X.X.X、源MAC地址為00:00:00:00:00:xx、目的IP地址為2.2.2.2、目的:ff:ff:ff:ff:ff的組合等。這些源IP地址和源MAC地址均會被添加到映射表中,而不是ARP緩存表中,只有當后續(xù)接收到ARP應答報文時,才判斷是否要更新到ARP緩存表中。
[0093]步驟305:第二設備根據(jù)主動ARP請求報文向第一設備發(fā)送被動ARP請求報文。
[0094]由于被動ARP請求報文也是ARP請求報文,所以其攜帶的目的MAC地址也應該是廣播MAC地址,所以第二設備將主動ARP請求報文攜帶的源IP地址作為被動ARP請求報文的目的IP地址,并將廣播MAC地址作為被動ARP請求報文的目的MAC地址。并且為了區(qū)分被動ARP請求報文與主動ARP請求報文,可以在被動ARP請求報文中添加一個標識I,所述標識I可以包括但不限于是字符或數(shù)值,且標識I表示ARP請求報文是被動ARP請求報文?;蛘?,可以在主動ARP請求報文中添加一個標識2,所述標識2可以包括但不限于是字符或數(shù)值,且標識2表示ARP請求報文是主動ARP請求報文。或者,可以在被動ARP請求報文中添加一個標識I,在主動ARP請求報文中添加一個標識2。
[0095]假設第二設備的IP地址為2.2.2.2、MAC地址為00:00:00:00:00:02,如步驟201所述,所述被動ARP請求報文攜帶的源IP地址為2.2.2.2、源MAC地址為00:00:00:00:00:02、目的 IP 地址為 I.I.I.1、目的 MAC 地址為 ff:ff:ff:ff:ff:ff0
[0096]步驟306:第二設備針對主動ARP請求報文向第一設備發(fā)送ARP應答報文。
[0097]需要說明的是,所述步驟305和所述步驟306不分前后執(zhí)行順序。所述ARP應答報文攜帶的源IP地址和源MAC地址為第二設備的IP地址和MAC地址,攜帶的目的IP地址和目的MAC地址為所述主動ARP請求報文攜帶的源IP地址和源MAC地址,即第一設備的IP地址和MAC地址。
[0098]如步驟201和步驟205所述,所述ARP應答報文攜帶的源IP地址為2.2.2.2、源MAC地址為00:00:00:00:00:02、目的 IP 地址為 1.1.1.1、目的 MAC 地址為00:00:00:00:00:01。
[0099]步驟307:第一設備判斷判斷路由表中是否存在ARP應答報文攜帶的目的IP地址,若是,則執(zhí)行步驟308,若否,則丟棄所述ARP應答報文。
[0100]如步驟303所述,第一設備在進行VLAN配置時,也會在路由表中創(chuàng)建一條路由表項,因此,當?shù)谝辉O備接收到ARP應答報文時,ARP應答報文攜帶的目的IP地址應該可以在路由表中查找到。
[0101]因此,當?shù)谝辉O備接收到第二設備發(fā)送的ARP應答報文時,首先獲取所述ARP應答報文攜帶的目的IP地址;利用所述目的IP地址查找路由表;若未查找到所述目的IP地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文;若查找到所述目的IP地址,則執(zhí)行步驟308。
[0102]這里,當?shù)谝辉O備接收到ARP應答報文時,先判斷ARP應答報文是否為ARP攻擊報文,若是,則直接丟棄ARP應答報文,避免了后續(xù)的操作,提高了第一設備的處理效率。
[0103]步驟308:第一設備判斷映射表中是否存在所述ARP應答報文攜帶的源IP地址,若是,則利用所述ARP應答報文攜帶的源MAC地址替換映射表中所述源IP地址對應的廣播MAC地址,并執(zhí)行步驟309,若否,則丟棄所述ARP應答報文。
[0104]所述映射表用于記錄ARP請求報文攜帶的IP地址,以供后面接收到的ARP應答報文進行查找。如步驟301所述,所述映射表中記錄有第二設備的IP地址,對應的MAC地址為廣播MAC地址。因此,第一設備利用所述ARP應答報文攜帶的源IP地址查找映射表,若查找到所述源IP地址,并且所述源IP地址對應的MAC地址為廣播MAC地址,則利用所述ARP應答報文攜帶的源MAC地址替換映射表中所述源IP地址對應的廣播MAC地址,并利用所述ARP應答報文攜帶的源MAC地址替換映射表中所述源IP地址對應的廣播MAC地址,并執(zhí)行步驟309;若未查找到所述源IP地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文,并向管理設備發(fā)送ARP攻擊預警日志,以便管理員查看,并定位ARP攻擊報文的來源。
[0105]需要說明的是,第一設備可以預先設定映射表中能夠存放的IP地址數(shù),即映射表的表項數(shù),并進行定時監(jiān)控。比如,第一設備可以在預設時間周期內(nèi),統(tǒng)計所述映射表中的IP地址數(shù),若所述IP地址數(shù)超過預設表項數(shù),則向管理設備發(fā)送ARP攻擊預警日志。
[0106]進一步地,第一設備還可以對所述映射表進行定時清理。比如,當?shù)谝辉O備記錄新的IP地址到所述映射表中時,可以為所述新的IP地址設置老化定時器,在所述老化定時器超時之前,若所述新的IP地址被ARP應答報文中攜帶的源IP地址查找到,則更新所述老化定時器的老化時間;在所述老化定時器超時之后,將記錄的所述新的IP地址以及對應的MAC地址刪除。
[0107]步驟309:第一設備利用所述源IP地址與所述ARP應答報文攜帶的源MAC地址更新ARP緩存表。
[0108]所述ARP緩存表用于報文轉(zhuǎn)發(fā),即當?shù)谝辉O備接收到其他設備發(fā)送的報文時,利用所述報文攜帶的目的IP地址查找ARP緩存表,以獲取對應的MAC地址,并利用查找到的MAC地址將報文轉(zhuǎn)發(fā)出去,具體發(fā)送過程在此不再贅述。
[0109]這里,第一設備只有在接收到ARP應答報文時,利用ARP應答報文查找映射表,查找到了對應的IP地址,才更新ARP緩存表,避免了攻擊者在ARP請求報文中利用偽造的IP地址和MAC地址,使ARP緩存表一直在更新,造成業(yè)務傳輸中斷的問題。
[0110]步驟310:第一設備針對被動ARP請求報文向第二設備發(fā)送ARP應答報文。
[0111]第一設備接收到第二設備發(fā)送的被動ARP請求報文之后,還會針對所述被動ARP請求報文向第二設備發(fā)送ARP應答報文。
[0112]所述ARP應答報文攜帶的源IP地址和源MAC地址為第一設備的IP地址和MAC地址,攜帶的目的IP地址和目的MAC地址為所述被動ARP請求報文攜帶的源IP地址和源MAC地址。
[0113]如步驟301和步驟305所述,所述ARP應答報文攜帶的源IP地址為1.1.1.1、源MAC地址為00:00:00:00:00:01、目的IP地址為2.2.2.2、目的MAC地址為00:00:00:00:00:02。
[0114]步驟311:第二設備判斷判斷路由表中是否存在ARP應答報文攜帶的目的IP地址,若是,則執(zhí)行步驟312,若否,則丟棄所述ARP應答報文。
[0115]第二設備判斷ARP應答報文是否為ARP攻擊報文的詳細過程,如步驟307所述,在此不再一一贅述。只是若第二設備查找到所述目的IP地址,則執(zhí)行步驟312。
[0116]步驟312:第二設備判斷映射表中是否存在所述ARP應答報文攜帶的源IP地址和源MAC地址,若是,則執(zhí)行步驟313,若否,則丟棄所述ARP應答報文。
[0117]如步驟304所述,第二設備的映射表中除了記錄有第一設備的IP地址,還記錄有第一設備的MAC地址。因此,第二設備可以利用ARP應答報文攜帶的源IP地址和源MAC地址查找映射表,若查找到所述源IP地址和源MAC地址,則執(zhí)行步驟313;若未查找到所述源IP地址和源MAC地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文,并向管理設備發(fā)送ARP攻擊預警日志,以便管理員查看,并定位ARP攻擊報文的來源。
[0118]需要說明的是,第二設備也可以預先設定映射表中能夠存放的IP地址數(shù),即映射表的表項數(shù),并進行定時監(jiān)控,定時清理。
[0119]步驟313:第二設備利用所述源IP地址和源MAC地址更新ARP緩存表。
[0120]由步驟301至313所述,步驟301中第二設備也可以向第一設備發(fā)送主動ARP請求報文,下面的步驟302至步驟313的描述,則將第一設備和第二設備替換一下即可。
[0121]由上述實施例所述,第一設備向第二設備發(fā)送ARP請求報文,然后接收所述第二設備返回的ARP應答報文,再利用所述ARP應答報文攜帶的源IP地址和源MAC地址查找映射表,由于映射表中記錄有第二設備的IP地址和MAC地址,或者是第二設備的IP地址和廣播MAC地址,因此只有當查找到所述源IP地址和所述源MAC地址時,或者,所述源IP地址在映射表中對應的MAC地址為廣播MAC地址時,第一設備才利用所述源IP地址與所述源MAC地址更新ARP緩存表;而當未查找到所述源IP地址時,第一設備直接丟棄所述ARP應答報文。
[0122]基于上述方式,第一設備通過映射表記錄第二設備的IP地址和MAC地址,或者第二設備的IP地址和廣播MAC地址。只有第一設備判斷ARP應答報文攜帶的源IP地址和源MAC地址在映射表中能查找到,或能查找到的所述源IP地址對應的MAC地址為廣播MAC地址,才會用所述源IP地址和所述源MAC地址更新ARP緩存表。,而如果在映射表中查找不到,則直接將ARP應答報文丟棄。此外,第一設備在接收到ARP請求報文時,不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,這樣,當攻擊者利用偽造的IP地址和MAC地址,向第一設備發(fā)送大量的ARP請求報文時,第一設備均不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,從而可以避免攻擊者利用大量偽造的IP地址和MAC地址向第一設備發(fā)送ARP請求報文,導致第一設備不斷更新ARP緩存表,造成業(yè)務傳輸中斷的問題。
[0123]與前述防御ARP攻擊報文的方法的實施例相對應,本申請還提供了防御ARP攻擊報文的裝置的實施例。
[0124]本申請防御ARP攻擊報文的裝置的實施例可以應用在第一設備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖4所示,為本申請防御ARP攻擊報文的裝置所在設備的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常根據(jù)該設備的實際功能,還可以包括其他硬件,對此不再贅述。
[0125]參見圖5所示,為本申請根據(jù)一示例性實施例示出的一種防御ARP攻擊報文的裝置的實施例結(jié)構(gòu)圖,該實施例應用于第一設備上,所述裝置包括:發(fā)送單元510、接收單元520、第一查找單元530、第一處理單元540。
[0126]其中,所述發(fā)送單元510,用于向第二設備發(fā)送ARP請求報文;
[0127]所述接收單元520,用于接收所述第二設備發(fā)送的ARP應答報文;
[0128]所述第一查找單元530,用于利用所述ARP應答報文攜帶的源IP地址查找映射表;其中,所述映射表中記錄有第二設備的IP地址;
[0129]所述第一處理單元540,用于當查找到所述源IP地址時,利用所述源IP地址與所述ARP應答報文攜帶的源MAC地址更新ARP緩存表;當未查找到所述源IP地址時,確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。
[0130]在一個可選的實現(xiàn)方式中,所述發(fā)送單元,具體用于在向第二設備發(fā)送ARP請求報文的過程中,向第二設備發(fā)送主動ARP請求報文;或者,在接收到第二設備發(fā)送的主動ARP請求報文之后,向所述第二設備發(fā)送被動ARP請求報文;
[0131]所述裝置還包括(圖5中未示出):
[0132]第一映射表添加單元,用于在所述發(fā)送單元向第二設備發(fā)送主動ARP請求報文之前,將所述主動ARP請求報文攜帶的目的IP地址添加到映射表中;
[0133]第二映射表添加單元,用于在所述發(fā)送單元接收到第二設備發(fā)送的主動ARP請求報文之后,將所述主動ARP請求報文攜帶的源IP地址添加到映射表中。
[0134]在另一個可選的實現(xiàn)方式中,所述第一映射表添加單元,還用于將所述主動ARP請求報文攜帶的目的MAC地址添加到映射表中,且所述目的MAC地址為廣播MAC地址;
[0135]所述第一處理單元,具體用于在所述第一查找單元利用所述ARP應答報文攜帶的源IP地址查找映射表之后,若查找到所述源IP地址,利用所述ARP應答報文攜帶的源MAC地址替換映射表中所述源IP地址對應的廣播MAC地址;
[0136]所述第二映射表添加單元,還用于將所述主動ARP請求報文攜帶的源MAC地址添加到映射表中,且所述源MAC地址為第二設備的MAC地址。
[0137]在另一個可選的實現(xiàn)方式中,所述裝置還包括(圖5中未示出):
[0138]第二查找單元,用于所述發(fā)送單元在向所述第二設備發(fā)送被動ARP請求報文之后,當接收到所述第二設備發(fā)送的ARP應答報文時,利用所述ARP應答報文攜帶的源IP地址和源MAC地址查找映射表;
[0139]第二處理單元,用于若查找到所述源IP地址和所述源MAC地址,則利用所述源IP地址和所述源MAC地址更新ARP緩存表;若未查找到所述源IP地址和所述源MAC地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。
[0140]在另一個可選的實現(xiàn)方式中,所述裝置還包括(圖5中未示出):
[0141 ]獲取單元,用于獲取所述主動ARP請求報文或者ARP應答報文攜帶的目的IP地址;
[0142]路由表查找單元,用于利用所述目的IP地址查找路由表;
[0143]第三處理單元,用于若未查找到所述目的IP地址,則確定所述主動ARP請求報文或者ARP應答報文為ARP攻擊報文,并丟棄所述主動ARP請求報文或者ARP應答報文;若查找到所述目的IP地址,則執(zhí)行向第二設備發(fā)送被動ARP請求報文或者利用所述ARP應答報文攜帶的源IP地址查找映射表的過程。
[0144]在另一個可選的實現(xiàn)方式中,所述裝置還包括(圖5中未示出):
[0145]映射表管理單元,用于在預設時間周期內(nèi),統(tǒng)計所述映射表中的IP地址數(shù);若所述IP地址數(shù)超過預設表項數(shù),則向管理設備發(fā)送ARP攻擊預警日志;
[0146]ARP攻擊處理單元,用于若確定所述主動ARP請求報文或者ARP應答報文為ARP攻擊報文,則向管理設備發(fā)送ARP攻擊預警日志。
[0147]上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
[0148]由上述實施例所述,第一設備向第二設備發(fā)送ARP請求報文,然后接收所述第二設備返回的ARP應答報文,再利用所述ARP應答報文攜帶的源IP地址和源MAC地址查找映射表,由于映射表中記錄有第二設備的IP地址和MAC地址,或者是第二設備的IP地址和廣播MAC地址,因此只有當查找到所述源IP地址和所述源MAC地址時,或者,所述源IP地址在映射表中對應的MAC地址為廣播MAC地址時,第一設備才利用所述源IP地址與所述源MAC地址更新ARP緩存表;而當未查找到所述源IP地址時,第一設備直接丟棄所述ARP應答報文。
[0149]基于上述方式,第一設備通過映射表記錄第二設備的IP地址和MAC地址,或者第二設備的IP地址和廣播MAC地址。只有第一設備判斷ARP應答報文攜帶的源IP地址和源MAC地址在映射表中能查找到,或能查找到的所述源IP地址對應的MAC地址為廣播MAC地址,才會用所述源IP地址和所述源MAC地址更新ARP緩存表,而如果在映射表中查找不到,則直接將ARP應答報文丟棄。此外,第一設備在接收到ARP請求報文時,不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,這樣,當攻擊者利用偽造的IP地址和MAC地址,向第一設備發(fā)送大量的ARP請求報文時,第一設備均不會在ARP緩存表中存儲ARP請求報文攜帶的源IP地址和源MAC地址,從而可以避免攻擊者利用大量偽造的IP地址和MAC地址向第一設備發(fā)送ARP請求報文,導致第一設備不斷更新ARP緩存表,造成業(yè)務傳輸中斷的問題。
[0150]對于裝置實施例而言,由于其基本對應于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0151]以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內(nèi)。
【主權(quán)項】
1.一種防御地址解析協(xié)議ARP攻擊報文的方法,所述方法應用于第一設備上,其特征在于,所述方法包括: 向第二設備發(fā)送ARP請求報文; 接收所述第二設備發(fā)送的ARP應答報文; 利用所述ARP應答報文攜帶的源網(wǎng)際協(xié)議IP地址查找映射表;其中,所述映射表中記錄有第二設備的IP地址; 當查找到所述源IP地址時,利用所述源IP地址與所述ARP應答報文攜帶的源介質(zhì)訪問控制MAC地址更新ARP緩存表;當未查找到所述源IP地址時,確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述向第二設備發(fā)送ARP請求報文,包括:向第二設備發(fā)送主動ARP請求報文;或者,在接收到第二設備發(fā)送的主動ARP請求報文之后,向所述第二設備發(fā)送被動ARP請求報文; 在向第二設備發(fā)送主動ARP請求報文之前,還包括:將所述主動ARP請求報文攜帶的目的IP地址添加到映射表中; 在接收到第二設備發(fā)送的主動ARP請求報文之后,還包括:將所述主動ARP請求報文攜帶的源IP地址添加到映射表中。3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 在向第二設備發(fā)送主動ARP請求報文之前,還包括:將所述主動ARP請求報文攜帶的目的MAC地址添加到映射表中,且所述目的MAC地址為廣播MAC地址;在利用所述ARP應答報文攜帶的源IP地址查找映射表之后,還包括:若查找到所述源IP地址,利用所述ARP應答報文攜帶的源MAC地址替換映射表中所述源IP地址對應的廣播MAC地址; 在接收到第二設備發(fā)送的主動ARP請求報文之后,還包括:將所述主動ARP請求報文攜帶的源MAC地址添加到映射表中,且所述源MAC地址為第二設備的MAC地址。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述向所述第二設備發(fā)送被動ARP請求報文之后,還包括: 當接收到所述第二設備發(fā)送的ARP應答報文時,利用所述ARP應答報文攜帶的源IP地址和源MAC地址查找映射表; 若查找到所述源IP地址和所述源MAC地址,則利用所述源IP地址和所述源MAC地址更新ARP緩存表; 若未查找到所述源IP地址和所述源MAC地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法,還包括: 獲取所述主動ARP請求報文或者ARP應答報文攜帶的目的IP地址; 利用所述目的IP地址查找路由表; 若未查找到所述目的IP地址,則確定所述主動ARP請求報文或者ARP應答報文為ARP攻擊報文,并丟棄所述主動ARP請求報文或者ARP應答報文; 若查找到所述目的IP地址,則執(zhí)行向第二設備發(fā)送被動ARP請求報文或者利用所述ARP應答報文攜帶的源IP地址查找映射表的過程。6.根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述方法,還包括: 在預設時間周期內(nèi),統(tǒng)計所述映射表中的IP地址數(shù);若所述IP地址數(shù)超過預設表項數(shù),則向管理設備發(fā)送ARP攻擊預警日志; 若確定所述主動ARP請求報文或者ARP應答報文為ARP攻擊報文,則向管理設備發(fā)送ARP攻擊預警日志。7.—種防御地址解析協(xié)議ARP攻擊報文的裝置,所述裝置應用于第一設備上,其特征在于,所述裝置包括: 發(fā)送單元,用于向第二設備發(fā)送ARP請求報文; 接收單元,用于接收所述第二設備發(fā)送的ARP應答報文; 第一查找單元,用于利用所述ARP應答報文攜帶的源網(wǎng)際協(xié)議IP地址查找映射表;其中,所述映射表中記錄有第二設備的IP地址; 第一處理單元,用于當查找到所述源IP地址時,利用所述源IP地址與所述ARP應答報文攜帶的源介質(zhì)訪問控制MAC地址更新ARP緩存表;當未查找到所述源IP地址時,確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述發(fā)送單元,具體用于在向第二設備發(fā)送ARP請求報文的過程中,向第二設備發(fā)送主動ARP請求報文;或者,在接收到第二設備發(fā)送的主動ARP請求報文之后,向所述第二設備發(fā)送被動ARP請求報文; 所述裝置還包括: 第一映射表添加單元,用于在所述發(fā)送單元向第二設備發(fā)送主動ARP請求報文之前,將所述主動ARP請求報文攜帶的目的IP地址添加到映射表中; 第二映射表添加單元,用于在所述發(fā)送單元接收到第二設備發(fā)送的主動ARP請求報文之后,將所述主動ARP請求報文攜帶的源IP地址添加到映射表中。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述第一映射表添加單元,還用于將所述主動ARP請求報文攜帶的目的MAC地址添加到映射表中,且所述目的MAC地址為廣播MAC地址; 所述第一處理單元,具體用于在所述第一查找單元利用所述ARP應答報文攜帶的源IP地址查找映射表之后,若查找到所述源IP地址,利用所述ARP應答報文攜帶的源MAC地址替換映射表中所述源IP地址對應的廣播MAC地址; 所述第二映射表添加單元,還用于將所述主動ARP請求報文攜帶的源MAC地址添加到映射表中,且所述源MAC地址為第二設備的MAC地址。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 第二查找單元,用于在所述發(fā)送單元向所述第二設備發(fā)送被動ARP請求報文之后,當接收到所述第二設備發(fā)送的ARP應答報文時,利用所述ARP應答報文攜帶的源IP地址和源MAC地址查找映射表; 第二處理單元,用于若查找到所述源IP地址和所述源MAC地址,則利用所述源IP地址和所述源MAC地址更新ARP緩存表;若未查找到所述源IP地址和所述源MAC地址,則確定所述ARP應答報文為ARP攻擊報文,丟棄所述ARP應答報文。11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 獲取單元,用于獲取所述主動ARP請求報文或者ARP應答報文攜帶的目的IP地址; 路由表查找單元,用于利用所述目的IP地址查找路由表; 第三處理單元,用于若未查找到所述目的IP地址,則確定所述主動ARP請求報文或者ARP應答報文為ARP攻擊報文,并丟棄所述主動ARP請求報文或者ARP應答報文;若查找到所述目的IP地址,則執(zhí)行向第二設備發(fā)送被動ARP請求報文或者利用所述ARP應答報文攜帶的源IP地址查找映射表的過程。12.根據(jù)權(quán)利要求7至10任一所述的裝置,其特征在于,所述裝置還包括: 映射表管理單元,用于在預設時間周期內(nèi),統(tǒng)計所述映射表中的IP地址數(shù);若所述IP地址數(shù)超過預設表項數(shù),則向管理設備發(fā)送ARP攻擊預警日志; ARP攻擊處理單元,用于若確定所述主動ARP請求報文或者ARP應答報文為ARP攻擊報文,則向管理設備發(fā)送ARP攻擊預警日志。
【文檔編號】H04L29/06GK105939332SQ201610121888
【公開日】2016年9月14日
【申請日】2016年3月3日
【發(fā)明人】楊印州
【申請人】杭州迪普科技有限公司