DPI深度包检测
最近在读网络协议方面的论文,接触到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深度包检测的更多相关文章
- DPI (Deep Packet Inspection) 深度包检测技术
详解DPI与网络回溯分析技术 随着网络通讯技术进步与发展,网络通讯已跨入大数据时代,如何监控各类业务系统的通讯数据在大数据流量中传输质量,以及针对海量的网络通讯数据的范畴中存在少量的恶意流量的检测,避 ...
- 深度包检测(DPI)详细介绍
目录 简介 背景 流量识别 常用功能 具体功能 做法 特征识别 架构举例 部署方式 串接方式 并接方式 存在问题 检测引擎举例 参考文献 简介 DPI(Deep Packet Inspection)深 ...
- DPI深度报文检测架构及关键技术实现
DPI深度报文检测架构及关键技术实现 当前DPI(Deep Packet Inspect深度报文识别)技术是安全领域的关键技术点之一,围绕DPI技术衍生出的安全产品类型也非常的多样.在分析DPI的进一 ...
- NethServer 7.2 RC1,增加深度数据包检测
NethServer 7.2 RC1 "Saltimbocca" 发布了,NethServer是基于CentOS的面向服务器的Linux发行.该产品的主要特性是模块化的设计,这使 ...
- AI安全初探——利用深度学习检测DNS隐蔽通道
AI安全初探——利用深度学习检测DNS隐蔽通道 目录 AI安全初探——利用深度学习检测DNS隐蔽通道 1.DNS 隐蔽通道简介 2. 算法前的准备工作——数据采集 3. 利用深度学习进行DNS隐蔽通道 ...
- UNIX网络编程——网络数据包检测
网络数据包检测 数据包捕获(sniffer):是指在网络上进行数据收集的行为,需要通过网卡来完成. 三种访问方式: BSD Packet Filter(BPF) SVR4 Datalink Provi ...
- DPI (深度报文检测) 关于DPI的学习笔记
关于DPI的学习笔记 先看一下定义 : DPI(Deep Packet Inspection)是一种基于数据包的深度检测技术,针对不同的网络应用层载荷(例如HTTP.DNS等)进行深度检测,通过对报文 ...
- nDPI深度数据包检测
nDPI https://github.com/ntop/nDPI
- 使用深度学习检测TOR流量——本质上是在利用报文的时序信息、传输速率建模
from:https://www.jiqizhixin.com/articles/2018-08-11-11 可以通过分析流量包来检测TOR流量.这项分析可以在TOR 节点上进行,也可以在客户端和入口 ...
随机推荐
- System.getProperty()方法大全
System.out.println("当前程序所在目录:" + System.getProperty("user.dir")); // 当前程序所在目录 Sy ...
- 基于Hadoop的密码安全级别验证
学习Hadoop有一段时间了,期间写过很多Demo,都是针对单个知识点做的验证,今天写个完整的应用程序——基于Hadoop的密码安全级别验证. 在很多网站上注册用户时输入密码都会在下方提示密码安全级别 ...
- 泛型的排序问题(Collections.sort及Comparable的应用)
一.前言 java中对泛型(集合类型)排序的问题,主要采用了两张方式一种是对要排序的实体类,实现Comparable接口,另一种方式,Collections集合工具类进行排序. 二.实现Comp ...
- [JSOI2008]完美的对称 题解
题目大意: 首先我们给定一点A以及对称中心S,点A'是点A以S为对称中心形成的像点,即点S是线段AA'的对称中心. 点阵组(X)以S为中心的像点是由每个点的像点组成的点阵组.X是用来产生对称中心S的, ...
- PHPer不能不看的50个细节!
1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数&quo ...
- haha2
# YOU - fhasd - fdks jf > jd sfkjd sf ```python print "helloworld" ``` 来自为知笔记(Wiz)
- UVA103 dp基础题,DAG模型
1.UVA103 嵌套n维空间 DAG模型记忆化搜索,或者 最长上升子序列. 2.dp[i]=max( dp[j]+1),(第i个小于第j个) (1) //DAG模型记忆化搜索 #include< ...
- Redis_密码管理(转)
一. 如何初始化redis的密码? 总共2个步骤: a.在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数. 比如 requirepass test123 b.配置 ...
- sparkR读取csv文件
sparkR读取csv文件 The general method for creating SparkDataFrames from data sources is read.df. This met ...
- Oozie_示例
Oozie 官方示例 解压oozie-examples.tar.gz 将examples/上传到HDFS家目录 $ bin/hdfs dfs -put /opt/cdh-5.6.3/oozie-4.0 ...