亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于python實(shí)現(xiàn)按特征提取tcp會話消息內(nèi)容的方法與流程

文檔序號:40393193發(fā)布日期:2024-12-20 12:16閱讀:3來源:國知局
一種基于python實(shí)現(xiàn)按特征提取tcp會話消息內(nèi)容的方法與流程

本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),具體涉及一種基于python實(shí)現(xiàn)按特征提取tcp會話消息內(nèi)容的方法。


背景技術(shù):

1、當(dāng)下互聯(lián)網(wǎng)高速發(fā)展,利用網(wǎng)絡(luò)進(jìn)行社交、娛樂的應(yīng)用程序?qū)映霾桓F,通信網(wǎng)絡(luò)已成為支撐現(xiàn)代社會的最重要的基礎(chǔ)結(jié)構(gòu)之一。

2、應(yīng)用程序之間通信的主要架構(gòu)是c/s架構(gòu)。服務(wù)器(s)是一系列的硬件或軟件,為一個(gè)或多個(gè)客戶端(c)提供所需的“服務(wù)”。它存在唯一目的就是等待客戶端的請求,并響應(yīng)它們,然后等待更多請求。另一方面,客戶端因特定的請求而聯(lián)系服務(wù)器,并發(fā)送必要的數(shù)據(jù),然后等待服務(wù)器的回應(yīng),最后完成請求,若請求失敗則給出故障的原因。服務(wù)器響應(yīng)客戶端請求之前,首先會創(chuàng)建一個(gè)通信端點(diǎn),它能夠持續(xù)使服務(wù)器監(jiān)聽請求??蛻舳藙?chuàng)建它的單一通信端點(diǎn),供它建立一個(gè)到服務(wù)器的連接。套接字是計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu),用于實(shí)現(xiàn)服務(wù)器與客戶端之間的通信端點(diǎn)。在任何類型的通信開始之前,網(wǎng)絡(luò)應(yīng)用程序必須創(chuàng)建套接字??梢詫⑺鼈儽茸麟娫挷蹇?,沒有它將無法進(jìn)行通信。

3、采用上述c/s架構(gòu)、利用網(wǎng)絡(luò)套接字技術(shù)編程的應(yīng)用程序,在其軟件研發(fā)測試、到最終發(fā)布的過程中,往往通過一些抓包工具對交互過程產(chǎn)生的數(shù)據(jù)報(bào)文進(jìn)行抓包分析,來驗(yàn)證其交互過程的正確性。而傳統(tǒng)的抓包分析過程存在一系列問題,如全程需要人工參與;需要在交互過程產(chǎn)生前提前部署好抓包環(huán)境,啟動抓包;在交互過程完成后,需對交互期間抓取到的數(shù)據(jù)報(bào)文利用wireshark等工具進(jìn)行解析查看;另外對數(shù)據(jù)的正確性校驗(yàn)也得人為核對,整個(gè)過程冗長耗時(shí)且過度依賴人工分析等。因此,想解決上述問題,如何對網(wǎng)絡(luò)編程的交互過程控制實(shí)現(xiàn)一種精準(zhǔn)篩選、高效分析的數(shù)據(jù)報(bào)文分析手段是關(guān)鍵。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明提出一種基于python實(shí)現(xiàn)按特征提取tcp會話消息內(nèi)容的方法。預(yù)先從網(wǎng)絡(luò)中抓取一段客戶端a與服務(wù)端b之間進(jìn)行tcp通信的數(shù)據(jù)包,分別對數(shù)據(jù)包中兩個(gè)方向(a->b或者b->a)的建鏈包(syn或者syn+ack)進(jìn)行特定編號,以定向ip與編號值作為唯一標(biāo)識(后文統(tǒng)稱為key標(biāo)識)記錄數(shù)據(jù)包中單次完整的tcp單向會話信息。

2、常規(guī)應(yīng)用在tcp通信中的請求消息與響應(yīng)消息格式都會遵循一般的原則,由自定義特征的消息頭(包含消息碼以及消息長度)與相應(yīng)長度的消息體組成。針對這些應(yīng)用的消息,我們可以對上述key標(biāo)識所關(guān)聯(lián)的完整會話內(nèi)容,通過應(yīng)用消息的特征進(jìn)一步提取出實(shí)際需要的載荷有效數(shù)據(jù)。

3、具體步驟如下:

4、步驟一:用python調(diào)用tshark的數(shù)據(jù)包協(xié)議分析接口,基于數(shù)據(jù)包中報(bào)文位置(后文統(tǒng)稱為報(bào)文index)對tcp協(xié)議報(bào)文的報(bào)文內(nèi)容進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)的信息包括?alllen(報(bào)文長度),datalen(載荷長度),datacontent(載荷內(nèi)容),seq(序列號),ack(確認(rèn)號),syn(syn包標(biāo)志),ips(ipa->ipb)。

5、步驟二:遍歷所有位置的報(bào)文,將具有相同key標(biāo)識的報(bào)文劃分到一起,按照seq值的大小進(jìn)行排序,并記錄各個(gè)key標(biāo)識關(guān)聯(lián)的一組報(bào)文index值(后文統(tǒng)稱為報(bào)文集)。

6、步驟三:分析各個(gè)key標(biāo)識所關(guān)聯(lián)的報(bào)文集,對報(bào)文集中每個(gè)報(bào)文的datacontent進(jìn)行有效性判斷,以供后續(xù)的報(bào)文重組。判斷過程從報(bào)文集中的syn包開始,用dataseek表示當(dāng)前有效重組內(nèi)容的總數(shù)據(jù)長度。若當(dāng)前index報(bào)文的seq值等于dataseek值,則判定其為完全待重組的報(bào)文;若seq值小于dataseek值,且seq+datalen大于dataseek,則判定其為部分待重組的報(bào)文,修改更新該報(bào)文的datacontent統(tǒng)計(jì)信息;若seq值小于dataseek值,且seq+datalen小于等于dataseek,則判定其為無需重組的報(bào)文,將該報(bào)文index從key標(biāo)識關(guān)聯(lián)的報(bào)文集中去除;若seq值大于dataseek值,則判定缺失部分中間報(bào)文,提示報(bào)錯(cuò),并終止報(bào)文重組。

7、步驟四:上述步驟三篩選出各個(gè)key標(biāo)識所關(guān)聯(lián)的有效報(bào)文集以及更新了正確的報(bào)文datacontent統(tǒng)計(jì)信息。對報(bào)文集中所有報(bào)文的datacontent進(jìn)行內(nèi)容累加,便可獲得完整的tcp單向會話的信息內(nèi)容。會話信息可能包含會話過程的多條消息,鑒于tcp協(xié)議中某一次的請求過程或者響應(yīng)過程(單個(gè)或是多個(gè)數(shù)據(jù)包),都是基于相同的ack值,所以對報(bào)文集從ack值上再進(jìn)行劃分,便可獲得會話過程包含的多條消息。

8、步驟五:會話過程中的每條消息一般帶有明顯的應(yīng)用特征。消息一般由消息頭、消息體組成,對具體應(yīng)用的消息進(jìn)行相應(yīng)的特征解析,長度解析,可以提取出消息頭和消息體的具體內(nèi)容。如果本身有詳細(xì)的資料文檔對消息內(nèi)容的結(jié)構(gòu)進(jìn)行說明,你可以進(jìn)一步提取出消息主體包含的各字段信息,將字段基于一些特征(不同消息定義的消息碼)劃分統(tǒng)計(jì),對于后期的分析比對工作可以起到很大的幫助作用。

9、以上本發(fā)明的技術(shù)方案,與現(xiàn)有相比,其顯著的有益效果在于:

10、1、本發(fā)明基于python的tcp報(bào)文碼值計(jì)算,通過關(guān)鍵特征提取內(nèi)容的報(bào)文分析方法,解決了傳統(tǒng)的抓包分析過程全程需要人工參與,對數(shù)據(jù)的正確性校驗(yàn)需要人為核對,過程冗長耗時(shí)以及過度依賴人工分析等一系列問題。

11、2、本發(fā)明可以大大減少軟件開發(fā)過程中的人力投入,節(jié)省項(xiàng)目周期的開發(fā)成本,降低人工核對數(shù)據(jù)的出錯(cuò)率,提高員工的工作效率以及釋放人力資源拓展其它業(yè)務(wù)功能等。



技術(shù)特征:

1.一種基于python實(shí)現(xiàn)按特征提取tcp會話消息內(nèi)容的方法,其特征在于,所述方法包括按照tcp協(xié)議,提取tcp數(shù)據(jù)報(bào)文頭部的各字段信息;通過字段組合標(biāo)識不同會話以及計(jì)算各字段對應(yīng)碼值,重組出完整的tcp會話內(nèi)容,進(jìn)一步基于應(yīng)用特征解析會話,從而達(dá)到快速分析tcp報(bào)文并提取消息內(nèi)容的目的;具體步驟如下:


技術(shù)總結(jié)
本發(fā)明公開了一種基于python實(shí)現(xiàn)按特征提取tcp會話消息內(nèi)容的方法,該方法按照tcp協(xié)議,提取tcp數(shù)據(jù)報(bào)文頭部的各字段信息。通過字段組合標(biāo)識不同會話以及計(jì)算各字段對應(yīng)碼值,重組出完整的tcp會話內(nèi)容,進(jìn)一步基于應(yīng)用特征解析會話,從而達(dá)到快速分析tcp報(bào)文并提取消息內(nèi)容的目的。本發(fā)明有效解決了傳統(tǒng)的抓包分析過程全程需要人工參與、對數(shù)據(jù)的正確性校驗(yàn)需要人為核對、過程冗長耗時(shí)以及過度依賴人工分析等問題,可以大大減少軟件開發(fā)過程中的人力投入,節(jié)省項(xiàng)目周期的開發(fā)成本,降低人工核對數(shù)據(jù)的出錯(cuò)率,提高員工的工作效率以及釋放人力資源拓展其它業(yè)務(wù)功能等。

技術(shù)研發(fā)人員:丁盛,吳有慶,馬紅兵
受保護(hù)的技術(shù)使用者:南京貝倫思網(wǎng)絡(luò)科技股份有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/19
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1