Goreplay开源工具的介绍,安装及使用 (Linux)
Posted junethirty
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Goreplay开源工具的介绍,安装及使用 (Linux)相关的知识,希望对你有一定的参考价值。
Goreplay
介绍
GoReplay是一个开源的网络监控工具,它可以记录你的实时流量,并用于跟踪、负载测试、监控和详细分析。
GoReplay提供了一种unique approach for shadowing方式:GoReplay不是以代理形式,而是监听网络接口上的流量,不需要对生产基础设施进行任何更改,而是在与服务相同的机器上运行GoReplay守护进程。
GoReplay的工作原理框图:
Linux系统环境下的安装
Golang安装
一 、首先安装Golang及相关依赖环境
在官网上下载安装包或者go的一些中文网站上下载安装包
我下载的是: go1.14.4.linux-amd64.tar.gz
二、解压到/usr/local目录下
tar -C /usr/local -zxvf go1.14.4.linux-amd64.tar.gz
三、配置环境变量
# 打开 vim /etc/profile # 添加 export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin # 编译生效 source /etc/profile
四、验证
go env
GoReplay安装
官网上下载源码包: goreplay-1.1.0.tar.gz
https://github.com/buger/goreplay/releases
解压:
tar xvf goreplay-1.1.0.tar.gz
cd goreplay-1.1.0/
编译
go build
编译出现问题:
vendor/github.com/google/gopacket/pcap/pcap_unix.go:34:18: fatal error: pcap.h: No such file or directory
解决办法:
安装 libpcap
下载地址:http://www.tcpdump.org/
下载版本:libpcap-1.2.1.tar.gz
解压,执行:
./configure
make
make install
回到goreplay-1.1.0目录,再次执行编译命令:
go build
编译成功后生成可执行文件:goreplay
安装成功。
GoReplay的常用使用方式:
1. 转发(改成你需要的ip和端口)
.goreplay --input-raw :8080 --output-http "http://192.168.1.100:6660"
2. 保存到文件
.goreplay --input-raw :8080 --output-file “requests.gor“
3. 保存到文件,添加内容到相同文件
.goreplay --input-raw :8080 --output-file requests.txt --output-file-append
4. 从文件转发
.goreplay --input-file requests.txt --output-http "http://192.168.1.100:6660"
5. 只允许转url regexp
.goreplay --input-raw :8080 --output-http staging.com --http-allow-url /api
6. 转发到本机tcp(适用于nginx upstream的情况)
需要打开2个goreplay
.goreplay --input-raw :1029 --output-tcp "localhost:28020"
.goreplay --input-tcp :28020 --output-file "request.gor"
以上是关于Goreplay开源工具的介绍,安装及使用 (Linux)的主要内容,如果未能解决你的问题,请参考以下文章