编程 tproxy:一条命令看穿所有 TCP 连接,网络排查效率神器

2026-07-08 11:07:46 +0800 CST views 4

tproxy:一条命令看穿所有 TCP 连接,网络排查效率神器

tcpdump 抓包太原始?Wireshark 过滤太繁琐?tproxy 让你用一条命令实时拦截并转发任意 TCP 流量,gRPC 连接建立、MySQL 连接池状态、重传率和 RTT 等指标全部清晰可见。

一句话定位 tproxy

轻量级开源网络代理工具,不是简单抓包,而是把网络行为变成肉眼可见的清晰数据流。一条命令即可实时观测任意 TCP 连接全生命周期,支持 gRPC、HTTP2、Redis、MongoDB 等协议自动解析。

五大核心能力

  1. 实时观测:任意 TCP 连接全生命周期
  2. 智能协议解析:gRPC、HTTP2、Redis、MongoDB 等,自动识别业务内容
  3. 网络性能指标直出:重传率、RTT、丢包情况一目了然
  4. 连接池状态透视:总连接数、活跃/空闲连接、最大并发等关键数据实时显示
  5. 延迟转发 & 上下行限速:轻松模拟弱网环境,压测和问题复现超方便

真实使用案例

gRPC 接口偶发超时

tproxy -p 8088 -r localhost:8081 -t grpc -d 100ms

立刻看到连接建立、断开、重连全过程,5 分钟定位问题。

MySQL 连接池打满

tproxy -p 3307 -r localhost:3306 -s -q

实时监控连接数变化与池生命周期,瞬间判断是配置问题还是流量突增。

看网络状况(重传率和 RTT)

tproxy -l 0.0.0.0 -p 7777 -r host.docker.internal:8888 -s -q

直接输出重传率和 RTT,快速判断是网络抖动还是服务端问题。

超简单上手

安装方式(任选其一)

Go 安装(推荐)

go install github.com/kevwan/tproxy@latest

Docker 快速启动

docker run --rm -it -p [listen-port]:[listen-port] kevinwan/tproxy:v1 \
  tproxy -l 0.0.0.0 -p [listen-port] -r [target-host]:[target-port]

Windows 用户:Scoop 一键安装

scoop install tproxy

核心命令参数

参数说明
-p本地监听端口
-r目标远程地址(host:port)
-t协议类型(grpc/http2/redis/mongodb)
-d添加延迟(模拟弱网)
-s开启统计(RTT、重传等)
-q安静模式,只显示关键信息

适用人群

  • 日常写业务的后端开发
  • 需要排查线上疑难杂症的 SRE
  • 做压测和稳定性建设的同学
  • 所有讨厌网络问题变成玄学的开发者

网络排查不再是玄学,把效率拉满,把时间留给更有价值的事情!

开源地址:https://github.com/kevwan/tproxy

推荐文章

Web浏览器的定时器问题思考
2024-11-18 22:19:55 +0800 CST
java MySQL如何获取唯一订单编号?
2024-11-18 18:51:44 +0800 CST
php机器学习神经网络库
2024-11-19 09:03:47 +0800 CST
Grid布局的简洁性和高效性
2024-11-18 03:48:02 +0800 CST
赚点点任务系统
2024-11-19 02:17:29 +0800 CST
在 Vue 3 中如何创建和使用插件?
2024-11-18 13:42:12 +0800 CST
`Blob` 与 `File` 的关系
2025-05-11 23:45:58 +0800 CST
程序员茄子在线接单