相关文章推荐
强健的企鹅  ·  rsa.importkey rsa key ...·  2 年前    · 
卖萌的红金鱼  ·  前端 - 解决Element UI ...·  2 年前    · 
yum install gcc libpcap-devel kernel-devel kernel-headers
TOPDIR=/devel
mkdir -p $TOPDIR
cd $TOPDIR
git clone http://dpdk.org/git/dpdk
git clone http://dpdk.org/git/apps/pktgen-dpdk
export RTE_SDK=$TOPDIR/dpdk
export RTE_TARGET=x86_64-native-linuxapp-gcc
$ cd $RTE_SDK
$ make install T=x86_64-native-linuxapp-gcc
$ cd $TOPDIR/pktgen-dpdk
$ make

示例:
绑定igb_uio(mlx4/mlx5无需绑定)后

./pktgen  -c 0xffff --socket-mem=5120,5120 -w 03:00.0 -w 03:00.1 -n 2 -r 2 -- --crc-strip -P -m [1:2-15].0 -T -N

注意事项
1. pktgen 支持单一、范围、随机、序列多重数据流发送模式,每种模式都拥有自己的packet buffer。所以为每种模式启用不同的配置,并启用模式(enable port-id mode),默认启用为单一数据流放方式;
2. pktgen 最小要求2个CPU才可以运行,0核用于处理命令行&计时器屏幕刷新,其他核用于发送&接收数据报文;
3. pktgen一定要在与pktgen.lua文件同一目录下运行,即pktgen的文件夹中运行;

single - 单一地址流模式

set 0 dst mac 11:22:33:44:55:66
set 0 dst ip 192.168.11.1
set 0 src ip 192.168.10.1/24

range - 指定地址范围多流模式

enable 0 rang
page rage
set 0 dst ip 192.168.20.3
range 0 dst ip 192.168.20.3 192.168.20.3 192.168.20.50 0.0.0.1
set 0 src ip 192.168.30.3/24
range 0 src ip 192.168.30.3 192.168.30.3 192.168.30.50 0.0.0.1
range 0 size 64 64 64 0
page stats

sequence - 序列多重数据流模式

sequence <seq#> <portlist> dst <Mac> src <Mac> dst <IP> src <IP> sport <val> dport <val> ipv4|ipv6 udp|tcp|icmp vlan <val> pktsize <val> [teid <val>]
sequence <seq#> <portlist> <dst-Mac> <src-Mac> <dst-IP> <src-IP> <sport> <dport> ipv4|ipv6 udp|tcp|icmp <vlanid> <pktsize> [<teid>]
- Set the sequence packet information, make sure the src-IP has the netmask value eg 1.2.3.4/24
page seq
seq 0 all 0000:4455:6677 0000:1234:5678 10.11.0.1 10.10.0.1/16 5 6 ipv4 udp 1 128 0
seq 1 all 0000:4455:6677 0000:1234:5678 10.11.0.1 10.10.2.1/16 5 6 ipv4 udp 1 128 3
set all seqCnt 2
page stats

random - 随机流模式

set port-id rnd idx offset bitmask

发送随机流, 随机源地址(offset 26) + 随机源端口(offset 34);

page rnd
enable 0 random
set 0 rnd 0 26 ........XXXXXXXXXXXXXXXXXXXXXXXX
set 0 rnd 1 34 XXXXXXXXXXXXXXXX................
page stats
page rnd
enable all random
set all rnd 0 26 ........XXXXXXXXXXXXXXXXXXXXXXXX
set all rnd 1 34 XXXXXXXXXXXXXXXX................
page main

pktgen-dpdk Doc

pktgen-dpdk安装yum install gcc libpcap-devel kernel-devel kernel-headersTOPDIR=/develmkdir -p $TOPDIRcd $TOPDIRgit clone http://dpdk.org/git/dpdkgit clone http://dpdk.org/git/apps/pktgen-dp... 本人最近在学习使用Pktgen构造DDoS的攻击流,就记录了一下PktgenDPDK使用学习笔记 dpdk是Intel发起的高速网络处理工具,能够旁路Linux在用户空间接管CPU、内存和网卡队列,进行高度并行的网络收发包。pktgen-dpdk是Linux内核发包工具的dpdk加强版 一、安装配置 安装过程需要设置hugepage以支持dpdk,编译加载dpdk模块和绑定网卡,编译pktgen-dpdk,运行pktgen-dpdk. 安装 dpdk-20.11,可以参看dpdk-20.11 编译和安装 dpdk-pktgen 有独立的 git 仓库,并且可以基于 meson 和 ninja 进行构建,因此安装过程很简单。 安装过程如下: $ git clone git://dpdk.org/apps/pktgen-dpdk $ cd pktgen-dpdk $ git checkout ma...
原文链接:http://mowblog.com/pktgen简要使用说明/ 上一篇通过在虚拟机中安装dpdkpktgen,基本已经有了一个可以测试的环境,今天主要验证pktgen的-s选项,通过pcap格式的数据文件来构造pktgen端口发送的数据,这个功能实在是太有效果了,可惜的是家里的环境没有那么多网卡,没办法捕获到pktgen端口发出的消息,否则看起来会更加直观。 在贴图之前,先简要记录一...
Pktgen, (Packet Gen-erator) is a software based traffic generator powered by the DPDK fast packet processing framework. Some of the features of Pktgen are: • It is capable of generating 10Gbit wire rate traffic with 64 byte frames. • It can act as a transmitter or receiver at line rate. • It has a runtime environment to configure, and start and stop traffic flows. • It can display real time metrics for a number of ports. • It can generate packets in sequence by iterating source or destination MAC, IP addresses or ports. • It can handle packets with UDP, TCP, ARP, ICMP, GRE, MPLS and Queue-in-Queue. • It can be controlled remotely over a TCP connection. • It is configurable via Lua and can run command scripts to set up repeatable test cases. • The software is fully available under a BSD licence.
错误如下EAL: VFIO support initialized EAL: Probe PCI driver: mlx5_pci (15b3:101e) device: 0000:12:01.0 (socket 0) mlx5_pci: no Verbs device matches PCI device 0000:12:01.0, are kernel drivers loaded? common_mlx5: Failed to load driver = mlx5_pci. EAL: Requeste