nDPI安装与入门笔记

nDPI简介

nDPI是一个用于深度数据包检测的开源 LGPLv3 库。它基于OpenDPI,它包括ntop扩展。它支持Unix/Linux/Windows系统。

官方github链接:GitHub - ntop/nDPI at 4.6-stable

官方pdf文档也提供详细安装与使用教程:nDPI/nDPI_QuickStartGuide.pdf at 4.6-stable · ntop/nDPI · GitHub

 

安装(Ubuntu)

可通过git clone或手动下载方式获取源码:

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

编译所需环境要求:

sudo apt-get install build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev

(推荐)如果想编译完整项目,则在目录下逐行执行:

./autogen.sh
make

(不推荐)如果只想编译库,忽略其他工具或测试程序,则在目录下逐行执行:

./autogen.sh --with-only-libndpi
make

若编译了完整项目,则可通过测试程序检测是否编译完整,逐行执行:

./tests/do.sh 	
./tests/do-unit.sh 
./tests/do-dga.sh 

测试程序正常返回结果如下:

 

 

 ndpiReader使用

ndpiReader是一个demo应用,可进行离线和在线流量分析。

离线pcap分析:

sudo ./example/ndpiReader -i test.pcap

-i:提供pcap文件路径。

在线流量分析:

sudo ./example/ndpiReader -i ens33 -s 30

-i:当-s选项存在时,-i选项提供网卡接口

-s:提供捕获时长

注:执行此语句必须有sudo权限

自定义protocol:

首先新建txt文件,路径与文件名和自定义,此处以protocol.txt为例。

通过HTTP Host识别的协议格式:

        host:"<待识别HTTP Host>"@<协议名>

具体内容如下:

# Subprotocols 
# Format: 
# host:"<value>",host:"<value>",.....@<subproto> 
host:"baidu.com"@Baidu
host:"google.com"@Google

通过传输层识别的协议格式:

        <tcp|udp>:<端口号>,<tcp|udp>:<端口号>@<协议名>

具体内容如下:

#  Format: 
# <tcp|udp>:,<tcp|udp>:,.....@ 
tcp:81,tcp:8181@HTTP 
udp:5061-5062@SIP 
tcp:860,udp:860,tcp:3260,udp:3260@iSCSI 
tcp:3000@ntop 

使用ndpiReader采取自定义协议进行识别,则执行:

sudo ./example/ndpiReader -i ens33 -s 30 -p protocol.txt

-p:提供自定义协议文件路径

在识别结果中,协议的部分可看到自定义的协议Baidu和Bilibili的流量统计信息:

补充

nDPI的重心在于nDPI提供的API,此部分内容后续更新。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值