文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

tcpreplay的安装与使用

2023-10-24 19:20

关注

一、背景介绍

tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意的修改(主要是指对2层, 3层, 4层报文头), 指定重放报文的速度等, 这样tcpreplay就可以用来复现抓包的情景以定位bug, 以极快的速度重放从而实现压力测试。

tcpreplay本身包含了几个辅助工具(tcpprep、tcprewrite、tcpreplay和tcpbridge), 用于准备发包的cache, 重写报文等。

官网: http://tcpreplay.appneta.com/

二、安装

1、在线安装

CentOS环境下直接在线安装:

yum -y install tcpreplay 

Ubuntu环境下直接在线安装(有bug,推荐离线):

sudo apt install libpcap-devsudo apt install tcpreplay

查看安装是否成功:

sudo tcpreplay -V

安装成功,会显示如下图所示信息:
在这里插入图片描述
查看帮助文档命令如下:

tcpreplay -h
2、离线安装
 解压依赖 tar zxvf libpcap-1.9.1.tar.gz  编译 ./configure   make && make install  解压安装包 tar zxvf tcpreplay-4.1.0.tar.gz  编译 ./configure --enable-dynamic-link  make && make install

三、tcpreplay工具使用

命令格式:tcpreplay [-flags] [-flag [value]] [--option-name[[=| ]value]] 

命令参数如下图:
在这里插入图片描述

(1)快速使用
tcpreplay -i eth0 p.pcap

快速使用: 其中 p.pcap 是用wireshark或者tcpdump抓取的流量包

(2)高级使用

查看本机网卡信息,命令如下:

tcpreplay --listnics

可以 看到网卡信息,如下

Available network interfaces:vethea91bfcveth80236a7veth3676c9eens33veth230fd33veth9dc5845veth0023549br-a94abb025497veth2656707anydocker0nflognfqueueusbmon1usbmon2

四、示例

1、将 1.pcap 文件进行 tcpprep 操作,制作 cache 文件
tcpprep -a client -i 1.pcap -o 2.pcap -v
2、使用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
3、执行发包语句参数说明:
tcpreplay -i eno2 -p 1000 -l 100000000 3.pcap

五、常见问题

(1)为什么在服务器上收不到tcpreplay回放的报文?
  在目标服务器上使用tcpdump命令进行抓包,抓取接收报文的网卡数据:
  检查输出信息,例命令如下:

tcpdump -i eth0 port 514

(2)抓不到包,也接收不到报文。
  检查发包机和目标机是否能ping通,能ping通,再检查执行的tcpreplay命令参数和修改.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。

其他示例(1、2已验证)
1.预处理生成Cache:tcpprep -a client -i test.pacp -o test.cache 这条命令将PCAP文件分成客户端和服务端,默认为客户端。发送时packet将分别从客户端和服务端发出。2.重写IP地址和MAC地址:tcprewrite -e 192.85.1.2:192.85.2.2 --enet-dmac=00:15:17:2b:ca:14,00:15:17:2b:ca:15 --enet-smac=00:10:f3:19:79:86,00:10:f3:19:79:87 -c test.cache -i test.pcap -o 1.pcap  这条命令将eth0设为服务端接口,eth1设为客户端接口,重写了IP和MAC,可通过wireshark等工具打开1.pcap,查看修改是否成功。 3.重放packet:tcpreplay -i eth0 -I eth1 -l 1000 -t -c /dev/shm/test.cache /dev/shm/1.pcap

来源地址:https://blog.csdn.net/SweetHeartHuaZai/article/details/127307208

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯