專利名稱:用于http數(shù)據(jù)還原的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信領(lǐng)域,具體涉及HTTP協(xié)議還原方法,背景技術(shù)我國經(jīng)濟(jì)的發(fā)展促進(jìn)了信息產(chǎn)業(yè)和互聯(lián)網(wǎng)在我國的高速發(fā)展,全國互聯(lián)網(wǎng)網(wǎng)民的數(shù)量快速的增長,互聯(lián)網(wǎng)的網(wǎng)上信息也成爆炸式的增長,而HTTP應(yīng)用的數(shù)據(jù)量占整個(gè)互聯(lián)網(wǎng)數(shù)據(jù)量的%80以上,成為人們用的最多得應(yīng)用,互聯(lián)網(wǎng)上最廣泛的應(yīng)用。
互聯(lián)網(wǎng)由于具備信息量大、傳播速度快,受眾范圍廣,信息的傳播是匿名方式等特點(diǎn),所以很容易導(dǎo)致謠言,賭博和黃色信息等不良信息也通過互連網(wǎng)進(jìn)行快速傳播,企業(yè)、政府和事業(yè)單位、學(xué)校、公安、軍隊(duì)內(nèi)部員工有意識的或無意識通過HTTP訪問外部網(wǎng)絡(luò)泄漏本單位的商業(yè)秘密、技術(shù)資料和其他一些重要的機(jī)密信息,犯罪分子也通過互連網(wǎng)進(jìn)行犯罪,國外敵對分子也通過互聯(lián)網(wǎng)獲取中國的情報(bào)和信息,危害公共安全和國家安全。
所以對企業(yè)、政府和事業(yè)單位、學(xué)校、公安、軍隊(duì)內(nèi)部員工以及整個(gè)互聯(lián)網(wǎng)的上網(wǎng)行為進(jìn)行再現(xiàn),顯得非常有必要。這樣可以方便互聯(lián)網(wǎng)管理部門和企業(yè),政府和事業(yè)單位、軍隊(duì)、學(xué)校的管理人員和內(nèi)部網(wǎng)絡(luò)管理員發(fā)現(xiàn)和規(guī)范本單位管轄范圍內(nèi)的員工的上網(wǎng)行為、網(wǎng)上的行為,發(fā)現(xiàn)和防止內(nèi)部員工通過互聯(lián)網(wǎng)泄漏本單位的商業(yè)秘密,技術(shù)資料和其他一些重要的機(jī)密信息具有很強(qiáng)的作用,特別對公安、武警、國家安全、軍隊(duì)等安全部門用來預(yù)防和打擊犯罪,防止謠言和黃色信息等不良信息的傳播,以及用來獲取相關(guān)情報(bào)和信息,維護(hù)公共安全和國家安全具有很好的作用。
用戶在上網(wǎng)瀏覽網(wǎng)頁時(shí)和發(fā)表內(nèi)容時(shí),首先是客戶端(用戶的瀏覽器)向服務(wù)器端(網(wǎng)站服務(wù)器)發(fā)送請求,如瀏覽網(wǎng)頁一般是get請求,發(fā)表內(nèi)容是post請求,post請求中帶有用戶發(fā)表的內(nèi)容,這些數(shù)據(jù)是用一個(gè)一個(gè)HTTP包進(jìn)行傳輸。服務(wù)器接受到用戶的請求后,對客戶端發(fā)送的請求,進(jìn)行響應(yīng)。對于get請求,就是返回用戶瀏覽的網(wǎng)頁數(shù)據(jù),這些數(shù)據(jù)是用一個(gè)一個(gè)HTTP包進(jìn)行傳輸。
對這些請求和響應(yīng)的HTTP包數(shù)據(jù)截獲并進(jìn)行處理,就可以將HTTP包的數(shù)據(jù)還原出來,用戶的上網(wǎng)行為也可以再現(xiàn)出來。
發(fā)明內(nèi)容本發(fā)明的目的在于一種用于HTTP數(shù)據(jù)還原的方法,提供對互聯(lián)網(wǎng)和企業(yè)、政府和事業(yè)單位、學(xué)校、公安、軍隊(duì)內(nèi)部員工通過HTTP訪問企業(yè)外部INTERNET網(wǎng)和其他網(wǎng)絡(luò)站點(diǎn)、以及對整個(gè)互聯(lián)網(wǎng)上訪問網(wǎng)頁行為的一種再現(xiàn),包括訪問的網(wǎng)頁,以及發(fā)表的一些內(nèi)容的再現(xiàn)。
實(shí)現(xiàn)本發(fā)明的技術(shù)方案一種用于HTTP數(shù)據(jù)還原的方法,其特征在于截獲客戶端對服務(wù)器發(fā)送的請求數(shù)據(jù)和服務(wù)器端對客戶端請求的響應(yīng)數(shù)據(jù),然后進(jìn)行過濾、解析、緩存,形成html格式的整體數(shù)據(jù),如果數(shù)據(jù)傳輸時(shí)經(jīng)過傳輸編碼則對形成的整體數(shù)據(jù)進(jìn)行解傳輸編碼;如果數(shù)據(jù)在傳輸前進(jìn)行壓縮則對形成的整體數(shù)據(jù)進(jìn)行解壓縮,這樣就形成可以用瀏覽器直接顯示的數(shù)據(jù),HTTP協(xié)議數(shù)據(jù)的還原也就完成。
如上所述的用于HTTP數(shù)據(jù)還原的方法,其特征在于對獲取的請求數(shù)據(jù)和響應(yīng)數(shù)據(jù),依次需要解析底層協(xié)議(物理層協(xié)議),IP層協(xié)議,TCP層協(xié)議,HTTP層協(xié)議;對解析后的HTTP數(shù)據(jù),對每一個(gè)用戶建立一個(gè)用戶上下文;然后對該用戶的每一個(gè)HTTP應(yīng)用,建立一個(gè)HTTP上下文,將該次HTTP應(yīng)用的數(shù)據(jù)存放在HTTP上下文中,直到該次HTTP應(yīng)用數(shù)據(jù)傳輸完畢后,形成一個(gè)整體的數(shù)據(jù)。
本發(fā)明的原理如下一、HTTP數(shù)據(jù)的截獲和解析。
使用網(wǎng)絡(luò)接入設(shè)備,獲取該客戶端和服務(wù)器之間的該網(wǎng)絡(luò)上的所有數(shù)據(jù),包括客戶端對服務(wù)器發(fā)送的請求數(shù)據(jù)和服務(wù)器端對客戶端請求的響應(yīng)數(shù)據(jù),對該數(shù)據(jù)過濾和解析。按照協(xié)議解析物理層協(xié)議,通過物理層協(xié)議的協(xié)議類型過濾出通過IP協(xié)議傳輸?shù)臄?shù)據(jù);解析IP協(xié)議,通過IP層協(xié)議的協(xié)議類型,過濾出通過TCP協(xié)議來傳輸?shù)臄?shù)據(jù);解析TCP協(xié)議,通過TCP協(xié)議的端口號(端口號80)過濾出HTTP的數(shù)據(jù)。然后在解析出HTTP數(shù)據(jù)。在解析IP層協(xié)議時(shí),解析出客戶端和服務(wù)器端的IP,分別為client IP,server IP,在解析TCP層協(xié)議時(shí),解析出客戶端和服務(wù)器端的通信的端口號,分別為client port,server port,sequence number,acknowledgment number.解析HTTP協(xié)議,解析出HTTP的客戶端請求類型get/post、get/post url、content-type、content-length、transfer-endcoding、content-encoding等字段。
二、對HTTP數(shù)據(jù)的還原。
對于過濾和解析后的數(shù)據(jù),根據(jù)用戶客戶端的IP,對于每一個(gè)用戶,建立一個(gè)用戶數(shù)據(jù)的上下文,該上下文中包含一個(gè)定時(shí)器。然后對該用戶的每一個(gè)HTTP應(yīng)用,根據(jù)協(xié)議類型(HTTP協(xié)議)、服務(wù)器IP、客戶端端口、服務(wù)器端口,服務(wù)器響應(yīng)的ackno五元組建立一個(gè)HTTP上下文,該上下文當(dāng)中包含本次應(yīng)用的生存時(shí)間。然后把該HTTP應(yīng)用的數(shù)據(jù)存放到該HTTP上下文的鏈表中。如果服務(wù)器的響應(yīng)中包含content-length字段,收到的該用戶的本次HTTP應(yīng)用的收集到數(shù)據(jù)長度達(dá)到content-length的長度時(shí),則將本次HTTP上下文中的數(shù)據(jù)保存成文件或者內(nèi)存文件。如果服務(wù)器的響應(yīng)中不包含content-length子段,則等HTTP上下文中的生存時(shí)間到時(shí),將本次HTTP上下文中的數(shù)據(jù)保存成文件或者內(nèi)存文件。如果該內(nèi)存文件沒有經(jīng)過傳輸編碼和壓縮,則是本次HTTP應(yīng)用的一個(gè)完整的html格式的數(shù)據(jù)。如果將html格式的數(shù)據(jù)生成文件,可以直接用瀏覽器(例如IE瀏覽器)打開瀏覽。。
三、對HTTP數(shù)據(jù)進(jìn)行解傳輸編碼和解壓縮。
對于客戶端的get/post請求,有的服務(wù)器端的響應(yīng)數(shù)據(jù)在傳輸時(shí)進(jìn)行傳輸編碼,則對于生成后的數(shù)據(jù)必須按照RFC2616文檔規(guī)范進(jìn)行傳輸解碼。如果在傳輸時(shí)沒有進(jìn)行傳輸編碼,則無需進(jìn)行傳輸編碼解碼。對于客戶端的get/post請求的響應(yīng)數(shù)據(jù),有的服務(wù)器為了減少傳輸占用網(wǎng)絡(luò)帶寬,對響應(yīng)數(shù)據(jù)進(jìn)行了壓縮,則對于生成后的數(shù)據(jù)必須進(jìn)行解壓縮。如果服務(wù)器沒有對響應(yīng)數(shù)據(jù)進(jìn)行壓縮,則無需進(jìn)行解壓縮。如果服務(wù)器在對數(shù)據(jù)進(jìn)行壓縮時(shí)用的是GZIP壓縮算法,則解壓縮時(shí)進(jìn)行GZIP解壓縮,如果服務(wù)器在對數(shù)據(jù)進(jìn)行壓縮時(shí)用的是defalte壓縮算法,則解壓縮時(shí)進(jìn)行defalte解壓縮。經(jīng)過這些處理后是,所生成的數(shù)據(jù),則是本次HTTP應(yīng)用的一個(gè)完整的htm格式的數(shù)據(jù)。如果將htm格式的數(shù)據(jù)生成文件,可以直接用瀏覽器(例如IE瀏覽器)打開瀏覽.
有益效果對這些請求和響應(yīng)的HTTP包數(shù)據(jù)截獲并進(jìn)行處理,就可以將HTTP包的數(shù)據(jù)還原出來,用戶的上網(wǎng)行為也可以再現(xiàn)出來。提供對互聯(lián)網(wǎng)和企業(yè)、政府和事業(yè)單位、學(xué)校、公安、軍隊(duì)內(nèi)部員工通過HTTP訪問企業(yè)外部INTERNET網(wǎng)和其他網(wǎng)絡(luò)站點(diǎn)、以及對整個(gè)互聯(lián)網(wǎng)上訪問網(wǎng)頁行為的一種再現(xiàn),包括訪問的網(wǎng)頁,以及發(fā)表的一些內(nèi)容的再現(xiàn)。
圖1是本發(fā)明實(shí)施例對HTTP數(shù)據(jù)的還原的整體流程。
圖2是本發(fā)明實(shí)施例對HTTP數(shù)據(jù)的截獲和解析流程。
圖3是本發(fā)明實(shí)施例對HTTP數(shù)據(jù)截獲和解析后處理流程。
具體的實(shí)施方式參見圖1,是對HTTP數(shù)據(jù)的還原的整體流程。
對HTTP數(shù)據(jù)還原的整體流程是使用網(wǎng)絡(luò)接入設(shè)備,獲取該客戶端和服務(wù)器之間的該網(wǎng)絡(luò)上的所有數(shù)據(jù),包括客戶端對服務(wù)器發(fā)送的請求數(shù)據(jù)和服務(wù)器端對客戶端請求的響應(yīng)數(shù)據(jù),對該數(shù)據(jù)過濾和解析,依次需要解析底層協(xié)議(物理層協(xié)議),IP層協(xié)議,TCP層協(xié)議,HTTP層協(xié)議。然后對解析后的數(shù)據(jù)進(jìn)行還原處理,形成整體數(shù)據(jù),最后如果數(shù)據(jù)傳輸時(shí)經(jīng)過傳輸編碼則要對形成的整體數(shù)據(jù)進(jìn)行解傳輸編碼,如果沒有經(jīng)過傳輸編碼則無需對形成的整體數(shù)據(jù)進(jìn)行解傳輸編碼。如果數(shù)據(jù)在傳輸前進(jìn)行壓縮則要進(jìn)行解壓縮,如果數(shù)據(jù)在傳輸前沒有進(jìn)行壓縮則無需進(jìn)行解壓縮。
參見圖2,是對HTTP數(shù)據(jù)的截獲和解析流程。
按照協(xié)議解析物理層協(xié)議,通過物理層協(xié)議的協(xié)議類型過濾出通過IP協(xié)議傳輸?shù)臄?shù)據(jù);解析IP協(xié)議,通過IP層協(xié)議的協(xié)議類型,過濾出通過TCP協(xié)議來傳輸?shù)臄?shù)據(jù);解析TCP協(xié)議,通過TCP協(xié)議的端口號(端口號80)過濾出HTTP的數(shù)據(jù)。然后在解析出HTTP數(shù)據(jù)。在解析IP層協(xié)議時(shí),解析出客戶端和服務(wù)器端的IP,分別為clientIP,server IP,在解析TCP層協(xié)議時(shí),解析出客戶端和服務(wù)器端的通信的端口號,分別為client port,server port,sequence number,acknowledgment number.解析HTTP協(xié)議,解析出HTTP的客戶端請求類型get/post、get/post url、content-type、content-length、transfer-endcoding、content-encoding等字段。
參見圖3,是對HTTP數(shù)據(jù)截獲和解析后處理流程。
對解析后的HTTP數(shù)據(jù),對每一個(gè)用戶建立一個(gè)用戶上下文。然后對該用戶的每一個(gè)HTTP應(yīng)用,建立一個(gè)HTTP上下文,將該次HTTP應(yīng)用的數(shù)據(jù)存放在HTTP上下文中,直到該次HTTP應(yīng)用數(shù)據(jù)傳輸完畢后,形成一個(gè)整體的數(shù)據(jù),如果數(shù)據(jù)在傳輸前沒有經(jīng)過傳輸編碼和壓縮,則是本次HTTP應(yīng)用的一個(gè)完整的html格式的數(shù)據(jù),可以用瀏覽器(例如IE瀏覽器)直接顯示。
如果數(shù)據(jù)傳輸時(shí)經(jīng)過傳輸編碼則要對形成的整體數(shù)據(jù)進(jìn)行解傳輸編碼;如果數(shù)據(jù)在傳輸前進(jìn)行壓縮則要對形成的整體數(shù)據(jù)進(jìn)行解壓縮,這樣經(jīng)過處理后形成的數(shù)據(jù)就是本次HTTP應(yīng)用的一個(gè)完整的html格式的數(shù)據(jù),可以用瀏覽器(例如IE瀏覽器)直接顯示。
雖然通過實(shí)施例子描述了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求
包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種用于HTTP數(shù)據(jù)還原的方法,其特征在于;截獲客戶端對服務(wù)器發(fā)送的請求數(shù)據(jù)和服務(wù)器端對客戶端請求的響應(yīng)數(shù)據(jù),然后進(jìn)行過濾、解析、緩存,形成html格式的整體數(shù)據(jù),如果數(shù)據(jù)傳輸時(shí)經(jīng)過傳輸編碼則對形成的整體數(shù)據(jù)進(jìn)行解傳輸編碼;如果數(shù)據(jù)在傳輸前進(jìn)行壓縮則對形成的整體數(shù)據(jù)進(jìn)行解壓縮,這樣就形成可以用瀏覽器直接顯示的數(shù)據(jù),HTTP協(xié)議數(shù)據(jù)的還原也完成。
2.如權(quán)利要求
1所述的用于HTTP數(shù)據(jù)還原的方法,其特征在于對獲取的請求數(shù)據(jù)和響應(yīng)數(shù)據(jù),依次需要解析底層協(xié)議(物理層協(xié)議),IP層協(xié)議,TCP層協(xié)議,HTTP層協(xié)議;對解析后的HTTP數(shù)據(jù),對每一個(gè)用戶建立一個(gè)用戶上下文;然后對該用戶的每一個(gè)HTTP應(yīng)用,建立一個(gè)HTTP上下文,將該次HTTP應(yīng)用的數(shù)據(jù)存放在HTTP上下文中,直到該次HTTP應(yīng)用數(shù)據(jù)傳輸完畢后,形成一個(gè)整體的數(shù)據(jù)。
專利摘要
一種用于HTTP數(shù)據(jù)還原的方法,其特征在于截獲客戶端對服務(wù)器發(fā)送的請求數(shù)據(jù)和服務(wù)器端對客戶端請求的響應(yīng)數(shù)據(jù),然后進(jìn)行過濾、解析、緩存,形成html格式的整體數(shù)據(jù),如果數(shù)據(jù)傳輸時(shí)經(jīng)過傳輸編碼則對形成的整體數(shù)據(jù)進(jìn)行解傳輸編碼;如果數(shù)據(jù)在傳輸前進(jìn)行壓縮則對形成的整體數(shù)據(jù)進(jìn)行解壓縮,這樣就形成可以用瀏覽器直接顯示的數(shù)據(jù),HTTP協(xié)議數(shù)據(jù)的還原也就完成。對這些請求和響應(yīng)的HTTP包數(shù)據(jù)截獲并進(jìn)行處理,就可以將HTTP包的數(shù)據(jù)還原出來,用戶的上網(wǎng)行為也可以再現(xiàn)出來。
文檔編號H04L29/08GK1997030SQ200610125451
公開日2007年7月11日 申請日期2006年12月13日
發(fā)明者曹尚濤 申請人:武漢虹旭信息技術(shù)有限責(zé)任公司導(dǎo)出引文BiBTeX, EndNote, RefMan