DPDK抓包工具dpdk-dumpcap的使用

news2024/9/28 7:26:23

        在进行网络开发中,我们经常会通过抓包来定位分析问题,在不使用DPDK的情况下,Linux系统通常用tcpdump,windows用wireshark,但是如果我们使用了DPDK来收包,就无法用这两个工具来抓包了。

        这个时候我们需要用DPDK对应的抓包工具,DPDK自带有两个抓包工具,分别是dpdk-pdump和dpdk-dumpcap,dpdk-pdump功能太简单,不支持按条件过滤报文,所以这里我们重点讲一下dpdk-dumpcap的用法。

        前面的文章DPDK的源码编译安装已经讲过DPDK的源码安装方法,DPDK安装好后,dpdk-dumpcap也在系统上安装好了。

        需要说明的是,DPDK有primary和second进程的说法,dpdk-dumpcap属于second进程,在抓包之前,必须先启动一个primary进程进行收包才行,primary进程可以使用前面提到过的dpdk-testpmd。

        可以先使用dpdk-dumpcap -h查看帮助信息:

        业务口抓包工具使用dpdk-dumpcap,参数说明如下:

选项

说明

示例

-i

指定抓包网口,使用网口的pcie地址

'*': 表示所有业务网口

0000:01:00.1: 某个网口的pcie地址

可以用过指定多个-i参数来抓取多个网口的报文,例如:-i 0000:01:00.0 -i 0000:02:00.0

-f

指定ip、port和协议等过滤条件

支持条件或或者条件与

源ip:   src host 1.1.1.1 或 src host 1111::1

源端口: src port 5000

目的ip:   dst host 2.2.2.2 或 dst host 2222::2

目的端口:dst port 80

协议: 如果是all,不用指定;如果是ipv6,ip,tcp和udp,分别指定ip6, ip,tcp,udp

条件与: and

条件或: ||

-D

列出所有网卡的pcie地址

0. 0000:0b:00.0

1. 0000:13:00.0

-c

指定抓包个数

-a

自动结束条件

duration:10, 抓包10秒钟后自动结束抓包

filesize:100, 抓包文件达到100KB后自动结束抓包

packets: 1000, 抓包1000个报文后自动结束抓包

-w

指定抓包的文件名称

例如1.pcap

-v

显示版本号

dpdk-dumpcap 1.0 (DPDK 21.11.0)

-n

使用pcapng格式保存抓包文件

pcapng格式的文件可以看到每个报文的网口id和队列id

        例如,抓取所有网卡上源ip为1.1.1.1,目的ip为2.2.2.2,源端口为5000,目的端口为80,协议为udp的1000个报文保存到1.pcap文件中,抓包命令为:

        dpdk-dumpcap -i '*' -f "src host 1.1.1.1 and src port 5000 and dst host 2.2.2.2 and dst port 80 and udp" -c 1000 -w 1.pcap

        需要说明的是,如果想要按方向来抓包,需要修改dumpcap的源码,在抓包的时候指定是抓收包方向还是发包方向的报文。

        好了,关于dumpcap抓包工具的使用方法就讲到这里了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/503855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux新字符设备驱动实验

1、新字符设备驱动原理 一、分配和释放设备号 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会 带来两个问题: ①、需要我们事先确定好哪些主设备号没有使用。 ②、会将一个主设备号下的所有次设备号都使用掉&#…

多线程(线程同步和互斥+线程安全+条件变量)

线程互斥 线程互斥: 任何时刻,保证只有一个执行流进入临界区访问临界资源,通常对临界资源起到保护作用 相关概念 临界资源: 一次仅允许一个进程使用的共享资源临界区: 每个线程内部,访问临界资源的代码&am…

信息抽取与命名实体识别:从原理到实现

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

STM32-江科大

新建工程 引入启动文件 Start中是启动文件,是STM32中最基本的文件,不需要修改,添加即可。 启动文件包含很多类型,要根据芯片型号来进行选择: 如果是选择超值系列,那就使用带 VL 的启动文件,…

多元统计分析-主成分分析的原理与实现

目录 一、什么是主成分分析? 二、主成分分析的原理 三、主成分分析的应用 四、使用sklearn实现主成分分析 五、总结 一、什么是主成分分析? 主成分分析(Principal Component Analysis,PCA)是一种常用的多元统计分…

Docker部署FAST OS DOCKER容器管理工具

Docker部署FAST OS DOCKER容器管理工具 一、FAST OS DOCKER介绍1. FAST OS DOCKER简介2. FAST OS DOCKER特点 二、本次实践介绍1. 本次实践简介2. 本次实践环境 三、本地环境检查1.检查Docker服务状态2. 检查Docker版本 四、下载FAST OS DOCKER镜像五、部署FAST OS DOCKER1. 创…

理解控制变量、内生变量、外生变量、工具变量

文章目录 前言一、控制变量二、内生变量、外生变量三、工具变量(IV) 前言 1.解释变量(或自变量):解释变量是指作为研究对象,用于解释某个现象或行为模式的变量。其中有些解释变量是直接影响被解释变量的&a…

自学黑客(网络安全),一般人我劝你还是算了吧

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…

重塑未来:AI对教育行业的深远影响与挑战

自从AI人工智能的发展进入“iPhone时刻”以来,我们已身处一个日新月异的时代。在众多领域,AI已经大放异彩,而教育作为培养下一代的关键领域,自然也受到了这场科技革命的影响。 AI对教育行业重大影响 最近可汗学院(Kh…

图论网络模型及求最小路径和造价实战

学习知识要实时简单回顾,我把学习的图论简单梳理一下,方便入门与复习。 图论网络 图论网络简介 图论起源于 18 世纪。第一篇图论论文是瑞士数学家欧拉于 1736 年发表的“哥尼斯堡的七座桥”。1847 年,克希霍夫为了给出电网络方程而引进了“…

《Netty》从零开始学netty源码(五十五)之PooledByteBufAllocator

PooledByteBufAllocator 通过前面的学习我们大体了解了PooledByteBufAllocator管辖下的数据结构,整体情况如下: PooledByteBufAllocator主要管理了三类内存,堆内存heapArenas、直接内存directArenas、线程缓存PoolThreadCache,前…

Java笔记_18(IO流)

Java笔记_18 一、IO流1.1、IO流的概述1.2、IO流的体系1.3、字节输出流基本用法1.4、字节输入流基本用法1.5、文件拷贝1.6、IO流中不同JDK版本捕获异常的方式 二、字符集2.1、GBK、ASCII字符集2.2、Unicode字符集2.3、为什么会有乱码2.4、Java中编码和解码的代码实现2.5、字符输…

直方图均衡化与规定化原理解释以及matlab实现

直方图均衡化(HE) Histogram Equalization (HE) 设灰度水平在 r k , k ∈ [ 0 , L − 1 ] r_k,k\in[0,L-1] rk​,k∈[0,L−1] 内 一幅图像 f f f 的非归一化直方图定义为 h ( r k ) n k h(r_k)n_k h(rk​)nk​ s T ( r ) sT(r) sT(r)为…

【统计模型】心脏病患病影响因素探究

目录 心脏病患病影响因素探究 一、研究目的 二、数据来源和相关说明 三、描述性统计分析 四、数据建模 4.1 全模型 (1)模型构建 (2)模型预测 4.2 基于AIC准则的选模型A 4.3 基于BIC准则的选模型B 4.4 模型评估 五、结论…

Vector - CAPL - CANoe硬件配置函数 - 02

Hardware Configuration 硬件配置中包含CAN或者CANFD的参数配置,其中包含波特率、时间片1、时间片2、时间量子中的同步跳跃宽度、采样点数等信息;随着研发系统中各类型的平台化,测试想要跟上研发的进度,也必须进行平台化&#xff…

linux【网络编程】之网络套接字预备

linux【网络编程】之网络套接字 一、必备知识1.1 端口号1.2 端口号方面疑问及解决方案 二、TCP/UDP协议三、网络字节流四、socket编程4.1 认识接口4.2 浅析sockaddr结构 一、必备知识 在【网络基础】中我们提到了IP地址,接下来了解一下网络通信中其他方面的知识 1…

浏览器的渲染

浏览器的渲染 浏览器的渲染过程分为两大阶段,八大步骤,由两个线程完成, 下面是总的过程 第一个 渲染主线程 它包括5个步骤, 1、html解析 parse 解析我们的HTML,生成DOM树结构 2、样式计算 computed style 比如我们…

系统运维(Git篇)

Git基础 Git Git是一种分布式版本控制系统,可以帮助我们管理代码的版本和变更。通过学习Git,我们可以更好地理解版本控制的原理和应用,同时也可以掌握Git的使用和管理技巧。 Docker Docker是一种容器化平台,可以将应用程序及其依赖…

华为OD机试真题2023(JAVA)

目录 华为OD机试是什么?华为OD面试流程?华为OD机试通过率高吗?华为OD薪资待遇?华为OD晋升空间? 大家好,我是哪吒。 本专栏包含了最新最全的华为OD机试真题,有详细的分析和Java代码解答。已帮助…

web前端的同源策略是什么?

一、同源策略 1995年,同源政策由 Netscape 公司(网景公司)引入浏览器。目前,所有浏览器都实行这个政策。同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。随着互联网的发展,“同源政策”越来越严格…