如何关联代理连接(使用 eBPF)?

How to correlate proxy connections (using eBPF)?

提问人:Nimrodshn 提问时间:11/14/2023 更新时间:11/14/2023 访问量:25

问:

我有一个简单的 Golang 代理,使用 std libs httputil。反向代理[1]。我正在尝试在建立出站 tcp 连接之前关联其连接/绑定端口(即系统调用,如果我理解正确的话)。connect

例如,从客户端到目的地发出请求。代理将通过首先绑定到 some 而不是创建连接来建立新连接,以代理请求和响应。1.2.3.4:33335.6.7.8:4444<port>localhost:<port>5.6.7.8:444

我能否在连接/tcp 握手之前捕获描述第二个连接的四元组,或者至少在本地主机上的绑定?也许使用 eBPF 跟踪?

我有一个 eBPF 程序,它试图嗅探出站连接 数据包,但在 tcp 握手之前我无法足够快地获取信息,我尝试使用 httptrace 回调将此信息提供给我的嗅探器,但回调(即 )提供 仅在握手才提供连接信息。GotConn

[1] https://gist.github.com/JalfResi/6287706

Go TCP 代理 EBPF 分布式跟踪

评论


答: 暂无答案