最近在读网络协议方面的论文,接触到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深度包检测的更多相关文章

  1. DPI (Deep Packet Inspection) 深度包检测技术

    详解DPI与网络回溯分析技术 随着网络通讯技术进步与发展,网络通讯已跨入大数据时代,如何监控各类业务系统的通讯数据在大数据流量中传输质量,以及针对海量的网络通讯数据的范畴中存在少量的恶意流量的检测,避 ...

  2. 深度包检测(DPI)详细介绍

    目录 简介 背景 流量识别 常用功能 具体功能 做法 特征识别 架构举例 部署方式 串接方式 并接方式 存在问题 检测引擎举例 参考文献 简介 DPI(Deep Packet Inspection)深 ...

  3. DPI深度报文检测架构及关键技术实现

    DPI深度报文检测架构及关键技术实现 当前DPI(Deep Packet Inspect深度报文识别)技术是安全领域的关键技术点之一,围绕DPI技术衍生出的安全产品类型也非常的多样.在分析DPI的进一 ...

  4. NethServer 7.2 RC1,增加深度数据包检测

    NethServer 7.2 RC1 "Saltimbocca"  发布了,NethServer是基于CentOS的面向服务器的Linux发行.该产品的主要特性是模块化的设计,这使 ...

  5. AI安全初探——利用深度学习检测DNS隐蔽通道

    AI安全初探——利用深度学习检测DNS隐蔽通道 目录 AI安全初探——利用深度学习检测DNS隐蔽通道 1.DNS 隐蔽通道简介 2. 算法前的准备工作——数据采集 3. 利用深度学习进行DNS隐蔽通道 ...

  6. UNIX网络编程——网络数据包检测

    网络数据包检测 数据包捕获(sniffer):是指在网络上进行数据收集的行为,需要通过网卡来完成. 三种访问方式: BSD Packet Filter(BPF) SVR4 Datalink Provi ...

  7. DPI (深度报文检测) 关于DPI的学习笔记

    关于DPI的学习笔记 先看一下定义 : DPI(Deep Packet Inspection)是一种基于数据包的深度检测技术,针对不同的网络应用层载荷(例如HTTP.DNS等)进行深度检测,通过对报文 ...

  8. nDPI深度数据包检测

    nDPI https://github.com/ntop/nDPI

  9. 使用深度学习检测TOR流量——本质上是在利用报文的时序信息、传输速率建模

    from:https://www.jiqizhixin.com/articles/2018-08-11-11 可以通过分析流量包来检测TOR流量.这项分析可以在TOR 节点上进行,也可以在客户端和入口 ...

随机推荐

  1. iOS 面试题搜集

    1.#import和#include的区别,@class代表什么? 2.浅拷贝和深拷贝区别是什么? 3.Objective-C中类别和类扩展的区别? 4.Objective-C堆和栈的区别? 5.内存 ...

  2. ACM: Gym 101047E Escape from Ayutthaya - BFS

    Gym 101047E Escape from Ayutthaya Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I6 ...

  3. mysql存不了中文的解决办法

    driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEnco ...

  4. unity3D脚本中,update ,fixupdate 和lateupdate的区别

    1.MonoBehaviour.Update 更新 当MonoBehaviour启用时,其Update在每一帧被调用. 2.MonoBehaviour.FixedUpdate 固定更新 当MonoBe ...

  5. 【DP】HDU 1260

    HDU 1260 Tickets 题意:有N个人要买票,你可以一个一个人卖票,时间分别为Xs,也可以相邻两个人一起卖票,时间为Ys,从早上八点开始卖票,问你何时最早将N个人的票卖完. 思路:解决情况是 ...

  6. js学习笔记

    javacript笔记根据EC5.0一共有六种数据类型:number,string,bool undefine,nullobject(广义的) --->object(狭义的),array,fun ...

  7. Linux上mongodb开机自启动

    1.下载MongoDB 2.安装MongoDB(安装到/usr/local下) .tgz mongodb cd mongodb mkdir db mkdir logs cd bin vi mongod ...

  8. 紫書_例5-10 UVa207

    細節較多,自己寫的第一份半殘品,未能AC,后參考了劉老師的代碼,寫出了第二份的代碼,經過多次修改后總算AC,然而後果也很嚴重,導致代碼和劉老師極其相似,這也是我不喜歡看了參考代碼后再自己寫的緣故. 祇 ...

  9. Python使用总结二

    近来因为工作需要,用Python比较多,写得多了,收获也多.借此记录总结一下,方便以后反思. 一.IDE的选择 1.notepad++加上cmd窗口 前些时候写python脚本都用notepad++编 ...

  10. CentOS7 编译安装 Git 服务器 Centos 7.0 + Git 2.2.0 + gitosis (实测 笔记)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 服务器IP:192.168.1.31 域 ...