精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深度數(shù)據(jù)包檢測DPI開發(fā)解析

大數(shù)據(jù)
深度數(shù)據(jù)包檢測(Deep packet inspection,縮寫為 DPI)是一種特殊的網(wǎng)絡技術(shù),一般網(wǎng)絡設備只會查看以太網(wǎng)頭部、IP頭部而不會分析TCP/UDP里面的內(nèi)容這種被稱為淺數(shù)據(jù)包檢測;與之對應的DPI會檢查TCP/UDP里面的內(nèi)容,所以稱為深度數(shù)據(jù)包檢測。

深度數(shù)據(jù)包檢測(DPI)

深度數(shù)據(jù)包檢測(Deep packet inspection,縮寫為 DPI)是一種特殊的網(wǎng)絡技術(shù),一般網(wǎng)絡設備只會查看以太網(wǎng)頭部、IP頭部而不會分析TCP/UDP里面的內(nèi)容這種被稱為淺數(shù)據(jù)包檢測;與之對應的DPI會檢查TCP/UDP里面的內(nèi)容,所以稱為深度數(shù)據(jù)包檢測。

DPI一般是一個硬件或者軟件,一般用“旁掛”的方式接入到網(wǎng)絡。它會對網(wǎng)絡中的每個數(shù)據(jù)包進行檢查,識別出應用層協(xié)議,根據(jù)識別的協(xié)議采取一定的措施(比如記錄HTTP訪問行為)。對于TCP協(xié)議它可以識別完整的TCP交互過程(比如HTTP請求從請求到響應中間會有多次TCP數(shù)據(jù)包發(fā)送)。

[[182179]]

 

nDPI

nDPI是一個C語言編寫的DPI庫,用來實現(xiàn)軟件DPI系統(tǒng)。它是從OpenDPI擴展而來,二者的架構(gòu)和實現(xiàn)基本上差不多。https://github.com/ntop/nDPI此處是它的老巢,大家可以自己下載編譯它。怎么編譯,它的README寫的非常清楚了我就不廢話了(唯一一個文檔~~囧)。

編譯安裝之后它生成/usr/local/lib/libndpi.(a,so)庫文件(a靜態(tài)庫文件,so動態(tài)鏈接庫);/usr/local/include/會安裝相關(guān)的頭文件。

我個人喜歡用 靜態(tài)庫文件,這樣會把所有的二進制代碼合并到一個可執(zhí)行文件中運行的時候不需要安裝一大堆庫。另外我也不喜歡把東西放到/usr/local/lib下,所以我提供的代碼是通過cmake做了一個“all in one”的編譯。github上放到是1.6版本的,如果你想更新代碼只要替換src文件夾就行了。

如何用nDPI

nDPI的代碼寫的很爛,也沒有什么架構(gòu)就是一團亂麻(其實稍微寫寫都要比這個好)。但是它至少還能正常工作而且是唯一一個“開放”的DPI庫,所以無論什么原因你選擇了它都必須忍受它的“丑陋”。

nDPI幾乎沒有文檔說明,只帶了一個“ndpiReader”的例子,寫的“洋洋灑灑”如行云流水一般(就不吐槽了)。這就是我這篇文章的寫作原因,希望能給使用nDPI的同學一點幫助。

初始化

nDPI最重要的一個數(shù)據(jù)結(jié)構(gòu)是ndpi_detection_module_struct_t它通過ndpi_init_detection_module構(gòu)造出來

深度數(shù)據(jù)包檢測DPI開發(fā)解析

***個參數(shù)用來計算nDPI分析協(xié)議的各種超時時間,一般精確到毫秒就可以了1000(nDPI協(xié)議分析部分和“全局部分”耦合非常緊,這個數(shù)據(jù)其實只有“協(xié)議分析模塊”需要)

第二個、三個參數(shù)是封裝過的“內(nèi)存分配”函數(shù);nDPI的內(nèi)存管理非常亂,有些地方是我們自己申請內(nèi)存而由nDPI內(nèi)部幫我們釋放。所以必須nDPI并不直接使用malloc、free之類的申請、釋放內(nèi)存而是交由程序員自己提供函數(shù);

第三個參數(shù)是調(diào)試函數(shù),如果定義了NDPI_ENABLE_DEBUG_MESSAGES那么nDPI會調(diào)用這個函數(shù)輸出一些調(diào)試信息;

所有的nDPI API都是這種“鬼畜”風格,幾乎是各種糾結(jié)。。。萬幸我們只需要使用很少的API就可以完成任務了。

配置協(xié)議分析模塊

nDPI支持多種協(xié)議,都在protocols文件夾中。編譯的時候所有協(xié)議都會被放到nDPI庫中。使用的時候我們可以自己設置需要開啟那些分析模塊

深度數(shù)據(jù)包檢測DPI開發(fā)解析

NDPI_PROTOCOL_BITMASK定義開啟協(xié)議的“位圖”,通過NDPI_BITMASK_ADD函數(shù)可以添加支持的協(xié)議,***調(diào)用ndpi_set_protocol_detection_bitmask2配置位圖。

ndpi_set_protocol_detection_bitmask2函數(shù)的***個參數(shù)就是ndpi_detection_module_struct_t(上面我們初始化的那個數(shù)據(jù)結(jié)構(gòu));第二個參數(shù)是位圖標志。

特別注意:開啟的協(xié)議越多識別速度越慢;nDPI識別協(xié)議的時候是一個串行結(jié)構(gòu),無論是否被成功是被都會認認真真遍歷完我們配置好的協(xié)議

子協(xié)議

子協(xié)議是某個協(xié)議的細分,比如我們想要分析所有“Google”的HTTP請求那么***步是分析出“HTTP”請求,第二步是判斷HOST包含google.com。這里的第二步就是“子協(xié)議”。

nDPI唯一的一份“QuickStartGuide”對這個有進一步解釋,子協(xié)議識別是以配置文件的方式提供給nDPI的。比如

深度數(shù)據(jù)包檢測DPI開發(fā)解析

它還支持端口的方式(TCP的81、8181直接被標記為HTTP不再做內(nèi)容檢測)

深度數(shù)據(jù)包檢測DPI開發(fā)解析

nDPI此處的實現(xiàn)使用了一個非常有名的算法—— Aho-Corasick。以***幅圖為例子,里面配置了兩條規(guī)則“Google”和“Veneer”,我們有一個字符串(HOST),怎么判斷這個字符串符合那個規(guī)則呢?最簡單的辦法是循環(huán)所有的規(guī)則,如果規(guī)則條目很多那么速度會非常慢。Aho-Corasick就是這樣一種算法,它可以在O(n)中完成所有的匹配任務。

通過ndpi_load_protocols_file函數(shù)加載“子協(xié)議”。

深度數(shù)據(jù)包檢測DPI開發(fā)解析

開始識別

識別協(xié)議的API非常簡單——ndpi_detection_process_packet函數(shù)。就是這個坑爹的函數(shù),變態(tài)程度幾乎可以說用令人發(fā)指來形容。

 

深度數(shù)據(jù)包檢測DPI開發(fā)解析

  • ndpi_struct全局的結(jié)構(gòu)體
  • flow比較特殊,我們后面講
  • packet指向IP頭部的指針
  • packetlen數(shù)據(jù)包大小
  • current_tick_l當前時間(精確到毫秒)用于判斷“過期的TCP請求”
  • src,dst其實沒有什么用途,文檔上說是跟狀態(tài)機有關(guān)其實沒有半毛錢關(guān)系。唯一的用途是更新“分析協(xié)議”的配置。一般設置為NULL就行了

TCP協(xié)議是一個流(flow)式的協(xié)議,經(jīng)過從三次握手開始通訊雙方都是“請求->響應”的結(jié)構(gòu)。DPI可以跟蹤其中的一個或者幾個數(shù)據(jù)包,也可以實現(xiàn)全部跟蹤(后續(xù)我會交叉使用TCP會話、會話、flow,三個名詞其實是一樣的)。

nDPI內(nèi)部不會記錄完整的TCP數(shù)據(jù)包,而是用一個定義非常模糊的ndpi_flow_struct類型來表示一個TCP會話(這個數(shù)據(jù)結(jié)構(gòu)還包含了“協(xié)議分析”部分數(shù)據(jù),所以定義非常模糊)。為了便于分析完整的TCP請求我們定義了一個自己的數(shù)據(jù)結(jié)構(gòu)dpi_flow_t,ndpi_flow_struct作為它的一個成員。用偽代碼表示分析過程:

 

深度數(shù)據(jù)包檢測DPI開發(fā)解析

落到代碼上就是get_ndpi_flow函數(shù);實現(xiàn)上我們會對目標、源端口排序再做hash;這是由于數(shù)據(jù)包是“相互通訊”的所以發(fā)送方、接收方是相對而言,否則識別到的可能是“一方”的數(shù)據(jù)。

一般我們用一個二叉樹存放所有正在分析的TCP會話,nDPI移植了FreeBSD中的一組函數(shù)ndpi_tfind、ndpi_tsearch、ndpi_twalk、ndpi_tdelete等用來實現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)操作。

完成分析

調(diào)用完ndpi_detection_process_packet函數(shù)后我們需要檢查返回值,如果它不等于NDPI_PROTOCOL_UNKNOWN證明就找到了協(xié)議類型。

DPI分析一般分為三種情況:

  • ***個數(shù)據(jù)包就能確定協(xié)議類型,這種情況下找到“協(xié)議類型”后續(xù)直接把flow從二叉樹中刪除
  • 第N個數(shù)據(jù)包確定協(xié)議,flow數(shù)據(jù)包會一直存在在二叉樹中,直到知道協(xié)議類型。這種情況下每次我們調(diào)用ndpi_detection_process_packet傳遞的flow其實是相同的數(shù)據(jù)
  • 一直無法確定協(xié)議類型,flow經(jīng)歷過一段時間之后超時,我們認為無法識別出協(xié)議釋放相關(guān)數(shù)據(jù)。

前兩種情況可以合二為一,都是判斷出協(xié)議類型后釋放資源;第三種請比較特殊,我們需要遍歷整個二叉樹尋找“過期”的flow然后刪除。這就是例子中***一部分的含義(遍歷的時候我們每次尋找一個flow,用變量idle_scan_idx表示)。

責任編輯:未麗燕 來源: SDNLAB
相關(guān)推薦

2012-06-25 11:06:07

2012-06-20 10:18:00

2017-05-23 09:03:16

2013-11-14 09:13:50

2018-08-27 08:26:58

2023-03-27 00:13:26

數(shù)據(jù)包Kubernete網(wǎng)絡

2021-07-15 09:57:39

Wireshark數(shù)據(jù)包長度

2020-11-18 07:54:31

太網(wǎng)數(shù)據(jù)包架構(gòu)

2017-08-22 11:30:15

LinuxWireshark過濾數(shù)據(jù)包

2011-06-07 17:16:47

iPhone 數(shù)據(jù)

2020-11-23 10:25:44

tcpdump數(shù)據(jù)包Linux

2024-06-07 06:29:49

2014-07-09 09:43:59

2010-05-26 17:42:29

IPv6數(shù)據(jù)包

2011-11-28 16:03:49

wireshark數(shù)據(jù)包

2017-03-15 15:21:59

數(shù)據(jù)包漏洞攻擊

2019-04-29 07:53:11

TCP數(shù)據(jù)包TCP網(wǎng)絡編程

2021-05-18 08:00:38

數(shù)據(jù)包處理Scapy

2017-04-07 09:30:49

Linux網(wǎng)絡數(shù)據(jù)包

2021-05-26 08:01:25

數(shù)據(jù)包Scapy數(shù)據(jù)安全
點贊
收藏

51CTO技術(shù)棧公眾號

国产精品无码自拍| 天堂√在线观看一区二区| 老熟妻内射精品一区| 精品成人18| 亚洲高清视频在线| 日韩av高清在线播放| 国产孕妇孕交大片孕| 综合激情婷婷| 精品视频一区在线视频| 日韩高清第一页| av在线私库| 国产亚洲视频系列| www.一区二区三区| 国产精品成人久久久| 最新精品国产| 国产亚洲a∨片在线观看| 亚洲天堂伊人网| 在线天堂新版最新版在线8| 国产精品久线在线观看| 国产伦精品一区二区三毛| www.欧美色| 精品成人免费| 久久av中文字幕| 永久免费看mv网站入口78| 高清国产一区二区三区四区五区| 午夜精品在线视频一区| 国产精品99久久久久久大便| 婷婷视频在线观看| 国产精品99久久久久久久女警| 啪一啪鲁一鲁2019在线视频| 精品一区在线观看视频| 狠狠做六月爱婷婷综合aⅴ| 精品福利在线导航| 91在线第一页| 亚洲伦理久久| 欧美性猛交xxxx黑人交| 国产深夜男女无套内射| 麻豆网站视频在线观看| 亚洲国产成人在线| 人禽交欧美网站免费| 日韩专区第一页| 国产福利电影一区二区三区| 欧美重口另类videos人妖| 麻豆亚洲av熟女国产一区二 | 超碰在线免费公开| 国产精品色在线| 亚洲v日韩v欧美v综合| 久久免费看视频| 久久久欧美精品sm网站| 久久狠狠久久综合桃花| 好男人在线视频www| 国产福利91精品| 成人久久18免费网站漫画| 国产女18毛片多18精品| 国产一区二区日韩精品| 亚洲一区美女视频在线观看免费| 91资源在线视频| 国产制服丝袜一区| 91在线中文字幕| av中文字幕第一页| 高潮精品一区videoshd| 国产精品久久久久久久免费大片| 丰满肥臀噗嗤啊x99av| 成人午夜免费av| 精品国产乱码一区二区三区四区| 婷婷五月综合激情| 国产亚洲精品资源在线26u| 久久精品二区| av在线免费一区| ●精品国产综合乱码久久久久| 亚洲不卡一卡2卡三卡4卡5卡精品| 四虎精品在线| 国产乱子伦一区二区三区国色天香 | 亚洲一区二区三区视频在线 | 午夜视频免费在线| 99久久精品国产精品久久| 国产精品一区二区不卡视频| 性猛交富婆╳xxx乱大交天津| 国产一区二区三区在线观看免费 | 亚洲久久在线观看| 亚洲综合另类| 国产精品视频地址| 国产精品热久久| 国产精品资源在线| 国产女人水真多18毛片18精品| 亚洲乱码精品久久久久..| 国产91丝袜在线播放0| 国产亚洲一区二区三区在线播放| 天堂在线中文网| 久久亚洲综合色一区二区三区| 蜜桃网站成人| 青青影院在线观看| 亚洲男人都懂的| 国产欧美日韩小视频| 高清毛片在线观看| 在线亚洲免费视频| 亚洲图色中文字幕| 在线综合色站| 亚洲人成亚洲人成在线观看| 无码人中文字幕| 欧美精品入口| 国产91色在线免费| 精品久久在线观看| 91在线国产观看| 亚洲综合首页| 丰乳肥臀在线| 色94色欧美sute亚洲13| 韩国一区二区在线播放| 精品国产一区二区三区不卡蜜臂| 亚洲欧美色图片| 国产成人自拍网站| 亚洲黄色影院| 91久久精品国产91久久性色tv| 少妇高潮一区二区三区99小说 | 黑人巨大精品欧美一区二区免费 | 成人自拍小视频| 亚洲久色影视| 国产欧美日韩91| 日韩欧美电影在线观看| sm捆绑调教国产免费网站在线观看 | 最新黄色av网址| 国产精品观看| 国产精品三级久久久久久电影| 99在线精品视频免费观看软件| 97久久精品人人做人人爽50路| 亚洲看片网站| 中文不卡1区2区3区| 日本精品视频一区二区| 制服下的诱惑暮生| 欧美一二区在线观看| 欧美激情视频三区| 在线播放成人av| 91蝌蚪国产九色| 91免费国产精品| 欧美黄色a视频| 亚洲男人av电影| 国产精品1000| 美女视频一区在线观看| 日韩.欧美.亚洲| 男人av在线播放| 日韩一区二区三区av| 国产精品一二三区在线观看| 国产精品v亚洲精品v日韩精品| 国产乱肥老妇国产一区二| 色视频在线观看免费| 亚洲一区二区美女| 精品国产午夜福利在线观看| 欧美限制电影| 国产精品中文字幕在线观看| 欧美理论在线观看| 午夜不卡在线视频| 久久av一区二区三| 欧美黄免费看| 91美女片黄在线观看游戏| 国产对白叫床清晰在线播放| 精品久久久久久久久国产字幕| av地址在线观看| 亚洲国产一成人久久精品| 国产国语videosex另类| h视频在线观看免费| 色婷婷精品久久二区二区蜜臂av| 国产又粗又长又爽| 亚洲高清毛片| 国产伦精品一区二区三区视频孕妇| 二人午夜免费观看在线视频| 色悠悠久久综合| av男人的天堂av| 日韩高清欧美激情| 色999日韩自偷自拍美女| 色老太综合网| 亚洲精品理论电影| 中文字幕xxxx| 国产精品天美传媒沈樵| 三上悠亚在线一区二区| 久久激情电影| 51国偷自产一区二区三区| 97超碰在线公开在线看免费| 7777精品伊人久久久大香线蕉经典版下载| 精品在线观看一区| 国产一区二区福利视频| 无码人妻精品一区二区蜜桃网站| 亚洲视频一起| 97精品国产97久久久久久免费 | 国产精品羞羞答答xxdd| 国产日韩欧美大片| 涩爱av色老久久精品偷偷鲁| 97热在线精品视频在线观看| 你懂的在线播放| 性做久久久久久| 国产精品高清无码在线观看| 久久伊人亚洲| 99re99热| 开心激情综合| 国产精品7m视频| 国产最新在线| 亚洲国产成人一区| 国产成人av免费| 中文字幕视频一区| 亚洲麻豆一区二区三区| 久热精品在线| 欧美精品久久96人妻无码| 给我免费播放日韩视频| 国产精品91久久久久久| 91小视频xxxx网站在线| 日韩国产欧美精品一区二区三区| 国产寡妇亲子伦一区二区三区四区| 国产精品免费人成网站| aaa黄色大片| 日韩电影免费在线看| www.黄色网址.com| 日韩动漫一区| 91视频-88av| 国产日韩电影| 亚州欧美日韩中文视频| 在线免费观看黄色网址| 欧美mv日韩mv国产| 中文字幕视频一区二区| 亚洲香肠在线观看| 蜜桃av免费观看| 91小视频在线| 国内自拍第二页| 三级成人在线视频| 国产美女永久无遮挡| 区一区二视频| 久久人人97超碰人人澡爱香蕉| 亚洲一区二区av| 热re91久久精品国99热蜜臀| 天堂8中文在线| 国产亚洲精品高潮| 欧美女优在线观看| 亚洲第一网站男人都懂| 一区二区久久精品66国产精品 | 免费看欧美一级片| 国产精品91一区二区三区| 噜噜噜噜噜久久久久久91| 日韩一区二区三区精品| 国产精品网址在线| 亚洲人体视频| 性欧美视频videos6一9| 黄色av电影在线播放| 国产一区二区三区丝袜 | 亚洲人成亚洲人成在线观看| 国产乱色精品成人免费视频| 欧美日韩一区 二区 三区 久久精品| 日本三级免费看| 亚洲精品五月天| 久久精品日韩无码| 国产精品―色哟哟| 90岁老太婆乱淫| 91网站黄www| 国产精品成人免费一区久久羞羞| 国产成人午夜精品5599| 色婷婷一区二区三区在线观看| 久久成人免费日本黄色| 精品久久久久久久无码| 久久福利一区| 成人黄色片视频| 免费久久99精品国产自在现线| 国产精品视频一二三四区| 欧美日韩综合| 黄色三级中文字幕| 亚洲一级影院| 久久久久久久香蕉| 国内精品久久久久国产盗摄免费观看完整版 | 可以看毛片的网址| 精品91在线| 成人性免费视频| 制服诱惑一区二区| 337p粉嫩大胆噜噜噜鲁| 国产深夜精品| 成人黄色片视频| 日本不卡的三区四区五区| 国产91在线视频观看| 天堂一区二区在线| 亚洲 欧美 日韩系列| 麻豆精品一区二区三区| 在线观看免费的av| 国产二区国产一区在线观看| 欧美久久久久久久久久久| av爱爱亚洲一区| 在线观看国产网站| 国产无人区一区二区三区| 亚欧精品视频一区二区三区| 国产精品国产三级国产普通话三级| 国产探花在线视频| 亚洲高清免费视频| 无码人妻黑人中文字幕| 欧美日韩在线一区二区| 国产精品毛片一区视频播 | 中文字幕亚洲影院| 国产成人精品一区二| 亚洲久久久久久| 国产日韩高清在线| 欧美成人精品欧美一级私黄| 综合欧美一区二区三区| 国产成人精品亚洲男人的天堂| 日韩欧美一区二区在线| 一级特黄aa大片| 亚洲第一精品自拍| 成年人视频在线看| 欧美老肥婆性猛交视频| 日韩大尺度黄色| 91系列在线播放| 日韩欧美影院| 国产精品jizz在线观看老狼| 国产精品观看| 亚州精品一二三区| 99精品国产一区二区三区不卡| 一级片久久久久| 亚洲午夜免费电影| 亚洲综合免费视频| 亚洲国模精品一区| 麻豆视频在线免费观看| 国产精品电影久久久久电影网| 曰本一区二区| 欧美日韩一区在线播放| 性xxxx欧美老肥妇牲乱| 欧美丰满熟妇bbbbbb百度| 久久66热偷产精品| 中文字幕国产综合| 亚洲一卡二卡三卡四卡无卡久久| 亚洲高清在线看| 亚洲精品一区二区三区99| 99精品老司机免费视频| 另类专区欧美制服同性| 黄色成人小视频| 麻豆久久久9性大片| 欧美国产激情| 五月天婷婷影视| 久久免费精品国产久精品久久久久| 欧美色图17p| 欧洲人成人精品| 无码精品视频一区二区三区 | 老司机在线看片网av| 欧美怡红院视频一区二区三区| 亚洲一二av| 日韩中文在线字幕| 美日韩一级片在线观看| 自拍偷拍亚洲天堂| 大伊人狠狠躁夜夜躁av一区| 午夜精品久久久久久久99老熟妇| 色诱女教师一区二区三区| 黄色软件视频在线观看| 国产尤物99| 在线精品一区| 免费观看黄网站| 自拍偷拍欧美精品| 一级做a爱片久久毛片| 精品国产欧美成人夜夜嗨| 精品三级在线| 亚洲人成网站在线播放2019| 玖玖在线精品| 成年人在线免费看片| 狠狠综合久久av一区二区小说 | 精品国产乱码久久| 在线中文字幕视频观看| 国产精品三级美女白浆呻吟| 欧洲杯足球赛直播| 男女爽爽爽视频| 欧美高清在线精品一区| 久久这里只有精品9| 久久亚洲精品一区二区| 一区二区日韩| 亚洲熟妇av日韩熟妇在线| 久久亚洲一区二区三区四区| 二区视频在线观看| 亚洲免费中文字幕| 性感美女一区二区在线观看| 亚洲精品在线视频观看| 久久97超碰国产精品超碰| 一本一本久久a久久| 日韩一卡二卡三卡| brazzers在线观看| 精品综合在线| 日日夜夜精品视频免费| 成人无码精品1区2区3区免费看| 欧美日韩国产a| xvideos国产在线视频| 97伦理在线四区| 欧美日韩国产探花| 亚洲a v网站| 欧美日本免费一区二区三区| 日韩伦理av| 成人区精品一区二区| 老司机午夜精品视频| 成年人视频软件| 欧美大片拔萝卜| 秋霞伦理一区| 欧美成ee人免费视频| 麻豆成人久久精品二区三区小说| 亚洲欧美精品久久| 精品国产一区二区精华| a级片在线免费| 青娱乐国产91| 国产福利一区二区三区视频在线 | 色天使久久综合网天天| 午夜免费福利在线观看| 精品国产乱码久久久久久108| 天堂一区二区在线| 欧美色图亚洲天堂|