DPDK 抓包使用指南

您所在的位置:网站首页 抓包iptv源 DPDK 抓包使用指南

DPDK 抓包使用指南

2023-03-12 06:43| 来源: 网络整理| 查看: 265

一. 基本步骤

1. 下载 dpdk 源代码http://core.dpdk.org/download/

2.下载 kmod 源代码http://git.dpdk.org/dpdk-kmods/commit/

3. 解压编译 kmod,生成生成 igb_uio.ko~/dpdk/dpdk-kmods-e68a705cc5dc3d1333bbcd722fe4e9a6ba3ee648/linux/igb_uio$ make

4.安装工具sudo apt-get install libpcap-devsudo apt install python3-pippip3 install ninjapip3 install meson

5. 编译 dpdk 代码meson -Dexamples=all buildninja -C build

6. 加载驱动 igb_uiomodprobe uioinsmod igb_uio.ko

7. 申请内存大页mkdir -p /dev/hugepagesmountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepagessuecho 4096 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

8. 查询绑定网卡./usertools/dpdk-devbind.py –statusifconfig enp4s0 down./usertools/dpdk-devbind.py --bind=igb_uio 0000:04:00.0 (0000:04:00.0 /enp4s0 是上一步查询设备得到的需要绑定的网卡 ID 和名称)

9. 运行 dpdk-testpmdsudo ./build/app/dpdk-testpmd -c 3 -n 2 -- -itestpmd> set fwd rxonlytestpmd> starttestpmd> show port stats all

10. 运行 dpdk-pdumpsudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/home/x/rx.pcap'

11. 获取结果如果网卡有数据输入,打开/home/x/rx.pcap 文件就能看到数据包详情。

二. 使用多队列方式提升抓包性能

如果网卡数据流量较大,生成使用基本抓包功能很可能出现来不及抓取存储导致丢包现象,此时我们可以开启网卡多队列功能提升抓包性能。

1. 申请 ramfsmkdir ~/ramfsmke2fs /dev/ram0 8Gmount /dev/ram0 ~/ramfs/

 

2. 运行 dpdk-testpmdsudo ./build/app/dpdk-testpmd -c 0xff -n 8 -- -i --rxq=4 --txq=4 --nb-core=4testpmd> flow create 0 ingress pattern eth type is 0x05a2 dst is 87:65:43:21:43:21 / end actions queue index 1 / endtestpmd> set fwd rxonlytestpmd> starttestpmd> show port stats all上述操作的作用是把以太网包长或类型为 0x5a2 并且目的 mac 地址为 87:65:43:21:43:21 的数据包放入队列 1 进行收取,生成其余数据包放入队列 0。根据传入的参数 rxq 接收队列有四个,也可以设置其余的过滤条件放入队列 2 和 3。

3. 运行 dpdk-pdumpsudo ./build/app/dpdk-pdump -l 10,11,12,13 -- --multi --pdump 'port=0,queue=0,rx-dev=/home/x/ramfs/rx-0.pcap' --pdump 'port=0,queue=1,rx-dev=/home/x/ramfs/rx-1.pcap'启动多核进行文件 dump,生成其中核 10 用于 dpdk-pdump 主程序,核 11 用于接收队列 0 的数据包并写入 rx-0.pcap,核 12 用于接收队列 1 的数据包并写入 rx-1.pcap,核 13 为指定的空闲核。

参考链接:[1] http://core.dpdk.org/doc/quick-start/[2] https://blog.csdn.net/Q93068/article/details/110581617[3] https://blog.csdn.net/aixueai/article/details/114791965



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3