tproxy是一款开源的 TCP 连接分析工具。可用于监控网络连接,分析请求内容。基于Go语言编写,遵守MIT开源协议。分析请求内容包括: 分析 gRPC 连接何时连接、何时重连分析 MySQL 连接池,当前多少连接,连接的生命周期, 观察和分析任何 TCP 连接。

命令行工具安装

$ GOPROXY=https://goproxy.cn/,direct go install github.com/kevwan/tproxy@latest

或者使用 docker 镜像:

$ docker run --rm -it -p <listen-port>:<listen-port> -p <remote-port>:<remote-port> kevinwan/tproxy:v1 tproxy -l 0.0.0.0 -p <listen-port> -r host.docker.internal:<remote-port>

arm64 系统:

$ docker run --rm -it -p <listen-port>:<listen-port> -p <remote-port>:<remote-port> kevinwan/tproxy:v1-arm64 tproxy -l 0.0.0.0 -p <listen-port> -r host.docker.internal:<remote-port>

Windows:

$ scoop install tproxy

用法

$ tproxy --help
Usage of tproxy:
  -d duration
    	the delay to relay packets
  -l string
    	Local address to listen on (default "localhost")
  -p int
    	Local port to listen on, default to pick a random port
  -q	Quiet mode, only prints connection open/close and stats, default false
  -r string
    	Remote address (host:port) to connect
  -s	Enable statistics
  -t string
    	The type of protocol, currently support grpc

源码:
https://github.com/kevwan/tproxy