Goreplay开源工具的介绍,安装及使用 (Linux)

Posted junethirty

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Goreplay开源工具的介绍,安装及使用 (Linux)相关的知识,希望对你有一定的参考价值。

Goreplay

介绍

GoReplay是一个开源的网络监控工具,它可以记录你的实时流量,并用于跟踪、负载测试、监控和详细分析。

GoReplay提供了一种unique approach for shadowing方式:GoReplay不是以代理形式,而是监听网络接口上的流量,不需要对生产基础设施进行任何更改,而是在与服务相同的机器上运行GoReplay守护进程。

GoReplay的工作原理框图:

技术图片

 

Linux系统环境下的安装 

Golang安装

一 、首先安装Golang及相关依赖环境

 在官网上下载安装包或者go的一些中文网站上下载安装包

1. https://golang.org/dl/

2. https://studygolang.com/dl

我下载的是: 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的情况)

需要打开2goreplay
.goreplay --input-raw :1029 --output-tcp "localhost:28020"
.goreplay --input-tcp :28020 --output-file "request.gor"

 

以上是关于Goreplay开源工具的介绍,安装及使用 (Linux)的主要内容,如果未能解决你的问题,请参考以下文章

流量回放工具之 goreplay 核心源码分析

流量回放工具之 goreplay 核心源码分析

HTTP流量神器Goreplay核心源码详解

http流量复制工具goreplay

性能工具之 nGrinder 入门安装及使用

流量回放工具之GoReplay input_file 源码分析