iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >tcpreplay的安装与使用
  • 108
分享到

tcpreplay的安装与使用

网络linux服务器tcp 2023-10-24 19:10:53 108人浏览 泡泡鱼
摘要

一、背景介绍 tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意的修改(主要是指对2层,

一、背景介绍

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

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

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

  • tcpprep - 简单的说就是划分哪些包是client的, 哪些是server的, 一会发包的时候client的包从一个网卡发, server的包可能从另一个网卡发。即区分pcap数据包的流向,即区分出客户端和服务器
  • tcprewrite - 简单的说就是修改2层, 3层, 4层报文头部。即改写pcap数据包的2-4层的头部信息,即Mac地址、IP地址和PORT等。
  • tcpreplay - 真正发包, 可以选择主、从网卡, 发包速度等。即回放pcap文件中的数据包。
  • tcpreplay-edit-更写pcap数据并回放,将tcprewrite和tcpreplat一条命令实现。
  • tcpbridge - 利用tcprewrite的功能实现两个网络部分的桥接

二、安装

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
  • Srcipmap:模拟发送的设备IP、ip后缀/24为子网掩码,可填/24/32
    /24为模拟同网络下多个ip回放报文,/32为单个ip回放报文。具体可视情况修改调试。
  • Dstipmap:回放报文的目标IP Enet-dmac: 目标mac,可在目标服务器使用ipconfig或者ip addr查看
  • Infile:打开的.pcap文件名 Outfile: 输出的.pcap文件名
3、执行发包语句参数说明:
tcpreplay -i eno2 -p 1000 -l 100000000 3.pcap
  • -i:所使用的网卡,如网卡为ens33或者eth0,那么改为正确的网卡名称
  • 1000:每秒钟向接收机发送的eps速率
  • 1000000000:最大发送的eps数量
  • 3.pcap:用于tcpreplay回放syslog的.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

--结束END--

本文标题: tcpreplay的安装与使用

本文链接: https://www.lsjlt.com/news/441766.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • tcpreplay的安装与使用
    一、背景介绍 tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意的修改(主要是指对2层, ...
    99+
    2023-10-24
    网络 linux 服务器 tcp
  • npm的安装与使用
    目录一、由来1、在 GitHub 还没有兴起的年代,前端是通过网址来共享代码2、GItHub 兴起之后,社区中也有人使用 GitHub 的下载功能:3、麻烦4、具体步骤5、发展二、n...
    99+
    2024-04-02
  • MinIO的安装与使用
    MinIO的安装与使用 一、MinIO是什么?二、MinIO安装(centos7)2.1 下载MinIO2.2 启动MinIO2.3 修改配置2.4 编写启动脚本,以及加入到systemctl中 三、Springboot集成Mi...
    99+
    2023-08-18
    linux 开发语言 java 服务器
  • sshpass的安装与使用
    1. sshpass的定义与安装 (1)定义 sshpass 的定义:ssh 登陆不能在命令行中指定密码,sshpass 的出现则解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量...
    99+
    2023-09-01
    linux sshpass scp ssh 脚本
  • Composer 安装与使用
    一、composer 安装 进入系统的  cd /usr/local/bin   目录 执行安装命令: curl -sS https://getcomposer.org/installer | php 重命名 composer.phar...
    99+
    2023-09-04
    composer php 开发语言
  • Vue安装与使用
    目录1、Vue安装方式1:CDN引入方式2:直接下载引入方式3:npm安装2、基本使用前言: Vue(读音/vjuː/,类似于view) 是一套用于构建前后端分离的框架。刚...
    99+
    2024-04-02
  • WinHex安装与使用
    目录 下载WinHex 安装WinHex 查看现成的磁盘文件 手动创建磁盘文件 创建磁盘文件 创建分区 安装引导程序 查看磁盘 下载WinHex 下载链接: WinHex: Hex Editor & Disk Editor, Comp...
    99+
    2023-09-06
    linux 运维 服务器
  • s3cmd安装与使用
    一、安装 1.下载安装包。 这里我们使用s3cmd-1.0.0.tar.gz安装包 2.解压安装包 tar xzvf s3cmd-1.0.0.tar.gz 3.移动路径 mv s3cmd-1.0.0 /usr/local/s3cmd 4.创...
    99+
    2023-01-31
    s3cmd
  • phpstorm+xdebug的安装与使用
    工具和环境 phpstorm 2018 php5.6 线程安全 xdebug  1.下载和安装xdebug 1.1 查看自己phpinfo信息 比如我这里是php 5.6 ,线程安全版本 1.2 xdebug 官网 Xdebug:...
    99+
    2023-09-12
    phpstorm php apache
  • wget 的安装与使用(Windows)
    目录  一、正确的安装!!!(直接安装请看这里) 二、wget的下载与安装(错误的安装) 1.下载 2.安装 3.配置环境  4.验证是否安装成功 5.可能出现的问题 三、wget的卸载(未使用方法一下载过的请忽略) 四、wget的使用 ...
    99+
    2023-09-03
    linux windows servlet 服务器
  • Java的jps使用与安装
         这两天处理系统线上问题处理的崩溃,动不动就线上接口查询速率过慢,出现cpu飙升,对于这种情况可使用top,查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof ,这里主要介绍jps,但对其他的指令...
    99+
    2023-09-18
    java 开发语言
  • Tomcat 与 maven 的安装与使用教程
    目录Tomcat1、下载2、重要目录3、使用 Tomcat3.1、启动 Tomcat3.2、使用浏览器访问 Tomcat3.3、通过 webapps 目录部署页面Maven1、什么是...
    99+
    2024-04-02
  • Composer安装与PHPWord的下载与使用
    PHP之PHPWord安装与使用——Composer安装PHPWord 关于Composer,菜鸟里有简单的介绍与使用说明——Composer 安装与使用 Composer是PHP 的一个依赖管理工具...
    99+
    2023-09-17
    composer php
  • Maven私库的安装与使用
    Maven私库是指自己搭建的Maven仓库,用于存储和管理项目的依赖库。搭建私库可以提高项目构建的速度,并且可以方便地管理自己开发的...
    99+
    2023-08-25
    Maven
  • vnc view安装与使用
    vnc view安装与使用 1. 安装 vnc远程连接,需要在服务器端安装vnc server,在客户端安装vnc viewer 。 这里我主要是研究如何在自己的电脑安装vnc viewer,来远程连...
    99+
    2023-09-10
    服务器 linux 运维
  • R.swift的使用与安装教程
    为什么使用R.swift R.swift可以获取强类型、自动完成的资源,如图像、字体和段落完全类型化。更少的强制转换和猜测方法将返回什么编译时检查,运行时不再有导致应用程序崩溃的错误...
    99+
    2024-04-02
  • Ireport的安装与使用教程
    Ireport的安装及使用 一、 安装ireport 1.点击安装包,可以一直点击下一步,安装完成。 2.安装完成后,要在如下安装目录下添加ojdbc14.jar。 3.数据源的...
    99+
    2024-04-02
  • think-queue安装与使用
    官方介绍(可忽略) think-queue是ThinkPHP官方提供的一个消息队列服务,是专门支持队列服务的扩展包。think-queue消息队列适用于大并发或返回结果时间比较长且需要批量操作的第...
    99+
    2023-09-04
    php
  • gearman的安装与使用示例
    Gearman是一个开源的分布式作业调度系统,可以实现分布式任务调度和并行计算。下面是Gearman的安装和使用示例:1. 安装Ge...
    99+
    2023-08-24
    gearman
  • Java的Lombok如何安装与使用
    这篇文章主要介绍了Java的Lombok如何安装与使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装Lombok的安装分两部分:Idea插件的安装和maven中pom文件...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作