Centos7 中tcpreplay安装使用
一、tcpreplay安装
yum -y install tcpreplay
查看安装是否成功:
tcpreplay -V
安装成功显示如下版本信息
二、使用
(1)快速使用
tcpreplay -i eth0 p.pcap
(2)高级使用
查看本机网卡
tcpreplay --listnics
将 p.pcap 文件进行 tcpprep 操作,制作 cache 文件
tcpprep -an client -i p.pcap -o p.cache –v
执行发包语句参数说明:
tcpreplay -i eno2 -p 1000 -l 100000000 56to300010w.pcap
-i:所使用的网卡,如网卡为ens33或者eth0,那么改为正确的网卡名称 1000:每秒钟向接收机发送的eps速率 1000000000:最大发送的eps数量 56to300010w.pcap:用于tcpreplay回放syslog的.pcap文件
3)使用tcprewrite修改.pcap文件的相关参数
tcprewrite --srcipmap=0.0.0.0/0:10.0.0.101/24 --dstipmap=0.0.0.0/0:10.41.48.131/32 --enet-dmac=00:50:56:81:a9:fb --infile=57_163.pcap --outfile=test.pcap -C
1.Srcipmap:模拟发送的设备IP、ip后缀/24为子网掩码,可填/24/32 /24为模拟同网络下多个ip回放报文,/32为单个ip回放报文。具体可视情况修改调试。 2.Dstipmap:回放报文的目标IP Enet-dmac: 目标mac,可在目标服务器使用ipconfig或者ip addr查看 3.Infile:打开的.pcap文件名 Outfile: 输出的.pcap文件名
(3)常用命令实例:
tcpreplay -i eth0 -p 1000 -l 100000000 --limit=200000 test.pcap
解释:使用eth0网口以每秒1000EPS的速率,向test.pcap文件中改写的 目标IP进行持续发包,限制最大发包数100000000,当发送包数达到200000 时,直接停止发送(–limit的作用)。
tcpreplay -i eth0 -p 5000 -l 100000000 --duration=10 test.pcap
解释:使用eth0网口以每秒5000EPS的速率,向test.pcap文件中改写的 目标IP进行持续发包,限制最大包数100000000,当发包时间达到10秒时 (–duration), 停止发送。
nohup tcpreplay -i eth0 -p 5000 -l 100000000 test.pcap &
解释:语句中的Nohup+&代表该命令会在后台开启一个线程来运行,若要停 止发送,执行ps -ef |grep tcpreplay ,kill -9 进程PID。
参考文档:https://blog.csdn.net/weixin_45191386/article/details/123556035