系统环境:Centos 6.0
1. pktgen是内核的一个模块,并不是工具软件,用来发送大量的报文。
2. tcpdump 是linux自带的工具软件,对网络上的数据包进行截获与监控的包分析工具
使用pktgen,首先需要加载pktgen模块,如果你的内核没有把pktgen编译进内核,或编译成模块,你需要重新编译内核。
查看pktgen是否在内核命令:
# lsmod |grep pktgen
加载pktgen模块入内核的命令:
# modprobe pktgen
加载的模块文件路径:
/lib/modules/内核版本号/kernel/net/core/pktgen.ko
加载成功后,看看pktgen模块的线程是不是已经运行了(更准确的说,是不是处于sleep状态):
# ps aux|grep pktgen
root 776 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_0]
root 777 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_1]
root 778 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_2]
root 779 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_3]
root 780 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_4]
root 781 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_5]
root 782 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_6]
root 783 0.0 0.0 0 0 ? S 15:20 0:00 [kpktgend_7]
root 1606 0.0 0.0 105388 888 pts/0 R+ 15:20 0:00 grep pktgen
说明: pktgen线程已经启动,线程个数与cpu核数相关,本机cpu双四核,故8个线程。
检测下面三个文件的信息来了解pktgen :
# ls /proc/net/pktgen
kpktgend_0 kpktgend_1 kpktgend_2 kpktgend_3 kpktgend_4 kpktgend_5 kpktgend_6 kpktgend_7 pgctrl
# cat kpktgend_0
Running:
Stopped:
Result: NA
(pktgen默认情况状态)
# cat pgctrl
pktgen 2.72: Packet Generator for packet performance testing.
3.查看tcpdump有无安装
# find / - name '*tcpdump*'