專利名稱::識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
,特別涉及一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法和系統(tǒng)。
背景技術(shù):
:傳統(tǒng)的網(wǎng)絡(luò)技術(shù)中,OSI(OpenSystemInterconnection,開放系統(tǒng)互連)標(biāo)準(zhǔn)將計算機(jī)網(wǎng)絡(luò)描述為七層模型。該七層模型由下至上分別為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表達(dá)層以及應(yīng)用層。網(wǎng)絡(luò)層協(xié)議主要包括IP協(xié)議。應(yīng)用層協(xié)議中,很多協(xié)議都包含應(yīng)用層通信的信息,比如SIP(SessionInitiationProtocol,一種應(yīng)用層的信令控制協(xié)議)、FTP(FileTransferProtocol,文件傳輸協(xié)議)、HTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)等。當(dāng)網(wǎng)絡(luò)中不同子網(wǎng)內(nèi)的節(jié)點(diǎn)之間進(jìn)行通信時,需要通過NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)進(jìn)行地址轉(zhuǎn)換。在NAT技術(shù)的實(shí)際應(yīng)用過程中,僅對網(wǎng)絡(luò)層報文的報文頭進(jìn)行IP地址的識別和轉(zhuǎn)換,而對于應(yīng)用層協(xié)議協(xié)商過程中網(wǎng)絡(luò)報文的正文部分中的地址信息(IP)則無法進(jìn)行識別和轉(zhuǎn)換。傳統(tǒng)技術(shù)中,為了對網(wǎng)絡(luò)報文的正文部分中的地址信息(IP)進(jìn)行識別和轉(zhuǎn)換,在有NAT處理的組網(wǎng)方案中,可以使用應(yīng)用層網(wǎng)關(guān)(ALG,ApplicationLayerGateway)技術(shù)。NAT利用ALG技術(shù)可以對包含應(yīng)用層通信信息的各種協(xié)議的應(yīng)用層報文信息進(jìn)行解析和地址轉(zhuǎn)換,從而保證應(yīng)用層上通信的正確性。然而,傳統(tǒng)技術(shù)中的ALG技術(shù)工作于應(yīng)用層,而應(yīng)用層屬于OSI七層模型中的最上層,因此ALG技術(shù)在執(zhí)行時,會調(diào)用大量的抽象的轉(zhuǎn)換函數(shù),而不能對數(shù)據(jù)包直接進(jìn)行操作和修改,因此利用ALG技術(shù)識別和轉(zhuǎn)換網(wǎng)絡(luò)報文的正文部分中的地址信息的執(zhí)行效率較低。
發(fā)明內(nèi)容基于此,有必要提供一種能提高執(zhí)行效率的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法。一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,包括以下步驟:在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,所述網(wǎng)絡(luò)報文包括報頭部分、正文部分;查找所述網(wǎng)絡(luò)報文的正文部分中的地址信息,并使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息;更新所述網(wǎng)絡(luò)報文的校驗(yàn)值。優(yōu)選的,所述使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息的步驟之前還包括:在網(wǎng)絡(luò)層上預(yù)設(shè)的檢測點(diǎn)注冊所述回調(diào)函數(shù)。優(yōu)選的,所述使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息的步驟具體為:使用所述預(yù)設(shè)的回調(diào)函數(shù)在所述網(wǎng)絡(luò)報文中查找應(yīng)用層協(xié)議頭,然后按照預(yù)設(shè)的地址映射表將所述應(yīng)用層協(xié)議頭中包含的地址信息進(jìn)行轉(zhuǎn)換。優(yōu)選的,所述更新所述網(wǎng)絡(luò)報文的校驗(yàn)值的步驟之后還包括:根據(jù)所述校驗(yàn)值維護(hù)連接應(yīng)答信息。優(yōu)選的,所述在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文的步驟之后還包括:根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述網(wǎng)絡(luò)報文的報頭部分中的地址信息。此外,還有必要提供一種能提高執(zhí)行效率的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng)。一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng),包括以下模塊:報文抓取模塊,用于在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,所述網(wǎng)絡(luò)報文包括報頭部分、正文部分;地址轉(zhuǎn)換模塊,用于查找所述網(wǎng)絡(luò)報文的正文部分中的地址信息,并使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息;校驗(yàn)更新模塊,用于更新所述網(wǎng)絡(luò)報文的校驗(yàn)值。優(yōu)選的,還包括回調(diào)函數(shù)注冊模塊,用于在網(wǎng)絡(luò)層上預(yù)設(shè)的檢測點(diǎn)注冊所述回調(diào)函數(shù)。優(yōu)選的,所述地址轉(zhuǎn)換模塊用于使用所述預(yù)設(shè)的回調(diào)函數(shù)在所述網(wǎng)絡(luò)報文中查找應(yīng)用層協(xié)議頭,然后按照預(yù)設(shè)的地址映射表將所述應(yīng)用層協(xié)議頭中包含的地址信息進(jìn)行轉(zhuǎn)換。優(yōu)選的,還包括連接維護(hù)模塊,用于根據(jù)所述校驗(yàn)值維護(hù)連接應(yīng)答信息。優(yōu)選的,所述地址轉(zhuǎn)換模塊還用于根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述網(wǎng)絡(luò)報文的報頭部分中的地址信息。上述識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法和系統(tǒng),先在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,然后根據(jù)預(yù)設(shè)的地址映射表,在網(wǎng)絡(luò)層通過回調(diào)函數(shù)對網(wǎng)絡(luò)報文中的正文部分中的地址信息進(jìn)行了轉(zhuǎn)換。使得在識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息時,不需要調(diào)用應(yīng)用層的抽象的轉(zhuǎn)換函數(shù),避免了調(diào)用抽象的轉(zhuǎn)換函數(shù)時大量的庫函數(shù)調(diào)用和類型判斷,從而提高了執(zhí)行效率。圖1為一個實(shí)施例中識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法的流程圖;圖2為一個實(shí)施例中IP協(xié)議定義的網(wǎng)絡(luò)報文的組織示意圖。圖3為一個實(shí)施例中識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng)的結(jié)構(gòu)示意圖。圖4為另一個實(shí)施例中識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式如圖1所示,在一個實(shí)施例中,一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,包括以下步驟:步驟S102,在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,網(wǎng)絡(luò)報文包括報頭部分、正文部分。在OSI七層模型中,網(wǎng)絡(luò)層協(xié)議包括IP(InternetProtocol,網(wǎng)絡(luò)互聯(lián)協(xié)議)協(xié)議、IPX(InternetworkPacketExchangeprotocol,互聯(lián)網(wǎng)分組交換協(xié)議)協(xié)議等。數(shù)據(jù)在網(wǎng)絡(luò)層傳輸時,均以網(wǎng)絡(luò)報文的形式進(jìn)行傳輸。如圖2所示,網(wǎng)絡(luò)層的IP協(xié)議中的網(wǎng)絡(luò)報文(IP包)包括IP報頭部分(如圖2中的20個字節(jié)部分)和IP正文部分(如圖2中的數(shù)據(jù)部分)。報頭部分包含了IP協(xié)議標(biāo)識、源地址、目標(biāo)地址以及整個IP網(wǎng)絡(luò)報文的校驗(yàn)和。在windows平臺,可以通過sniffer(網(wǎng)絡(luò)嗅探器)技術(shù)抓取IP包。Sniffer技術(shù)通過將網(wǎng)絡(luò)適配器置為雜亂模式(promiscuousmode)來抓取位于傳輸層的TCP或UDP包,然后通過解包獲取TCP包或UDP包封裝的IP包。在Iinux平臺可以通過iptables技術(shù)來抓取IP包。步驟S104,查找網(wǎng)絡(luò)報文的正文部分中的地址信息,并使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換地址信息。例如,預(yù)先創(chuàng)建的地址映射表可參考表I所示:表權(quán)利要求1.一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,包括以下步驟:在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,所述網(wǎng)絡(luò)報文包括報頭部分、正文部分;查找所述網(wǎng)絡(luò)報文的正文部分中的地址信息,并使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息;更新所述網(wǎng)絡(luò)報文的校驗(yàn)值。2.根據(jù)權(quán)利要求1所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,其特征在于,所述使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息的步驟之前還包括:在網(wǎng)絡(luò)層上預(yù)設(shè)的檢測點(diǎn)注冊所述回調(diào)函數(shù)。3.根據(jù)權(quán)利要求1或2所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,其特征在于,所述使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息的步驟具體為:使用所述預(yù)設(shè)的回調(diào)函數(shù)在所述網(wǎng)絡(luò)報文中查找應(yīng)用層協(xié)議頭,然后按照預(yù)設(shè)的地址映射表將所述應(yīng)用層協(xié)議頭中包含的地址信息進(jìn)行轉(zhuǎn)換。4.根據(jù)權(quán)利要求1或2所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,其特征在于,所述更新所述網(wǎng)絡(luò)報文的校驗(yàn)值的步驟之后還包括:根據(jù)所述校驗(yàn)值維護(hù)連接應(yīng)答信息。5.根據(jù)權(quán)利要求1或2所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,其特征在于,所述在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文的步驟之后還包括:根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述網(wǎng)絡(luò)報文的報頭部分中的地址信息。6.一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng),其特征在于,包括以下模塊:報文抓取模塊,用于在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,所述網(wǎng)絡(luò)報文包括報頭部分、正文部分;地址轉(zhuǎn)換模塊,用于查找所述網(wǎng)絡(luò)報文的正文部分中的地址信息,并使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息;校驗(yàn)更新模塊,用于更新所述網(wǎng)絡(luò)報文的校驗(yàn)值。7.根據(jù)權(quán)利要求6所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng),其特征在于,還包括回調(diào)函數(shù)注冊模塊,用于在網(wǎng)絡(luò)層上預(yù)設(shè)的檢測點(diǎn)注冊所述回調(diào)函數(shù)。8.根據(jù)權(quán)利要求6或7所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng),其特征在于,所述地址轉(zhuǎn)換模塊用于使用所述預(yù)設(shè)的回調(diào)函數(shù)在所述網(wǎng)絡(luò)報文中查找應(yīng)用層協(xié)議頭,然后按照預(yù)設(shè)的地址映射表將所述應(yīng)用層協(xié)議頭中包含的地址信息進(jìn)行轉(zhuǎn)換。9.根據(jù)權(quán)利要求6或7所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng),其特征在于,還包括連接維護(hù)模塊,用于根據(jù)所述校驗(yàn)值維護(hù)連接應(yīng)答信息。10.根據(jù)權(quán)利要求6或7所述的識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng),其特征在于,所述地址轉(zhuǎn)換模塊還用于根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述網(wǎng)絡(luò)報文的報頭部分中的地址信息。全文摘要一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法,包括以下步驟在網(wǎng)絡(luò)層抓取網(wǎng)絡(luò)報文,所述網(wǎng)絡(luò)報文包括報頭部分、正文部分;查找所述網(wǎng)絡(luò)報文的正文部分中的地址信息,并使用預(yù)設(shè)的回調(diào)函數(shù)根據(jù)預(yù)設(shè)的地址映射表轉(zhuǎn)換所述地址信息;更新所述網(wǎng)絡(luò)報文的校驗(yàn)值。此外,還對應(yīng)提供了一種識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的系統(tǒng)。上述識別和轉(zhuǎn)換網(wǎng)絡(luò)報文中的地址信息的方法和系統(tǒng)不用調(diào)用應(yīng)用層的抽象的轉(zhuǎn)換函數(shù),從而提高了識別和轉(zhuǎn)換的執(zhí)行效率。文檔編號H04L12/741GK103166855SQ201110412429公開日2013年6月19日申請日期2011年12月12日優(yōu)先權(quán)日2011年12月12日發(fā)明者蔡蓉,董浩,朱余浩,袁科申請人:深圳市共進(jìn)電子股份有限公司