一、发pkt模拟包
例如:
./pktgen -c c -n 4 --proc-type auto -b 01:00.0 --socket-mem 512 --file-prefix pg -- -n 10 -T -m 3.0 -f set_seq64_200wconv.pkt
./pktgen -c 3 -n 4 --proc-type auto -b 01:00.1 --socket-mem 512 --file-prefix pg1 -- -n 10 -T -m 1.0 -f set_seq64_200wconv.pkt
分别打开2个窗口执行以上2个命令,top中可以看到2个pktgen进程,一张万兆卡的2个口分别发包,互不影响。
参数说明:
1. -c为抓包掩码,第一条命令中掩码为1100,抓包核心为3, 抓包核后面的核为保留位,核心2位保留位。第二条命令中掩码为0011,抓包核心为1,0核为保留位。
2. -b 为网卡pci的查询结果,表示不同的网口。
3. --file-prefix pg 在2条命令中名称要求不一致。
4. -m 为抓包核心,3.0,1.0分别表示1中的3核和1核,2条命令中可以用同一端口0,不互相影响。
一个pcap一个pkt配对:
./pktgen20180410 -c f -n 4 --proc-type auto --socket-mem 512 -b 01:00.1 --file-prefix pg -- -T -m 3.0 -s 0:voip-udp.pcap:2 -d 8000 --bps 1000
./pktgen20180410 -c 3 -n 4 --proc-type auto -b 01:00.0 --socket-mem 512 --file-prefix pg1 -- -n 10 -T -m 1.0 -f set_seq64_200wconv.pkt
二、发pcap包
./pktgen -c 70 -n 4 --proc-type auto --socket-mem 1024 -b 04:00.1 --file-prefix pg2 -- -T -m 5.0 -s 0:/home/192.168.5.15-100.17-0.187-sendpkt/:6
-c 为发包对应的核心掩码,70为0111 0000 其中从右至左第1个1表示给屏幕的核心,上例中为4号核心。从右至左第2,3个核心表示给m和文件夹发包的核心。上例中为:5.6核心
-n 为内存通道数,一般都是4
--socke-mem 1024 表示分配给大页的内存为1GB
-b 04:00.1 表示lspci中的网卡ID ;
-b blacklist黑名单发包程序看不到这张卡
-w whitelist白名单 发包程序只看得到-w 指定的网卡
--file-prefix pg2 文件前缀,表示多