標籤:訊息流程 上網 建立 筆記 模式識別 隱藏 檢測方法 動作 資料流
最近在讀網路通訊協定方面的論文,接觸到DPI技術。博主是個小白,這裡寫些查到的筆記。
原文出處因為比較多,雜亂。百度文庫和許多地方都有,就不貼連結了。
1. DPI 全稱為“Deep Packet Inspection”,稱為“深度包檢測”。所謂“深度”是和普通的報文分析層次相比較而言的,“普通報文檢測”僅分析IP包的層4 以
下的內容,包括源地址、目的地址、源連接埠、目的連接埠以及協議類型,而DPI 除了對前面的層次分析外,還增加了應用程式層分析,識別各種應用及其內容:
2. 普通報文檢測是通過連接埠號碼來識別應用類型的。如檢測到連接埠號碼為80時,則認為該應用代表著普通上網應用。而當前網路上的一些非法應用會採用隱藏
或假冒連接埠 號的方式躲避檢測和監管,造成仿冒合法報文的資料流侵蝕著網路。此時採用L2~L4層的傳統檢測方法已無能為力了。
DPI 技術就是通過對應用流中的資料報文內容進行探測,從而確定資料報文的真正應用。因為非法應用可以隱藏連接埠號碼,但目前較難以隱藏應用程式層的協議特徵。
3. DPI的識別技術可以分為以下幾大類:
(1)基於“特徵字”的識別技術
不同的應用通常依賴於不同的協議,而不同的協議都有其特殊的指紋,這些指紋可能是特定的連接埠、特定的字串或者特定的Bit 序列。基於“特徵字”的識別技術通過對業務流中特定資料報文中的“指紋”資訊的檢測以確定業務流承載的應用。
根據具體檢測方式的不同,基於“特徵字”的識別技術又可以被分為固定位置特徵字匹配、變動位置的特徵匹配以及狀態特徵匹配三種技術。
通過對“指紋”資訊的升級,基於特徵的識別技術可以很方便的進行功能擴充,實現對新協議的檢測。
如:Bittorrent 協議的識別,通過反向工程的方法對其對等協議進行分析,所謂對等協議指的是peer與peer之間交換資訊的協議。對等協議由一個握手開始,後面是迴圈的訊息流程,每個訊息的前面,都有一個數字來表示訊息的長度。在其握手過程中,首先是先發送19,跟著是字串“BitTorrent protocol”。那麼“19BitTorrent Protocol”就是Bittorrent的“特徵字”。
(2)應用程式層網關識別技術
某些業務的控制流程和業務流是分離的,業務流沒有任何特徵。這種情況下,我們就需要採用應用程式層網關識別技術。
應用程式層網關需要先識別出控制流程,並根據控制流程的協議通過特定的應用程式層網關對其進行解析,從協議內容中識別出相應的業務流。
對於每一個協議,需要有不同的應用程式層網關對其進行分析。
如SIP、H323協議都屬於這種類型。SIP/H323通過信令互動過程,協商得到其資料通道,一般是RTP格式封裝的語音流。也就是說,純粹檢測RTP流並不能得出這條RTP流是那通過那種協議建立的。只有通過檢測SIP/H323的協議互動,才能得到其完整的分析。
(3)行為模式識別技術
行為模式識別技術基於對終端已經實施的行為的分析,判斷出使用者進行中的動作或者即將實施的動作。行為模式識別技術通常用於無法根據協議判斷的業務的識別。例如:SPAM(垃圾郵件)業務流和普通的Email業務流從Email的內容上看是完全一致的,只有通過對使用者行為的分析,才能夠準確的識別出SPAM業務。
DPI深度包檢測