在使用DPDK应用的时候,有时候需要抓包来分析排查故障,dpdk-pdump是一个类似tcpdump的抓包工具,可以参考这篇 文章来学习如何使用。
pdump -p 0 --verbose --print-layer=1 --print-layer=2 --print-layer=3 上述命令将从DPDK网卡0中捕获数据包,并将数据包输出到控制台。该命令还使用了--verbose参数,使得输出包含更详细的信息。同时,该命令使用了--print-layer参数,指定要记录的数据包层级,该示例中会记录数据包的第一层、第二层和第三...
CONFIG_RTE_LIBRTE_PDUMP=y 当能使用这个参数后,编译目录下的头文件rte_config.h中会定义RTE_LIBRTE_PDUMP宏,相关的代码如下: #undef RTE_LIBRTE_PDUMP #define RTE_LIBRTE_PDUMP 1 我按照上面的描述修改了 dpdk-pdump 程序的源码后,终于能够正常执行了! 查看dump 出的数据包文件 dpdk-pdump 中已经对 dump...
运行dpdk-pdump,作为secondary进程,依附于前面启动的l3fd。执行如下参数命令:./dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap' 这里需要注意port的取值,一定是DPDK绑定的网卡,如绑定了3张网卡,那port取值范围就是0-2,对应于每个网卡。自然,也可以使用PCI号来传参,指明抓哪个网卡。Dev=/tm...
librte_pdump 库是在 DPDK 16.07 版本引入的一个 DPDK 数据包捕获开发框架,dpdk-pdump Tool 就是基于 librte_pdump 库开发出来的 DPDK App 抓包工具。因为 DPDK App 是完全内核旁路(Kernel-bypass)的用户态网络协议栈,所以无法使用 tcpdump 工具来进行抓包。使用 dpdk-pdump 可以用于抓取被 DPDK App 接管的指...
sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/home/x/rx.pcap' 11. 获取结果 如果网卡有数据输入,打开/home/x/rx.pcap 文件就能看到数据包详情。 二. 使用多队列方式提升抓包性能 如果网卡数据流量较大,生成使用基本抓包功能很可能出现来不及抓取存储导致丢包现象,此时我们可以开启...
Tcpdump和DPDK PDUMP都是网络抓包工具,但它们有一些区别: 功能:tcpdump是一种通用的网络抓包工具,可以在大多数Unix系统上运行,并且支持多种协议和过滤器。DPDK PDUMP是基于DPDK框架的高性能抓包工具,主要用于数据包捕获和处理,支持用户态抓包和内核态抓包。
sudo ./dpdk-pdump -d /path/to/netmap0/ -u 接收抓包: 抓包并接收到文件 /path/to/file.pcap 中。 总结 DPDK是一种高效的网络数据包处理框架,在使用过程中需要掌握一定的管理命令。本文介绍了DPDK常用命令,包括dpdk_nic_bind.py、dpdk-setup.sh、rtecli、dpdk-pdump和dpdk-devbind.sh,希望对大家的学习...
dpdk: 特点:dpdkpdump是dpdk的抓包工具,用于启用或禁用dpdk端口上的数据包捕获功能。dpdk采用轮询机制,避免了中断机制导致的频繁cpu负载,但网络数据流量低或无数据传输时,轮询方式会导致cpu负载增加。 用途:主要用于dpdk环境下的数据包捕获和分析,需要配合testpmd等主要应用程序使用。ettercap: 特点:...