使用dpdk-pdump抓包工具对l2fwd二层转发进行抓包

1、安装dpdk-pdump所需的依赖,修改配置。重新编译dpdk。详见官网
dpdk-pdump使用时,作为secondary进程,必须依附于primary进程。选用l2fwd作为primary进程。
2、在l2fwd中添加初始化pdump框架,如下:
#ifdef RTE_LIBRTE_PDUMP
/* 初始化pdump */
rte_pdump_init(NULL);
#endif
3、启动l2fwd,作为server端,默认是primary进程。再打开一个界面,启动dpdk-pdump进程作为client端向primary进程发送开始或者停止抓包请求,primary进程拷贝一份数据包到ring中,secondary进程从ring中读取出来,自己可以指定保存。pcap文件的名称。

pdump启动参数设置如下:
./dpdk-pdump – --pdump ‘port=0,queue=*,rx-dev=/tmp/rx.pcap’(对端口port0进行抓包,全部队列,Dev为抓包存放路径,保存为rx.pcap文件)

如下图所示,l2fwd转发数据包8个,dpdk-pdump抓到8个数据包。
使用dpdk-pdump抓包工具对l2fwd二层转发进行抓包_第1张图片
如下图所示,l2fwd转发数据包8个,dpdk-pdump抓到8个数据包。
使用dpdk-pdump抓包工具对l2fwd二层转发进行抓包_第2张图片

你可能感兴趣的:(dpdk)