專利名稱:一種單向流量的檢測方法及網(wǎng)絡設備的制作方法
一種單向流量的檢測方法及網(wǎng)絡設備技術(shù)領(lǐng)域
本發(fā)明屬于安全檢測領(lǐng)域,尤其涉及一種單向流量的檢測方法及網(wǎng)絡設備。
背景技術(shù):
當前,在硬件安全市場中,反病毒(Ant1-Virus,AV)或者數(shù)據(jù)泄露防護 (DataLoss,DLP)等實現(xiàn)內(nèi)容安全檢測的功能,已經(jīng)成為UTM或者其他網(wǎng)絡安全設備必備的安全功能。由于AV或者DLP等特性本身主要都是對文件進行操作,如果每次都是對文件的部分內(nèi)容進行操作,而不是整個文件的話,特性的檢測率就會受到很大影響。在此基礎(chǔ)上, 出現(xiàn)了代理技術(shù)。
代理可以使得網(wǎng)絡設備充當中間人的角色,將報文中的文件內(nèi)容全部緩存下來, 待到整個文件全部還原后再進行安全檢測,可以明顯提高檢測率。
現(xiàn)有代理技術(shù)依賴于宿主操作系統(tǒng)提供的內(nèi)核態(tài)協(xié)議棧功能,報文要到達應用程序,需要經(jīng)過多次的報文拷貝,這在性能上是一個巨大的開銷。同時,由操作系統(tǒng)內(nèi)核來完全維護鏈接需要的所有信息,應用程序無法做到任何干預。
由操作系統(tǒng)內(nèi)核來維護鏈接信息所帶來的缺點是所有報文必須全部經(jīng)過操作系統(tǒng)內(nèi)核,才能實現(xiàn)鏈接信息的正常維護以形成完整的文件內(nèi)容。而如果在單向流量場景下, 報文會根據(jù)當前網(wǎng)絡負載情況選擇不同的鏈路進行轉(zhuǎn)發(fā)。如果文件中有一個報文從其他路徑轉(zhuǎn)發(fā)而并沒有經(jīng)過內(nèi)核進行處理,則此時該文件就會由于鏈接信息的不一致導致丟包, 最終導致該文件的鏈接中斷,無法形成完整的文件內(nèi)容。因此,現(xiàn)有代理技術(shù)都不支持單向流量檢測。發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種檢測單向流量的方法。所述方法在具有統(tǒng)一網(wǎng)關(guān)出口的負載均衡場景下,基于代理技術(shù)實現(xiàn)對單向流量的安全檢測。
第一方面,一種單向流量的檢測方法,其特征在于,所述方法包括
接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文;
當所述報文命中會話時,根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個網(wǎng)絡設備,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù);
判斷所述報文的同 步信息中的應用層數(shù)據(jù)是否為文件;
如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù);
將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件;
如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測;
如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備,以使所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析包括
接收所述其他網(wǎng)絡設備發(fā)送的封裝的同步信息,其中所述其他網(wǎng)絡設備發(fā)送的同步信息中包含有所述其他網(wǎng)絡設備接收的文件的其他報文的協(xié)議棧信息以及應用層數(shù)據(jù)信息;
對所述其他網(wǎng)絡設備發(fā)送的封裝的同步信息進行解封裝;
根據(jù)解封裝后的所述其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析。
結(jié)合第一方面,在第一方面的第二種可能的實現(xiàn)方式中,所述將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備包括
將所述報文的同步信息進行封裝;
將封裝后的所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備。
結(jié)合第一方面或者第一方面的第一種可能的實現(xiàn)方式或者第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述同步信息中還包括五元組信息,所述方法還包括
根據(jù)接收的所述其他網(wǎng)絡設備發(fā)送的同步信息中的五元組信息建立會話。
結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中,還包括
如果所述報文的同步信息中的應用層數(shù)據(jù)不是文件,則根據(jù)所述五元組信息將所述報文通過所述網(wǎng)關(guān)設備進行轉(zhuǎn)發(fā)。
第二方面,一種網(wǎng)絡設備,所述網(wǎng)絡設備包括
接收單元,用于接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文;
解析單元,用于當所述報文命中會話時,根據(jù)接收的檢測系統(tǒng)中的其他檢測設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個檢測設備,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù);
判斷單元,用于判斷所述報文的同步信息中的應用層數(shù)據(jù)是否為文件;
緩存單元,用于如果`所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù);
組合單元,用于將所述`報文的同步信息中的應用層數(shù)據(jù)與所述其他檢測設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件;
安全檢測單元,用于如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測;
發(fā)送單元,用于如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他檢測設備,以使所述其他檢測設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述解析單元,包括
第一接收子單元,用于接收所述其他檢測設備發(fā)送的封裝的同步信息,其中所述其他檢測設備發(fā)送的同步信息中包含有所述其他檢測設備接收的文件的其他報文的協(xié)議棧信息以及應用層數(shù)據(jù)信息。
解封裝子單元,用于對所述其他檢測設備發(fā)送的封裝的同步信息進行解封裝;
解析子單元,用于根據(jù)解封裝后的所述其他檢測設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析。
結(jié)合第二方面,在第二方面的第二種可能的實現(xiàn)方式中,所述發(fā)送單元,包括
封裝子單元,用于將所述報文的同步信息進行封裝;
發(fā)送子單元,用于將封裝后的所述報文的同步信息發(fā)送給所述其他檢測設備。
結(jié)合第二方面或者第二方面的第一種可能的實現(xiàn)方式或者第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,所述同步信息還包括五元組信息,
所述網(wǎng)絡設備還包括
會話建立單元,用于根據(jù)接收的所述其他檢測設備發(fā)送的同步信息中的五元組信息建立會話。
結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,所述網(wǎng)絡設備還包括
轉(zhuǎn)發(fā)單元,用于如果所述報文的同步信息中的應用層數(shù)據(jù)不是文件,則根據(jù)所述五元組信息將所述報文通過所述網(wǎng)關(guān)設備進行轉(zhuǎn)發(fā)。
第三方面,一種系統(tǒng),所述系統(tǒng)包括至少兩個上述網(wǎng)絡設備,所述至少兩個網(wǎng)絡設備用于實現(xiàn)網(wǎng)絡流量的負載均衡。
本發(fā)明實施例提供的一種單向流量的檢測方法,通過根據(jù)接收檢測系統(tǒng)中其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對報文進行解析,并將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件,如果所述報文是所述文件的最后一個報文時,則對所述文件進行安全檢測,如果所述報文不是所述文件的最后一個報文時,則將所述報文的同步信息發(fā)送給其他網(wǎng)絡設備,以使得所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行檢測,從而能夠在利用多個網(wǎng)絡設備接收文件的報文的情形下基于代理技術(shù)實現(xiàn)對單向流量的安全檢測。
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種檢測單向流量的方法應用場景圖2是本發(fā)明實施例提供的一種單向流量檢測的方法流程圖3是本發(fā)明實施例提供的一種網(wǎng)絡設備的裝置結(jié)構(gòu)圖4是本發(fā)明實施例提供的一種網(wǎng)絡設備中解析單元的裝置結(jié)構(gòu)圖5是本發(fā)明實施例提供的一種網(wǎng)絡設備中發(fā)送單元的裝置結(jié)構(gòu)圖6是本發(fā)明實施例提供的又一種網(wǎng)絡設備的裝置結(jié)構(gòu)圖7是本發(fā)明實施例提供的又一種網(wǎng)絡設備的裝置結(jié)構(gòu)圖8是本發(fā)明實施例提供的一種系統(tǒng)結(jié)構(gòu)圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
參考圖1,圖1是本發(fā)明實施例提供的一種單向流量的檢測方法應用場景圖。
如圖1所示,內(nèi)網(wǎng)具有統(tǒng)一的網(wǎng)關(guān)出口,在內(nèi)網(wǎng)中部署有至少兩臺的網(wǎng)絡設備,圖1中以兩臺網(wǎng)絡設備(網(wǎng)絡設備A和網(wǎng)絡設備B)為例進行說明,其中,網(wǎng)絡設備和內(nèi)網(wǎng)用戶的個人電腦(Personal Computer,PC)全部連接在辦公網(wǎng)絡上,網(wǎng)絡設備A和網(wǎng)絡設備B具有同一的網(wǎng)關(guān)出口,即通過同一個網(wǎng)關(guān)設備C實現(xiàn)內(nèi)網(wǎng)PC與外網(wǎng)設備的通信流量的轉(zhuǎn)發(fā), 網(wǎng)絡設備A和網(wǎng)絡設備B構(gòu)成的網(wǎng)絡系統(tǒng)可以對至少一個PC的流量進行轉(zhuǎn)發(fā),因此,網(wǎng)絡設備A和網(wǎng)絡設備B需要對內(nèi)網(wǎng)的至少一個PC與外部設備的流量進行處理、檢測和轉(zhuǎn)發(fā), 并能實現(xiàn)流量過濾的功能,且網(wǎng)絡設備A和網(wǎng)絡設備B能夠?qū)崿F(xiàn)流量的負載均衡。
需要說明的是,本發(fā)明實施例中的多個網(wǎng)絡設備包括網(wǎng)絡設備及具有流量檢測功能的其他網(wǎng)絡設備,同樣的,該多個網(wǎng)絡設備構(gòu)成的網(wǎng)絡系統(tǒng)包括由多個網(wǎng)絡設備構(gòu)成的檢測系統(tǒng)以及具有流量檢測功能的網(wǎng)絡系統(tǒng)。為了描述方便,下面的實施例中,將該多個網(wǎng)絡設備構(gòu)成的網(wǎng)絡系統(tǒng)稱為檢測系統(tǒng)。
參考圖2,圖2是本發(fā)明實施例提供的一種單向流量的檢測方法流程圖。該方法可以由圖1中的網(wǎng)絡設備A或網(wǎng)絡設備B來執(zhí)行,如圖2所示,該方法包括以下步驟
步驟201,接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文;
步驟202,當所 述報文命中會話時,根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個網(wǎng)絡設備,所述至少兩個網(wǎng)絡設備用于實現(xiàn)網(wǎng)絡流量的負載均衡,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù);
其中,所述協(xié)議棧信息包括但不限于序列號、確認(Acknowledgement, ACK)號、頭部長度、標記位、選項。
可實現(xiàn)的,所述根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析包括
接收所述其他網(wǎng)絡設備發(fā)送的封裝的同步信息,其中所述其他網(wǎng)絡設備發(fā)送的同步信息中包含有所述其他網(wǎng)絡設備接收的文件的其他報文的協(xié)議棧信息以及應用層數(shù)據(jù)信息;
對所述其他網(wǎng)絡設備發(fā)送的封裝的同步信息進行解封裝;
根據(jù)解封裝后的所述其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析。
具體的,網(wǎng)絡設備B接收網(wǎng)絡設備A發(fā)送的封裝的同步信息,所述網(wǎng)絡設備將網(wǎng)絡設備A發(fā)送的封裝的同步信息進行解封裝,并根據(jù)解封裝后的同步信息中的協(xié)議棧信息對所述網(wǎng)絡設備B接收的第二報文進行解析。
步驟203,判斷所述報文的同步信息中的應用層數(shù)據(jù)是否為文件;
具體的,如果報文以HTTP協(xié)議傳輸,則當解碼后應用層數(shù)據(jù)中出現(xiàn) Content-Disposition字段,就認為后面的數(shù)據(jù)的應用層數(shù)據(jù)是在傳文件;如果報文以FTP 協(xié)議傳輸,則當出現(xiàn)命令RETR,會新建一個鏈接,則認為此鏈接是在傳輸文件。
步驟204,如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù);
具體的,當網(wǎng)絡設備A接收第一報文的同步信息中應用層數(shù)據(jù)是文件時,則所述網(wǎng)絡設備A緩存所述應用層數(shù)據(jù);當網(wǎng)絡設備B接收第二報文的同步信息中的應用層數(shù)據(jù)是文件時,則所述網(wǎng)絡設備B緩存所述應用層數(shù)據(jù)。
步驟205,將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件;
本領(lǐng)域人員可以知道,同一時間一個會話只能傳輸一個文件,因此,當通過多個設備進行負載均衡的情況下,在同一時間,同一文件的多個報文可以經(jīng)過多個網(wǎng)絡設備進行傳輸。由于同一個會話中的五元組信息(包括源IP、目的IP、源端口、目的端口及協(xié)議類型)相同,而ACK號不同,因此,可以根據(jù)報文的五元組信息確定不同的報文是否屬于同一個會話,從而可以根據(jù)報文的五元組信息來確定不同的報文是否屬于同一個文件。并根據(jù)報文的ACK號將屬于同一個文件的多個報文的應用層數(shù)據(jù)內(nèi)容進行拼接以形成完整的文件內(nèi)容。
步驟206,如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測;
本領(lǐng)域人員可以知道,在進行文件傳輸時,會在該文件的最后一個數(shù)據(jù)包中打上傳輸結(jié)束的標識以表明該數(shù)據(jù)包為某個文件的最后一個數(shù)據(jù)包,因此,在本發(fā)明實施例中, 可以根據(jù)報文中的結(jié)束標識來確定接收的報文是否為文件的最后一個報文,例如如果在報文中出現(xiàn)FIN或RST標記,則表示該報文為文件的最后一個報文。
步驟207,如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備,以使所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
可實現(xiàn)的,在步驟207中,為了保證文件鏈接的正確性和完整性,所述將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備可以包括
將所述報文的同步信息進行封裝;
將封裝后的所述報文 的同步信息發(fā)送給所述其他網(wǎng)絡設備。
具體的,當網(wǎng)絡設備A判斷接收的第一個報文不是文件的最后一個報文時,則所述網(wǎng)絡設備A將第一報文的同步信息進行封裝,發(fā)送到網(wǎng)絡設備B,使得所述網(wǎng)絡設備B根據(jù)解封裝后得到的第一報文的同步信息對第二報文進行解析。
作為一種可選的實施例,所述方法還包括
如果所述報文的同步信息中的應用層數(shù)據(jù)不是文件,則根據(jù)所述五元組信息將所述報文通過所述網(wǎng)關(guān)設備進行轉(zhuǎn)發(fā)。
其中,所述五元組信息包括源IP、目的IP、源端口、目的端口、傳輸層協(xié)議。當網(wǎng)絡設備A判斷所述報文的同步信息中的應用層數(shù)據(jù)不是文件時,則可以根據(jù)該報文的五元組信息將該報文通過網(wǎng)絡設備C進行轉(zhuǎn)發(fā)。
本發(fā)明實施例提供的一種單向流量的檢測方法,通過根據(jù)接收的檢測系統(tǒng)中其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對報文進行解析,并將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件,如果所述報文是所述文件的最后一個報文時,則對所述文件進行安全檢測,如果所述報文不是所述文件的最后一個報文時,則將所述報文的同步信息發(fā)送給其他網(wǎng)絡設備,以使得所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行檢測從而實現(xiàn)對單向流量基于代理技術(shù)的安全檢測。
參考圖3,圖3是本發(fā)明實施例提供的一種網(wǎng)絡設備的裝置結(jié)構(gòu)圖。所述裝置包括如下單元
接收單元301,用于接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文;
解析單元302,用于當所述報文命中會話時,根據(jù)所述接收單元接收的檢測系統(tǒng)中的其他檢測設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個檢測設備,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù);
其中,所述協(xié)議棧信息包括但不限于序列號、確認(Acknowledgement, ACK)號、頭部長度、標記位、選項。
可實現(xiàn)的,所述解析單元302,包括
第一接收子單元401,用于接收所述其他檢測設備發(fā)送的封裝的同步信息,其中所述其他檢測設備發(fā)送的同步信息中包含有所述其他檢測設備接收的文件的其他報文的協(xié)議棧信息以及應用層數(shù)據(jù)信息;
解封裝子單元402,用于對所述第一接收子單元接收的所述其他檢測設備發(fā)送的封裝的同步信息進行解封裝;
解析子單元403,用于根據(jù)所述解封裝子單元解封裝后的所述其他檢測設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析。
判斷單元303,用于判斷所述解析單元獲得的所述報文的同步信息中的應用層數(shù)據(jù)是否為文件;
具體的,如果報文以HTTP協(xié)議傳輸,則當解碼后應用層數(shù)據(jù)中出現(xiàn) Content-Disposition字段,就認為后面的數(shù)據(jù)的應用層數(shù)據(jù)是在傳文件;如果報文以FTP 協(xié)議傳輸,則當出現(xiàn)命令RETR,會新建一個鏈接,則認為此鏈接是在傳輸文件。
緩存單元304,用于如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù);
具體的,當網(wǎng)絡設備A接收第一報文的同步信息中應用層數(shù)據(jù)是文件時,則所述網(wǎng)絡設備A緩存所述應用層數(shù)據(jù);當網(wǎng)絡設備B接收第二報文的同步信息中的應用層數(shù)據(jù)是文件時,則所述網(wǎng)絡設備B緩存所述應用層數(shù)據(jù)。
組合單元305, 用于將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他檢測設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件;
本領(lǐng)域人員可以知道,同一時間一個會話只能傳輸一個文件,因此,當通過多個設備進行負載均衡的情況下,在同一時間,同一文件的多個報文可以經(jīng)過多個網(wǎng)絡設備進行傳輸。由于同一個會話中的五元組信息(包括源IP、目的IP、源端口、目的端口及協(xié)議類型)相同,而ACK號不同,因此,可以根據(jù)報文的五元組信息確定不同的報文是否屬于同一個會話,從而可以根據(jù)報文的五元組信息來確定不同的報文是否屬于同一個文件。并根據(jù)報文的ACK號將屬于同一個文件的多個報文的應用層數(shù)據(jù)內(nèi)容進行拼接以形成完整的文件內(nèi)容。
安全檢測單元306,用于如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測;
發(fā)送單元307,用于如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他檢測設備,以使所述其他檢測設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
可實現(xiàn)的,所述發(fā)送單元307,包括
封裝子單元501,用于將所述報文的同步信息進行封裝;
發(fā)送子單元502,用于將所述封裝子單元封裝后的所述報文的同步信息發(fā)送給所述其他檢測設備。
本領(lǐng)域人員可以知道,在進行文件傳輸時,會在該文件的最后一個數(shù)據(jù)包中打上傳輸結(jié)束的標識以表明該數(shù)據(jù)包為某個文件的最后一個數(shù)據(jù)包,因此,在本發(fā)明實施例中, 可以根據(jù)報文中的結(jié)束標識來確定接收的報文是否為文件的最后一個報文。
具體的,當網(wǎng)絡設備A判斷接收的第一個報文不是文件的最后一個報文時,則所述網(wǎng)絡設備A將第一報文的同步信息進行封裝,發(fā)送到網(wǎng)絡設備B,使得所述網(wǎng)絡設備B根據(jù)解封裝后得到的第一報文的同步信息對第二報文進行解析。
其中,所述五元組信息包括源IP、目的IP、源端口、目的端口、傳輸層協(xié)議。當網(wǎng)絡設備A判斷所述報文的同步信息中的應用層數(shù)據(jù)不是文件時,則可以根據(jù)該報文的五元組信息將該報文通過網(wǎng)絡設備C進行轉(zhuǎn)發(fā)。
作為一種可選的實施例,所述同步信息還包括五元組信息,
所述網(wǎng)絡設備還包括
會話建立單元,用于根據(jù)·接收的所述其他網(wǎng)絡設備發(fā)送的同步信息中的五元組信息建立會話。
圖6本發(fā)明實施例提供的圖1中所示網(wǎng)絡設備的又一種裝置結(jié)構(gòu)示意圖。如圖6 所示,其中會話管理模塊可以包括圖3所示實施例中的接收單元201,用戶態(tài)協(xié)議棧處理模塊可以包括圖3所示實施例中的解析單元202、判斷單元203,應用層處理模塊可以包括圖 3所示實施例中的緩存單元204、組合單元205、安全檢測單元206,消息處理模塊可以包括圖3所示實施例中的發(fā)送單元207。
假設外網(wǎng)發(fā)送文件分為第一報文和第二報文。當網(wǎng)絡設備A接收到來自于外網(wǎng)的第一報文時,當所述第一報文是會話報文時,所述網(wǎng)絡設備A的會話管理模塊提取第一報文中的會話信息;所述網(wǎng)絡設備A的用戶態(tài)協(xié)議棧處理模塊獲取的第一報文中的同步信息,存儲第一報文同步信息中的協(xié)議棧信息,將第一報文同步信息中的應用層數(shù)據(jù)發(fā)送到網(wǎng)絡設備A的應用層代理模塊,并將第一報文的同步信息發(fā)送給消息處理模塊進行同步信息的封裝,發(fā)給網(wǎng)絡設備B。
網(wǎng)絡設備B和網(wǎng)絡設備A根據(jù)預先設置的IP地址列表是聯(lián)網(wǎng)的,網(wǎng)絡設備B將接收到網(wǎng)絡設備A發(fā)送的封裝的同步信息,所述網(wǎng)絡設備B解封裝所述封裝的同步信息,將第一報文中的會話信息存儲在網(wǎng)絡設備B的會話管理模塊,將第一報文中的同步信息存儲在網(wǎng)絡設備B的用戶態(tài)協(xié)議棧,將第一報文中的應用層數(shù)據(jù)存儲在網(wǎng)絡設備B的應用層代理模塊。
當網(wǎng)絡設備B接收到來自外網(wǎng)發(fā)送的同一個文件的第二報文時,所述網(wǎng)絡設備B 的會話管理模塊根據(jù)網(wǎng)絡設備A同步的同步信息中的協(xié)議棧信息對第二報文進行解析,提取第二報文中的會話信息;所述網(wǎng)絡設備B的用戶態(tài)協(xié)議棧處理模塊提取第二報文中的同步信息,存儲第二報文同步信息中的協(xié)議棧信息,將第二報文同步信息中的應用層數(shù)據(jù)發(fā)送到網(wǎng)絡設備B的應用層代理模塊。網(wǎng)絡設備B的應用層代理模塊將之前存儲的第一報文的應用層數(shù)據(jù)和現(xiàn)在解析的第二報文的應用層數(shù)據(jù)進行組合獲得文件。
同時,所述網(wǎng)絡設備B判斷所述第二報文已經(jīng)是所述文件的最后一個報文時,則所述網(wǎng)絡設備B通過應用層代理模塊對所述文件進行安全檢測。
本發(fā)明實施例提供的一種網(wǎng)絡設備,通過根據(jù)接收的檢測系統(tǒng)中其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對報文進行解析,并將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件,如果所述報文是所述文件的最后一個報文時,則對所述文件進行安全檢測,如果所述報文不是所述文件的最后一個報文時,則將所述報文的同步信息發(fā)送給其他網(wǎng)絡設備,以使得所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行檢測從而實現(xiàn)對單向流量基于代理技術(shù)的安全檢測。
參考圖7,圖7是本發(fā)明實施例提供的一種網(wǎng)絡設備的裝置結(jié)構(gòu)圖。參考圖7,圖7 是本發(fā)明實施例提供的一種網(wǎng)絡設備700,本發(fā)明具體實施例并不對所述設備的具體實現(xiàn)做限定。所述網(wǎng)絡設備700包括
處理器(processor)701,通信接口(Communications Interface) 702,存儲器 (memory) 703,總線 704。
處理器701,通信接口 702,存儲器703通過總線704完成相互間的通信。
通信接口 702,用于與其他網(wǎng)絡設備進行通信;
處理器701,用于執(zhí)行程序。
具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。
處理器701可能是一個中央處理器CPU,或者是特定集成電路ASIC (Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器703,用于存放程序 7031。存儲器803可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory)。
程序7031具體可以包括
接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文;
當所述報文命中會話時,根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個網(wǎng)絡設備,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù);
判斷所述報文的同步信息中的應用層數(shù)據(jù)是否為文件;
如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù);
將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件;
如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測;
如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備,以使所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
程序7031中各功能模塊的具體實現(xiàn)可以參見上述圖4-圖6所示實施例中的相應模塊,在此不再贅述。
參考圖8,圖8是本發(fā)明實施例提供的一種檢測系統(tǒng)結(jié)構(gòu)圖。如圖8所示,為了描述方便,圖8以檢測系統(tǒng)中包括3個網(wǎng)絡設備(網(wǎng)絡設備1、網(wǎng)絡設備2,網(wǎng)絡設備3)為例進行描述,實際應用中,所述系統(tǒng)可以包括至少兩個網(wǎng)絡設備,所述至少兩個網(wǎng)絡設備用于實現(xiàn)網(wǎng)絡流量的負載均衡;
所述網(wǎng)絡設備,用于接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文;當所述報文命中會話時,根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù);判斷所述報文的同步信息中的應用層數(shù)據(jù)是否為文件;如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù);將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件;如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測;如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備,以使所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
圖8以檢測系統(tǒng)中包括3個網(wǎng)絡設備(網(wǎng)絡設備1、網(wǎng)絡設備2,網(wǎng)絡設備3)為例進行描述,假設外網(wǎng)發(fā)送文件分為第一報文和第二報文至第N報文,其中N等于或大于2,當網(wǎng)絡設備I接收到來自于外網(wǎng)的第一報文時,當所述第一報文是會話報文時,所述網(wǎng)絡設備I 的會話管理模塊提取第一報文中的會話信息;所述網(wǎng)絡設備I的用戶態(tài)協(xié)議棧處理模塊獲取的第一報文中的同步信息,存儲第一報文同步信息中的協(xié)議棧信息,將第一報文同步信息中的應用層數(shù)據(jù)發(fā)送到網(wǎng)絡設備I的應用層代理模塊,并將第一報文的同步信息發(fā)送給消息處理模塊進行同步信息的封裝,同步發(fā)給網(wǎng)絡設備2。
網(wǎng)絡設備2和網(wǎng)絡設備I根據(jù)預先設置的IP地址列表是聯(lián)網(wǎng)的,網(wǎng)絡設備2將接收到網(wǎng)絡設備I發(fā)送的封裝的同步信息,所述網(wǎng)絡設備2解封裝所述封裝的同步信息,將第一報文中的會話信息存儲在網(wǎng)絡設備2的會話管理模塊,將第一報文中的同步信息存儲在網(wǎng)絡設備2的用戶態(tài)協(xié)議棧處理模塊,將第一報文中的應用層數(shù)據(jù)存儲在網(wǎng)絡設備2的應用層代理模塊。
當網(wǎng)絡設備2 接收到來自外網(wǎng)發(fā)送的同一個文件的第二報文時,所述網(wǎng)絡設備2 的用戶態(tài)協(xié)議棧處理模塊提取第二報文中的同步信息,存儲第二報文同步信息中的協(xié)議棧信息,將第二報文同步信息中的應用層數(shù)據(jù)發(fā)送到網(wǎng)絡設備2的應用層代理模塊。網(wǎng)絡設備2的應用層代理模塊將之前存儲的第一報文的應用層數(shù)據(jù)和現(xiàn)在解析的第二報文的應用層數(shù)據(jù)進行組合獲得文件。
同時,所述網(wǎng)絡設備2判斷所述第二報文不是所述文件的最后一個報文時,則所述網(wǎng)絡設備2通過消息處理模塊將第二報文的同步信息進行封裝,發(fā)送給系統(tǒng)中的其他網(wǎng)絡設備,所述其他網(wǎng)絡設備為除2以外的系統(tǒng)中的所有網(wǎng)絡設備,例如網(wǎng)絡設備I。
當所述網(wǎng)絡設備3接收到來自外網(wǎng)發(fā)送的同一個文件的第N報文時,所述網(wǎng)絡設備3的會話管理模塊根據(jù)網(wǎng)絡設備3同步的同步信息中的協(xié)議棧信息對第N報文進行解析,提取第N報文中的會話信息;所述網(wǎng)絡設備3的用戶態(tài)協(xié)議棧提取第N報文中的同步信息,存儲第N報文同步信息中的協(xié)議棧信息,將第N報文同步信息中的應用層數(shù)據(jù)發(fā)送到網(wǎng)絡設備3的應用層代理模塊。網(wǎng)絡設備3的應用層代理模塊將之前存儲的第一報文的應用層數(shù)據(jù),第二報文的應用層數(shù)據(jù)及第N-1報文的應用層數(shù)據(jù)和現(xiàn)在解析的第N報文的應用層數(shù)據(jù)進行組合獲得文件。
同時,所述網(wǎng)絡設備3判斷所述第N報文已經(jīng)是所述文件的最后一個報文時,則所述網(wǎng)絡設備3通過應用層代理模塊對所述文件進行安全檢測。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設備和模塊的具體工作過程,可以參考前述方法實施例中的對應過程描述,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個設備中,或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部,模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。
最后應說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制; 盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行 等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種單向流量的檢測方法,其特征在于,所述方法包括 接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文; 當所述報文命中會話時,根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個網(wǎng)絡設備,所述至少兩個網(wǎng)絡設備用于實現(xiàn)網(wǎng)絡流量的負載均衡,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù); 判斷所述報文的同步信息中的應用層數(shù)據(jù)是否為文件; 如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù); 將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件; 如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測; 如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備,以使所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
2.根據(jù)權(quán)利要求1所述的單向流量的檢測方法,其特征在于,所述根據(jù)接收的檢測系統(tǒng)中的其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析包括 接收所述其他網(wǎng)絡設備發(fā)送的封裝的同步信息,其中所述其他網(wǎng)絡設備發(fā)送的同步信息中包含有所述其他網(wǎng)絡設備接收的文件的其他報文的協(xié)議棧信息以及應用層數(shù)據(jù)信息; 對所述其他網(wǎng)絡設備發(fā)送的封裝的同步信息進行解封裝; 根據(jù)解封裝后的所述其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析。
3.根據(jù)權(quán)利要求1所述的單向流量的檢測方法,其特征在于,所述將所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備包括 將所述報文的同步信息進行封裝; 將封裝后的所述報文的同步信息發(fā)送給所述其他網(wǎng)絡設備。
4.根據(jù)權(quán)利要求1-3任意一項所述的方法,其特征在于 所述同步信息中還包括五元組信息, 所述方法還包括 根據(jù)接收的所述其他網(wǎng)絡設備發(fā)送的同步信息中的五元組信息建立會話。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括 如果所述報文的同步信息中的應用層數(shù)據(jù)不是文件,則根據(jù)所述五元組信息將所述報文通過所述網(wǎng)關(guān)設備進行轉(zhuǎn)發(fā)。
6.一種網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備包括 接收單元,用于接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的報文; 解析單元,用于當所述報文命中會話時,根據(jù)所述接收單元接收的檢測系統(tǒng)中的其他檢測設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析,獲得所述報文的同步信息,其中,所述檢測系統(tǒng)中包括至少兩個檢測設備,所述報文的同步信息中包含有協(xié)議棧信息和應用層數(shù)據(jù); 判斷單元,用于判斷所述解析單元獲得的所述報文的同步信息中的應用層數(shù)據(jù)是否為文件; 緩存單元,用于如果所述報文的同步信息中的應用層數(shù)據(jù)是文件,則緩存所述應用層數(shù)據(jù); 組合單元,用于將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他檢測設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件; 安全檢測單元,用于如果所述報文是所述文件的最后一個報文,則對所述文件進行安全檢測; 發(fā)送單元,用于如果所述報文不是所述文件的最后一個報文,則將所述報文的同步信息發(fā)送給所述其他檢測設備,以使所述其他檢測設備根據(jù)所述報文的同步信息對所述文件進行安全檢測。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡設備,其特征在于,所述解析單元,包括 第一接收子單元,用于接收所述其他檢測設備發(fā)送的封裝的同步信息,其中所述其他檢測設備發(fā)送的同步信息中包含有所述其他檢測設備接收的文件的其他報文的協(xié)議棧信息以及應用層數(shù)據(jù)信息; 解封裝子單元,用于對所述第一接收子單元接收的所述其他檢測設備發(fā)送的封裝的同步信息進行解封裝; 解析子單元,用于根據(jù)所述解封裝子單元解封裝后的所述其他檢測設備發(fā)送的同步信息中的協(xié)議棧信息對所述報文進行解析。
8.根據(jù)權(quán)利要求6所述的網(wǎng)絡設備,其特征在于,所述發(fā)送單元,包括 封裝子單元,用于將所述報文的同步信息進行封裝; 發(fā)送子單元,用于將所述封裝子單元封裝后的所述報文的同步信息發(fā)送給所述其他檢測設備。
9.根據(jù)權(quán)利要求6-8任意一項所述的網(wǎng)絡設備,其特征在于,所述同步信息還包括五元組信息, 所述網(wǎng)絡設備還包括 會話建立單元,用于根據(jù)接收的所述其他檢測設備發(fā)送的同步信息中的五元組信息建立會話。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備還包括 轉(zhuǎn)發(fā)單元,用于如果所述報文的同步信息中的應用層數(shù)據(jù)不是文件,則根據(jù)所述五元組信息將所述報文通過所述網(wǎng)關(guān)設備進行轉(zhuǎn)發(fā)。
11.一種系統(tǒng),其特征在于,所述系統(tǒng)包括至少兩個如權(quán)利要求6-10任意一項所述的網(wǎng)絡設備,所述至少兩個網(wǎng)絡設備用于實現(xiàn)網(wǎng)絡流量的負載均衡。
全文摘要
本發(fā)明實施例公開一種單向流量的檢測方法及網(wǎng)絡設備,通過根據(jù)接收的檢測系統(tǒng)中其他網(wǎng)絡設備發(fā)送的同步信息中的協(xié)議棧信息對報文進行解析,并將所述報文的同步信息中的應用層數(shù)據(jù)與所述其他網(wǎng)絡設備發(fā)送的同步信息中的應用層數(shù)據(jù)進行組合獲得文件,如果所述報文是所述文件的最后一個報文時,則對所述文件進行安全檢測,如果所述報文不是所述文件的最后一個報文時,則將所述報文的同步信息發(fā)送給其他網(wǎng)絡設備,以使得所述其他網(wǎng)絡設備根據(jù)所述報文的同步信息對所述文件進行檢測從而實現(xiàn)對單向流量基于代理技術(shù)的安全檢測。
文檔編號H04L29/06GK103036984SQ201210546318
公開日2013年4月10日 申請日期2012年12月17日 優(yōu)先權(quán)日2012年12月17日
發(fā)明者薛智慧, 蔣武, 李世光 申請人:華為技術(shù)有限公司