tcpreplay的安装与使用
tcpreplay的安装与使用
- 一、前言
- 二、安装
- 三、使用
- 四、常见问题
一、前言
tcpreplay是一系列工具的集合。包括(tcpprep、tcprewrite、tcpreplay和tcpbridge)其中tcpreplay是真正实现流量回放功能的工具,其他几个工具可以看作tapreplay的辅助工具,作为流量重放前期的准备工作,比如tcpprep可以划分哪些包是client的, 哪些是server的, 一会发包的时候client的包从一个网卡发, server的包可能从另一个网卡发。tcprewrite可以就是修改2层, 3层, 4层报文头部,也就是可以将IP,MAC等信息修改为你期望的值。
官网: http://tcpreplay.appneta.com/
二、安装
(1)在线安装
CentOS环境下直接,在线安装执行下列命令即可:
yum -y install tcpreplay
查看安装是否成功:
tcpreplay -V
安装成功,会显示如下图所示信息:
查看帮助文档命令如下:
tcpreplay -h
会显示如下图所示信息:
(2)离线安装
当在线安装失败时可以选择离线安装,需要准备Bison、flex、libpcap、m4、tcpreplay依赖包,注意依赖包高低版本不兼容,以上均为离线包。为了节省大家时间,即将相应的依赖包整理好: 点击这里获取依赖包.
1.把所需依赖包和tcpreplay上传至服务器
2.执行脚本 sh libpcap-install
3.执行完脚本,会出现四个安装包分别是Bison、flex、libpcap、m4
4.依次进入Bison、flex、libpcap、m4执行以下命令:
./configure
make
make install
命令完成且无报错后,libpcap才能正常使用。安装完libpcap后,可以安装tcpreplay,进入tcpreplay-4.1.2执行上一步的三个命令编译安装。安装完成后,执行tcpreplay -vesion能查看版本信息,-help查看帮助信息。
注意: 1.编译安装libpacp时,可能会报错configure:error: Your operating system’s lex is insufficient to compile libpcap
2.编译安装bison时,可能会报错 configure:error: GNU M4 1.4 is required”
解决方案: 此时应确认服务器是否安装有GCC编译器,如果没有GCC编译器,请安装后,再次执行下面的安装操作,GCC编译器的安装方法不再阐述。
三、使用
(1)快速使用
tcpreplay -i eth0 p.pcap
快速使用: 其中 p.pcap 是用wireshark或者tcpdump抓取的流量包
(2)高级使用
查看本机网卡信息,命令如下:
tcpreplay --listnics
可以 看到网卡信息,如下
Available network interfaces:
eth0
eth1
any
将 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文件名
四、常见问题
(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。
tcpreplay的安装与使用相关推荐
- tcpreplay工具安装使用
一.Tcpreplay功能简介 首先推荐一个网站:http://tcpreplay.synfin.net/ ,上面有Tcpreplay的安装包和很多文档,包括手册.man页和FAQ等. Tcprepl ...
- linux发包密码,linux下网络发包工具(cp过来的)
第1章. 说明 本文档只适用于Tcpreplay3.x. 第2章. Tcpreplay系列工具 2.1. 概述 首先推荐一个网站:http://tcpreplay.synfin.net ...
- tcprewrite批量修改报文ip地址一
简单的说,tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意的修改(主要是指对2层, 3层 ...
- java libpcap,tcpreplay安装失败,libpcap / collect
我无法在RHEL 6.6上安装tcpreplay 当我尝试运行./configure时出现以下错误 checking for inet_addr... yes checking for libpcap ...
- linux centos tcpreplay 重放数据
tcpreplay是什么? 简单的说, tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意 ...
- centos下 Tcpreplay 重放数据(流量采集重放)
tcpreplay是什么? 简单的说, tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意 ...
- suricata的netmap抓包模式安装
suricata 简介 Suricata 是一个免费.开源.成熟.快速.健壮的网络威胁检测引擎.Suricata 引擎能够进行实时入侵检测(IDS).内联入侵预防(IPS).网络安全监控(NSM)和离 ...
- Libnet 特点 安装 开发流程 libnet_init libnet_destroy libnet_build_udp libnet_build_ipv4 libnet_build_ethern
粉丝不过W Libnet 概念 专业的构造和发送网络数据包的开发工具包 是个高层次的 API 函数库,允许开发者自己构造和发送网络数据包 Libnet 特点 隐藏了很多底层细节,省去了很多麻烦:如缓冲 ...
- Tcpreplay让协议测试从此无忧
我是一枚在软件测试行业泡了7年的妹纸,想分享点自己的一些心得体会.在我刚接触协议测试那会,相当迷茫.过程中一系列的问题便不约而至,例如: ·如何明确入参出参? ·如何掌控流量? ·如何重现bug? · ...
- linux环境下nacos的安装+启动,阿里云服务器安装nacos
nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...
最新文章
- android pjsip 2.5编译,在Android中构建PJSiP时出错
- HSQLDB安装与使用
- 开启注册丨NeurlPS 2021论文预讲会议题全公开,4大主题和25场报告等你来
- android 8.0 intent,Android 8.0通知栏适配问题
- python中remove函数是什么意思,python中pop函数和remove函数有什么区别
- Ubuntu安装rabbitMQ及单机版rabbitMQ集群配置
- ct读片软件_伦琴影领影像诊断中心:这六大MRI读片技巧,影像医生必须掌握
- Zabbix的故障与恢复邮件设置
- ITK:在向量容器上迭代
- The import android cannot be resolved”错误解决方法
- iOS之深入解析多环境配置的实现方案
- lintcode 中等题:Single number III 落单的数III
- java 创建日程到期提醒_晓日程 微信日历加桌面日历,规划时间,掌握未来
- 如何将你的 MySQL 查询速度提升 300 倍
- TableViewCell 自定义分割线
- 易语言 火眼 哈勃 防分析源码
- js使用在指定数据前面或后面插入数据,对List数据排序
- 永磁同步直流无刷电机空间矢量SPWM,SVPWM
- 二进制,CPU,操作系统
- OneNote 与 OneNote 2016 有什么区别?
热门文章
- 【AAE】【Keras】实现merge出错:TypeError: ‘module‘ object is not callable
- 简简单单批量安装windows主机
- matlab 关于interpreter的使用
- JAVA时间字符串去空格、冒号和横杠
- struct files_struct和struct fdtable
- 编译原理(八)消除空产生式
- mysql计算年休假天数_年休假天数计算方法是怎样的
- IE8中怎样使用脚本隐藏弹出窗口的地址栏
- signature=3e113c2e337ada93de6227c65daceed1,Informed Consent: It Is More Than Just a Document
- EagleEye论文+代码