本申請(qǐng)涉及報(bào)文處理技術(shù)領(lǐng)域,特別是涉及一種ping報(bào)文處理方法及裝置。
背景技術(shù):
現(xiàn)有技術(shù)中,網(wǎng)絡(luò)設(shè)備,如路由器常常會(huì)收到由其他設(shè)備發(fā)送的針對(duì)本機(jī)的ping請(qǐng)求報(bào)文和ping應(yīng)答報(bào)文。
目前,網(wǎng)絡(luò)設(shè)備對(duì)ping請(qǐng)求報(bào)文和ping應(yīng)答報(bào)文這兩類(lèi)ping報(bào)文進(jìn)行處理的方式是,由網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)處理器接收所有的ping報(bào)文,然后發(fā)送給網(wǎng)絡(luò)設(shè)備的中央處理器CPU統(tǒng)一進(jìn)行處理。
CPU對(duì)ping報(bào)文進(jìn)行的處理,具體包括:若CPU收到ping請(qǐng)求報(bào)文,則生成應(yīng)答報(bào)文,通過(guò)網(wǎng)絡(luò)處理器返回給發(fā)送ping請(qǐng)求報(bào)文的網(wǎng)絡(luò)設(shè)備;若CPU收到ping應(yīng)答報(bào)文,則根據(jù)ping應(yīng)答報(bào)文生成ping結(jié)果輸出。
然而,有時(shí)網(wǎng)絡(luò)設(shè)備會(huì)收到ping攻擊,常見(jiàn)的方式就是偽造ping請(qǐng)求報(bào)文和ping應(yīng)答報(bào)文發(fā)送給網(wǎng)絡(luò)設(shè)備,此時(shí)CPU會(huì)收到大量的ping請(qǐng)求報(bào)文和ping應(yīng)答報(bào)文,增加了CPU負(fù)擔(dān),使CPU對(duì)其他協(xié)議的響應(yīng)減慢,甚至可能造成協(xié)議宕機(jī)。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例的目的在于提供一種ping報(bào)文處理方法及裝置,以減少CPU處理ping報(bào)文的報(bào)文數(shù)量,降低CPU處理ping報(bào)文的負(fù)擔(dān)。
第一方面,本申請(qǐng)實(shí)施例提供了一種ping報(bào)文處理方法,應(yīng)用于第一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)處理器,所述方法包括:
獲得針對(duì)本機(jī)的第一ping報(bào)文;
獲得所述第一ping報(bào)文的第一源IP地址;
在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址,其中,所述目標(biāo)流表記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址;
若未命中,則丟棄所述第一ping報(bào)文。
第二方面,本申請(qǐng)實(shí)施例提供了一種ping報(bào)文處理裝置,應(yīng)用于第一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)處理器,所述裝置包括:
第一獲得單元,用于獲得針對(duì)本機(jī)的第一ping報(bào)文;
第二獲得單元,用于獲得所述第一ping報(bào)文的第一源IP地址;
第一查找單元,用于在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址,其中,所述目標(biāo)流表記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址;
丟棄單元,用于所述第一查找單元在預(yù)設(shè)的目標(biāo)流表中未查找到所述第一源IP地址時(shí),丟棄所述第一ping報(bào)文。
在本申請(qǐng)實(shí)施例中,第一網(wǎng)絡(luò)設(shè)備獲得針對(duì)本機(jī)的第一ping報(bào)文,并在預(yù)設(shè)的目標(biāo)流表中,查找是否存在所述第一ping報(bào)文的第一源IP地址。由于在所述目標(biāo)流表中,記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址,因此當(dāng)在所述目標(biāo)流表中未命中所述第一源IP地址時(shí),認(rèn)為所述第一ping報(bào)文為非法報(bào)文,丟棄所述第一ping報(bào)文,減少了需要處理的第一ping報(bào)文的數(shù)量。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例提供的一種ping報(bào)文處理方法流程圖;
圖2為本申請(qǐng)實(shí)施例提供的一種ping報(bào)文處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
現(xiàn)有技術(shù)中,為了減輕ping攻擊對(duì)中央處理器CPU的影響,對(duì)ping請(qǐng)求和ping應(yīng)答報(bào)文上送CPU的隊(duì)列進(jìn)行簡(jiǎn)單的限速處理,使得上送CPU的報(bào)文速率減小,從而緩解CPU短時(shí)的處理負(fù)擔(dān)。
但是,這種方式只能減小上送CPU的報(bào)文速率,CPU仍然需要處理大量的攻擊報(bào)文。
為了解決上述問(wèn)題,本申請(qǐng)實(shí)施例提供了一種ping報(bào)文處理方法及裝置。
下面首先對(duì)本申請(qǐng)實(shí)施例提供的ping報(bào)文處理方法進(jìn)行說(shuō)明。
需要說(shuō)明的是,本申請(qǐng)實(shí)施例提供的ping報(bào)文處理方法的執(zhí)行主體為第一網(wǎng)絡(luò)設(shè)備。所述第一網(wǎng)絡(luò)設(shè)備包括但不局限于路由器,任意包括網(wǎng)絡(luò)處理器和中央處理器CPU的網(wǎng)絡(luò)設(shè)備,均可作為本申請(qǐng)實(shí)施例提供的ping報(bào)文處理方法的執(zhí)行主體。
可以理解的是,通過(guò)本申請(qǐng)實(shí)施例提供的ping報(bào)文處理方法,可以減少中央處理器CPU處理ping報(bào)文的報(bào)文數(shù)量,降低CPU處理ping報(bào)文的負(fù)擔(dān)。
如圖1所示,該ping報(bào)文處理方法可以包括如下步驟:
S101:獲得針對(duì)本機(jī)的第一ping報(bào)文;
其中,第一網(wǎng)絡(luò)設(shè)備會(huì)收到許多ping報(bào)文,這些ping報(bào)文的報(bào)文內(nèi)容中通常包含:ping報(bào)文的源IP地址、目的IP地址以及報(bào)文的類(lèi)型標(biāo)識(shí)。其中,報(bào)文的類(lèi)型標(biāo)識(shí)用來(lái)標(biāo)識(shí)ping報(bào)文是ping請(qǐng)求報(bào)文還是ping應(yīng)答報(bào)文。
需要說(shuō)明的是,針對(duì)本機(jī)的第一ping報(bào)文是指:所接收到的ping報(bào)文中,ping報(bào)文的目標(biāo)IP地址與所述第一網(wǎng)絡(luò)設(shè)備的IP地址相匹配的ping報(bào)文。
在確定針對(duì)本機(jī)的第一ping報(bào)文后,可以將接收到的ping報(bào)文中不屬于第一ping報(bào)文的報(bào)文丟棄,減少了需要處理的ping報(bào)文的數(shù)量。
S102:獲得所述一ping報(bào)文的第一源IP地址;
其中,在獲得針對(duì)本機(jī)的第一ping報(bào)文后,可以從所述第一ping報(bào)文的報(bào)文內(nèi)容中獲得該第一ping報(bào)文的第一源IP地址。所述第一源IP地址是發(fā)送所述第一ping報(bào)文的網(wǎng)絡(luò)設(shè)備的IP地址。
S103:在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址,其中,所述目標(biāo)流表記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址;
若未命中,執(zhí)行步驟S104:丟棄所述第一ping報(bào)文。
本領(lǐng)域技術(shù)人員可以理解的是,攻擊設(shè)備在對(duì)所述第一網(wǎng)絡(luò)設(shè)備進(jìn)行ping攻擊時(shí),常常會(huì)在很短時(shí)間內(nèi)向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送多個(gè)ping請(qǐng)求報(bào)文,因此,針對(duì)所接收到的第一ping報(bào)文為具有攻擊性的ping請(qǐng)求報(bào)文,所述目標(biāo)流表中可以記錄有所接收到的第一ping報(bào)文的第一源IP地址,以及第一次接收到所述第一ping報(bào)文的第一時(shí)間、本次接收到所述第一ping報(bào)文的第二時(shí)間及接收到所述第一ping報(bào)文的次數(shù)。其中,所述第一源IP地址是與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址。
在該種實(shí)現(xiàn)方式中,可以根據(jù)所述目標(biāo)流表,判斷在預(yù)設(shè)時(shí)間內(nèi)收到第一ping報(bào)文的次數(shù)是否超過(guò)預(yù)設(shè)閾值;如果超過(guò)所述預(yù)設(shè)閾值,表明所述第一ping報(bào)文為攻擊報(bào)文,丟棄所述第一ping報(bào)文,減少了所需要處理的第一ping報(bào)文的數(shù)量。為了方便理解,后續(xù)再對(duì)該種實(shí)現(xiàn)方式進(jìn)行具體說(shuō)明。
另外,本領(lǐng)域技術(shù)人員可以理解的是,當(dāng)所述第一網(wǎng)絡(luò)設(shè)備向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送第二ping請(qǐng)求報(bào)文時(shí),才會(huì)接收到該第二網(wǎng)絡(luò)設(shè)備所發(fā)送的ping應(yīng)答報(bào)文。因此,針對(duì)具有攻擊性的ping應(yīng)答報(bào)文,所述目標(biāo)流表中可以記錄有所述第二ping請(qǐng)求報(bào)文的目的IP地址。
可以理解的是,在該種實(shí)現(xiàn)方式中,可以根據(jù)所述目標(biāo)流表,對(duì)具有攻擊性的ping應(yīng)答報(bào)文進(jìn)行過(guò)濾,減少了需要處理的第一ping報(bào)文的數(shù)量。
需要說(shuō)明的是,所述第二網(wǎng)絡(luò)設(shè)備包括但是并不局限于智能手機(jī)、智能電視、電腦和路由器等設(shè)備。
在本申請(qǐng)實(shí)施例中,第一網(wǎng)絡(luò)設(shè)備獲得針對(duì)本機(jī)的第一ping報(bào)文,并在預(yù)設(shè)的目標(biāo)流表中,查找是否存在所述第一ping報(bào)文的第一源IP地址。由于在所述目標(biāo)流表中,記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址,因此當(dāng)在所述目標(biāo)流表中未命中所述第一源IP地址時(shí),認(rèn)為所述第一ping報(bào)文為非法報(bào)文,丟棄所述第一ping報(bào)文,減少了需要處理的第一ping報(bào)文的數(shù)量。
在本申請(qǐng)又一實(shí)施例中,由于所述第一網(wǎng)絡(luò)設(shè)備所對(duì)應(yīng)的路由表中所記錄的第二網(wǎng)絡(luò)設(shè)備的IP地址比較全,因此,在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址前,還可以包括:
在預(yù)設(shè)路由表中查找所獲得的第一源IP地址,所述路由表中存儲(chǔ)有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址;
若未命中,則丟棄所述第一ping報(bào)文;
若命中,執(zhí)行所述在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址的步驟。
可以理解的是,可以先利用所述路由表對(duì)所接收到的第一ping報(bào)文進(jìn)行過(guò)濾,以過(guò)濾掉不是所述第二網(wǎng)絡(luò)設(shè)備所發(fā)送的第一ping報(bào)文,減少了在所述預(yù)設(shè)的目標(biāo)流表查找第一源IP地址的工作量。若命中所述路由表,再利用預(yù)設(shè)的目標(biāo)流表,對(duì)所述第一ping報(bào)文作進(jìn)一步過(guò)濾。
在本申請(qǐng)又一實(shí)施例中,獲得針對(duì)本機(jī)的第一ping報(bào)文為ping請(qǐng)求報(bào)文;在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址的步驟前,還包括:
判斷是否已保存有所述目標(biāo)流表;
如果沒(méi)有,則建立所述目標(biāo)流表,將所述第一源IP地址保存至目標(biāo)流表中。
可以理解的是,在該種實(shí)現(xiàn)方式中,在所述第一ping報(bào)文命中路由表后,表明所述第一ping報(bào)文的第一源IP地址是所述第二網(wǎng)絡(luò)設(shè)備的IP地址。但是由于所述第一ping報(bào)文很可能是其他設(shè)備仿冒所述第二網(wǎng)絡(luò)設(shè)備所發(fā)送的報(bào)文。此時(shí)可以建立針對(duì)該第一ping報(bào)文的目標(biāo)流表,以進(jìn)一步確定該第一ping報(bào)文是否為攻擊報(bào)文。
下面對(duì)所建立的針對(duì)所述第一ping報(bào)文為ping請(qǐng)求報(bào)文的目標(biāo)流表作進(jìn)一步說(shuō)明。
在一種實(shí)現(xiàn)方式中,可以在所述路由表建立的同時(shí)建立所述目標(biāo)流表,具體地:在建立路由表后,將路由表中與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址保存至相應(yīng)的目標(biāo)流表中,并在所對(duì)應(yīng)的目標(biāo)流表中記錄所保存的IP地址的命中次數(shù)為1,后續(xù)存在命中該目標(biāo)流表的ping請(qǐng)求報(bào)文時(shí),將該目標(biāo)流表中與所述ping請(qǐng)求報(bào)文的第一源IP相匹配的IP地址的命中次數(shù)加1,并記錄該次命中所述目標(biāo)流表的時(shí)間。
在另一種實(shí)現(xiàn)方式中,在所述ping請(qǐng)求報(bào)文的第一源IP地址命中路由表后,判斷是否保存有該第一源IP地址的目標(biāo)流表。如果沒(méi)有,建立保存有所述第一源IP地址的目標(biāo)流表,并在所述目標(biāo)流表中記錄第一次接收到所述ping請(qǐng)求報(bào)文的第一時(shí)間,并記錄該次接收到所述ping請(qǐng)求報(bào)文的次數(shù)為1。
當(dāng)所述ping請(qǐng)求報(bào)文的第一源IP地址再次命中路由表后,判斷所述第一網(wǎng)絡(luò)設(shè)備中保存有所述第一源IP地址的目標(biāo)流表。記錄本次接收到所述ping請(qǐng)求報(bào)文的第二時(shí)間,并更新該次接收到所述ping請(qǐng)求報(bào)文的次數(shù)2,并按照該種方式,將所接收到的所述ping請(qǐng)求報(bào)文的接收時(shí)間和接收次數(shù),記錄到所述目標(biāo)流表中。
為了利用上述所建立的目標(biāo)流表確定所述ping請(qǐng)求報(bào)文是否為攻擊報(bào)文,可以在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址之后,根據(jù)所述目標(biāo)流表,判斷在預(yù)設(shè)時(shí)間內(nèi)收到第一ping報(bào)文的次數(shù)是否超過(guò)預(yù)設(shè)閾值;如果超過(guò)所述預(yù)設(shè)閾值,則丟棄所述第一ping報(bào)文。
可以理解的是,當(dāng)判斷在預(yù)設(shè)時(shí)間內(nèi)收到該ping請(qǐng)求報(bào)文的次數(shù)超過(guò)預(yù)設(shè)閾值時(shí),則認(rèn)為該ping請(qǐng)求報(bào)文為攻擊報(bào)文,丟棄該ping請(qǐng)求報(bào)文。例如,設(shè)定預(yù)設(shè)時(shí)間為2秒,預(yù)設(shè)閾值為10,當(dāng)根據(jù)該保存有該第一源IP地址的目標(biāo)流表,計(jì)算在2秒內(nèi)收到所述ping請(qǐng)求報(bào)文的次數(shù)為15時(shí),則丟棄所接收到的所述ping請(qǐng)求報(bào)文。
可選地,在命中所述目標(biāo)流表的情況下,可以根據(jù)所述第一ping報(bào)文的類(lèi)型,對(duì)所述第一ping報(bào)文進(jìn)行處理。具體地,當(dāng)所述第一ping報(bào)文為ping請(qǐng)求報(bào)文時(shí),可以通過(guò)所述第一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)處理器,生成所述第一ping報(bào)文對(duì)應(yīng)的第二ping應(yīng)答報(bào)文,并將所述第二ping應(yīng)答報(bào)文發(fā)送給所述第一源IP地址對(duì)應(yīng)的第二網(wǎng)絡(luò)設(shè)備。其中,
生成所述第一ping報(bào)文對(duì)應(yīng)的第二ping應(yīng)答報(bào)文的步驟包括:交換該第一ping報(bào)文的第一源IP地址和第一目的IP地址,并將該第一ping報(bào)文內(nèi)容中的報(bào)文類(lèi)型標(biāo)識(shí)修改為應(yīng)答報(bào)文標(biāo)識(shí),生成第二ping應(yīng)答報(bào)文。
在本申請(qǐng)又一實(shí)施例中,為了保證被所述第一網(wǎng)絡(luò)設(shè)備誤判斷是攻擊報(bào)文的正常第一ping報(bào)文能夠得到應(yīng)答,在建立保存有所述第一ping報(bào)文的第一源IP地址的目標(biāo)流表后,該方法還可以包括:
設(shè)置所述目標(biāo)流表的老化時(shí)間為第一老化時(shí)長(zhǎng),當(dāng)所述目標(biāo)流表存在時(shí)長(zhǎng)超過(guò)第一老化時(shí)長(zhǎng)時(shí),刪除所述目標(biāo)流表。
例如:第一網(wǎng)絡(luò)設(shè)備收到大量的攻擊性的第一ping報(bào)文,其中,所述第一ping報(bào)文為ping請(qǐng)求報(bào)文。這些第一ping報(bào)文的第一源IP地址是從1.1.1.1到10.10.10.10的大范圍的IP地址。其中,第一源IP地址為5.5.5.5的具有攻擊性的第一ping報(bào)文能命中預(yù)設(shè)的路由表。其中,
在第一次命中所述路由表后,會(huì)建立一個(gè)保存有所述5.5.5.5的IP地址的目標(biāo)流表。如果此時(shí)存在第一源IP地址為5.5.5.5的網(wǎng)絡(luò)設(shè)備對(duì)所述第一網(wǎng)絡(luò)設(shè)備發(fā)送正常的第一ping報(bào)文,但是由于攻擊性的具有第一源IP地址為5.5.5.5的第一ping報(bào)文數(shù)量較多,在所述目標(biāo)流表的生存周期內(nèi),該正常的第一ping報(bào)文也會(huì)被丟棄,無(wú)法執(zhí)行應(yīng)答。因此設(shè)置所述目標(biāo)流表的老化時(shí)間,使得在所述目標(biāo)流表的存在時(shí)長(zhǎng)超過(guò)第一老化時(shí)長(zhǎng)(例如10秒)后,刪除所述目標(biāo)流表,保證后續(xù)所獲得的正常的第一ping報(bào)文得到應(yīng)答。
下面以一個(gè)具體的例子對(duì)本申請(qǐng)實(shí)施例中所述第一網(wǎng)絡(luò)設(shè)備在接收到ping報(bào)文后,對(duì)所述ping報(bào)文的處理流程進(jìn)行詳細(xì)說(shuō)明。
假設(shè)所述第一網(wǎng)絡(luò)設(shè)備的IP地址為20.20.20.20,當(dāng)所述第一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)處理器接收到ping報(bào)文時(shí),會(huì)判斷該ping報(bào)文的目標(biāo)IP地址是否為20.20.20.20。如果是,則確定該ping報(bào)文是針對(duì)所述第一網(wǎng)絡(luò)設(shè)備的第一ping報(bào)文;如果不是,則確定該ping報(bào)文不是針對(duì)所述第一網(wǎng)絡(luò)設(shè)備的第一ping報(bào)文,并對(duì)該ping報(bào)文進(jìn)行丟棄,減少了需要處理的ping報(bào)文的數(shù)量。
當(dāng)該ping報(bào)文是針對(duì)所述第一網(wǎng)絡(luò)設(shè)備的第一ping報(bào)文時(shí),可以根據(jù)該第一ping報(bào)文的類(lèi)型標(biāo)識(shí),判斷該第一ping報(bào)文是ping請(qǐng)求報(bào)文還是ping應(yīng)答報(bào)文。例如根據(jù)該第一ping報(bào)文的報(bào)文內(nèi)容中的icmp type和icmp code字段來(lái)識(shí)別該第一ping報(bào)文是ping請(qǐng)求報(bào)文還是ping應(yīng)答報(bào)文。
下面對(duì)所述第一ping報(bào)文為ping請(qǐng)求報(bào)文的情況進(jìn)行具體說(shuō)明。
當(dāng)該第一ping報(bào)文被識(shí)別為ping請(qǐng)求報(bào)文時(shí),獲得所述ping請(qǐng)求報(bào)文的第一源IP地址。并在預(yù)設(shè)的路由表中查找所找獲得的第一源IP地址,其中,假設(shè)所述路由表中記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP為5.5.5.5。若未查到,說(shuō)明所述第一源IP地址不是第二網(wǎng)絡(luò)設(shè)備的IP地址,即說(shuō)明所述第一源IP地址不合法,丟棄所述ping請(qǐng)求報(bào)文,減少了需要處理的ping請(qǐng)求報(bào)文的數(shù)量。
若在所述路由表中能查找到所述第一源IP地址,說(shuō)明所述第一源IP地址是第二網(wǎng)絡(luò)設(shè)備的IP地址,且所述第一源IP地址為5.5.5.5。此時(shí)判斷是否已保存有記錄有5.5.5.5的IP地址的目標(biāo)流表,如果沒(méi)有,則建立保存有15.15.15.15的IP地址的目標(biāo)流表,并在所述目標(biāo)流表中記錄第一次接收到所述ping請(qǐng)求報(bào)文的第一時(shí)間,并記錄該次接收到所述ping請(qǐng)求報(bào)文的次數(shù)為1。
如果判斷已保存有記錄有5.5.5.5的IP地址的目標(biāo)流表,則記錄本次接收到所述ping請(qǐng)求報(bào)文的時(shí)間,并對(duì)接收到所述ping請(qǐng)求報(bào)文的次數(shù)加1。并判斷在預(yù)設(shè)時(shí)間(例如2秒)內(nèi)收到所述ping請(qǐng)求報(bào)文的次數(shù)是否超過(guò)預(yù)設(shè)閾值(例如10次);如果超過(guò)所述預(yù)設(shè)閾值,確定所述ping請(qǐng)求報(bào)文為攻擊報(bào)文,并丟棄所述ping請(qǐng)求報(bào)文,減少了需要處理的ping請(qǐng)求報(bào)文的數(shù)量。
如果未超過(guò)所述預(yù)設(shè)閾值,交換該ping請(qǐng)求報(bào)文的第一源IP地址和第一目的IP地址,并將該ping請(qǐng)求報(bào)文內(nèi)容中的報(bào)文類(lèi)型標(biāo)識(shí)修改為應(yīng)答報(bào)文標(biāo)識(shí),生成第二ping應(yīng)答報(bào)文,并將所述第二ping應(yīng)答報(bào)文發(fā)送至IP地址為5.5.5.5的第二網(wǎng)絡(luò)設(shè)備。
另外,在建立保存有所述ping請(qǐng)求報(bào)文的第一源IP地址的目標(biāo)流表后,設(shè)置該目標(biāo)流表的老化時(shí)間為第一老化時(shí)長(zhǎng),并實(shí)時(shí)監(jiān)控該目標(biāo)流表的存在時(shí)間是否超過(guò)第一老化時(shí)長(zhǎng)時(shí),若是,刪除所述目標(biāo)流表,保證了被所述第一網(wǎng)絡(luò)設(shè)備誤判斷是攻擊報(bào)文的正常的ping請(qǐng)求報(bào)文能夠得到應(yīng)答。
下面對(duì)所述第一ping報(bào)文為ping應(yīng)答報(bào)文的情況進(jìn)行具體說(shuō)明。
當(dāng)該第一ping報(bào)文被識(shí)別為ping應(yīng)答報(bào)文時(shí),獲得所述ping應(yīng)答報(bào)文的第一源IP地址。并在預(yù)設(shè)的路由表中查找所找獲得的第一源IP地址,其中,假設(shè)所述路由表中記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP為5.5.5.5。若未查到,說(shuō)明所述第一源IP地址不是第二網(wǎng)絡(luò)設(shè)備的IP地址,即說(shuō)明所述第一源IP地址不合法,丟棄所述ping應(yīng)答報(bào)文,減少了需要處理的ping應(yīng)答報(bào)文的數(shù)量。
若在所述路由表中能查找到所述第一源IP地址,說(shuō)明所述第一源IP地址是第二網(wǎng)絡(luò)設(shè)備的IP地址,且所述第一源IP地址為5.5.5.5。進(jìn)而在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址。
其中,在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址的步驟前,還可以包括:基于第一網(wǎng)絡(luò)設(shè)備生成并發(fā)送的第二ping請(qǐng)求報(bào)文,創(chuàng)建目標(biāo)流表;所述目標(biāo)流表用于記錄所述第二ping請(qǐng)求報(bào)文的目的IP地址,所述第二ping請(qǐng)求報(bào)文的目的IP地址為與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址。
另外,當(dāng)所述第一網(wǎng)絡(luò)設(shè)備生成并發(fā)送新的第二ping請(qǐng)求報(bào)文時(shí),創(chuàng)建包含記錄所述新的第二ping請(qǐng)求報(bào)文的目的IP地址的目標(biāo)流表。其中,所述新的第二ping請(qǐng)求報(bào)文的目的IP地址,與已創(chuàng)建的目標(biāo)流表中所記錄的IP地址不同。
當(dāng)在目標(biāo)流表中能查找到所述第一源IP地址時(shí),說(shuō)明所述ping應(yīng)答報(bào)文為針對(duì)所述第一網(wǎng)絡(luò)設(shè)備生成并發(fā)送的第二ping請(qǐng)求報(bào)文的應(yīng)答報(bào)文,將該ping應(yīng)答報(bào)文發(fā)送至第一網(wǎng)絡(luò)設(shè)備的中央處理器CPU進(jìn)行輸出處理。
當(dāng)在目標(biāo)流表中未能查找到所述第一源IP地址時(shí),說(shuō)明所述ping應(yīng)答報(bào)文并不是針對(duì)所述第二ping請(qǐng)求報(bào)文的應(yīng)答報(bào)文,丟棄所述ping應(yīng)答報(bào)文,減少了需要處理的ping應(yīng)答報(bào)文的數(shù)量。
另外,由于在正常情況下,所述第一網(wǎng)絡(luò)設(shè)備不會(huì)一直向第二網(wǎng)絡(luò)設(shè)備發(fā)送第二ping請(qǐng)求報(bào)文,也就是說(shuō),所述第一網(wǎng)絡(luò)設(shè)備不會(huì)一直收到由所述第二網(wǎng)絡(luò)設(shè)備發(fā)送的、針對(duì)所述第二ping請(qǐng)求報(bào)文的ping應(yīng)答報(bào)文。因此,在建立保存有所述第二ping請(qǐng)求報(bào)文的目標(biāo)IP地址的目標(biāo)流表后,設(shè)置該目標(biāo)流表的老化時(shí)間為第二老化時(shí)長(zhǎng),并實(shí)時(shí)監(jiān)控該目標(biāo)流表的存在時(shí)間是否超過(guò)第二老化時(shí)長(zhǎng)(例如5秒)。
其中,在所述第二老化時(shí)長(zhǎng)內(nèi),若所述第一網(wǎng)絡(luò)設(shè)備再次發(fā)送所述第二ping請(qǐng)求報(bào)文,則將該第二ping請(qǐng)求報(bào)文所對(duì)應(yīng)的目標(biāo)流表的存在時(shí)間清零;在所述第二老化時(shí)長(zhǎng)內(nèi),若所述第一網(wǎng)絡(luò)設(shè)備未再次發(fā)送所述第二ping請(qǐng)求報(bào)文,則認(rèn)為所接收的針對(duì)所述第二ping請(qǐng)求報(bào)文的ping應(yīng)答報(bào)文為攻擊報(bào)文,當(dāng)該第二ping請(qǐng)求報(bào)文對(duì)應(yīng)的目標(biāo)流表的存在時(shí)長(zhǎng)等于所述第二老化時(shí)長(zhǎng)時(shí),刪除所述目標(biāo)流表,以對(duì)該具有攻擊性的ping應(yīng)答報(bào)文進(jìn)行丟棄。
需要說(shuō)明的是,在另一種具體實(shí)現(xiàn)方式中,也可以在獲得所述ping應(yīng)答報(bào)文的第一源IP地址后,直接在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址,這是合理的。其中,在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址的過(guò)程,與上述所描述的查找目標(biāo)流表的過(guò)程相同,在此不做贅述。
相應(yīng)于上述方法實(shí)施例,本申請(qǐng)還提供了一種ping報(bào)文處理裝置,應(yīng)用于第一網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)處理器,如圖2所示,該裝置可以包括:
第一獲得單元201,用于獲得針對(duì)本機(jī)的第一ping報(bào)文;
第二獲得單元202,用于獲得所述第一ping報(bào)文的第一源IP地址;
第一查找單元203,用于在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址,其中,所述目標(biāo)流表記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址;
丟棄單元204,用于所述第一查找單元203在預(yù)設(shè)的目標(biāo)流表中未查找到所述第一源IP地址時(shí),丟棄所述第一ping報(bào)文。
可選地,本申請(qǐng)實(shí)施例提供的ping報(bào)文處理裝置,還可以包括:
第二查找單元,用于所述第一查找單元203在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址前,在預(yù)設(shè)路由表中查找所獲得的第一源IP地址,所述路由表中存儲(chǔ)有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址;
若未命中,觸發(fā)所述丟棄單元204;
若命中,觸發(fā)所述第一查找單元203。
可選地,所述第一獲得單元201所獲得的針對(duì)本機(jī)的第一ping報(bào)文為ping請(qǐng)求報(bào)文;
所述裝置還可以包括:
第一判斷單元,用于在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址前,判斷是否已保存有所述目標(biāo)流表;
第一構(gòu)建單元,用于在所述第一判斷單元判斷沒(méi)有保存所述目標(biāo)流表時(shí),建立所述目標(biāo)流表,將所述第一源IP地址保存至目標(biāo)流表中。
可選地,該裝置還可以包括:第二構(gòu)建單元,用于在建立路由表后,建立針對(duì)ping請(qǐng)求報(bào)文的目標(biāo)流表,將路由表中與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址保存至目標(biāo)流表中。
可選地,所述目標(biāo)流表中還記錄有第一次接收到第一ping報(bào)文的第一時(shí)間、本次接收到第一ping報(bào)文的第二時(shí)間及接收第一ping報(bào)文的次數(shù);
所述裝置還可以包括:第二判斷單元,用于所述第一查找單元203在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址的步驟前,根據(jù)所述目標(biāo)流表,判斷在預(yù)設(shè)時(shí)間內(nèi)收到第一ping報(bào)文的次數(shù)是否超過(guò)預(yù)設(shè)閾值;如果超過(guò)所述預(yù)設(shè)閾值,則觸發(fā)所述丟棄單元204。
可選地,本申請(qǐng)實(shí)施例提供的ping報(bào)文處理裝置,還包括:
生成單元,用于在所述第二判斷單元判斷出在預(yù)設(shè)時(shí)間內(nèi)收到第一ping報(bào)文的次數(shù)未超過(guò)所述預(yù)設(shè)閾值時(shí),生成所述第一ping報(bào)文對(duì)應(yīng)的第二ping應(yīng)答報(bào)文,并將所述第二ping應(yīng)答報(bào)文發(fā)送給所述第一源IP地址對(duì)應(yīng)的第二網(wǎng)絡(luò)設(shè)備。
可選地,所述第一獲得單元201所獲得的針對(duì)本機(jī)的第一ping報(bào)文為ping應(yīng)答報(bào)文;所述裝置還可以包括:
第三創(chuàng)建單元,用于所述第一查找單元203在預(yù)設(shè)的目標(biāo)流表中查找所述第一源IP地址的步驟前,基于第一網(wǎng)絡(luò)設(shè)備生成并發(fā)送的第二ping請(qǐng)求報(bào)文,創(chuàng)建目標(biāo)流表;所述目標(biāo)流表用于記錄所述第二ping請(qǐng)求報(bào)文的目的IP地址;所述目的IP地址為與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址。
在本申請(qǐng)實(shí)施例中,第一網(wǎng)絡(luò)設(shè)備獲得針對(duì)本機(jī)的第一ping報(bào)文,并在預(yù)設(shè)的目標(biāo)流表中,查找是否存在所述第一ping報(bào)文的第一源IP地址。由于在所述目標(biāo)流表中,記錄有與所述第一網(wǎng)絡(luò)設(shè)備相通信的第二網(wǎng)絡(luò)設(shè)備的IP地址,因此當(dāng)在所述目標(biāo)流表中未命中所述第一源IP地址時(shí),認(rèn)為所述第一ping報(bào)文為非法報(bào)文,丟棄所述第一ping報(bào)文,減少了需要處理的第一ping報(bào)文的數(shù)量。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并非用于限定本申請(qǐng)的保護(hù)范圍。凡在本申請(qǐng)的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本申請(qǐng)的保護(hù)范圍內(nèi)。