You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用eBPF在TCP握手前关联代理连接信息

问题:在Go反向代理的TCP连接建立前捕获本地绑定端口

我基于Go标准库的httputil.ReverseProxy实现了一个简单反向代理,希望在出站TCP连接建立(connect系统调用阶段)之前,关联代理的连接或绑定端口。举个例子:客户端1.2.3.4:3333向目标5.6.7.8:4444发起请求时,代理会先绑定某个<port>,再从localhost:<port>向5.6.7.8:4444建立新连接,以此代理请求与响应。

我想了解:能否在连接/TCP握手前捕获这个新连接的四元组,至少获取到本地绑定的端口?是否可以通过eBPF追踪实现?

我已经做过一些尝试:

  • 用eBPF程序嗅探出站数据包,但无法在TCP握手前及时获取所需信息;
  • 尝试用httptrace回调向嗅探器提供信息,但GotConn这类回调仅在握手完成后才会返回连接信息。

内容的提问来源于stack exchange,提问作者Nimrodshn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:30:06