重定向后从 iptables 检索原始目的地

发布于 2024-11-17 16:46:34 字数 190 浏览 2 评论 0原文

我正在编写一个通用的应用程序代理。

我想使用它作为透明代理,我最初的计划是使用带有重定向规则的 iptables 将所有连接转发到我的应用程序代理。

当然,这里的问题是我的应用程序代理丢失了有关预期目的地的信息。

是否可以查询 iptables 来检索最初的预期收件人? 任何其他可能解决此问题的解决方案也将受到赞赏!

I'm writing an application proxy for generic use.

I want to use this as a transparent proxy, where my original plan is to use iptables with a REDIRECT rule forward all connections to my application proxy.

The problem here is of course, that my application proxy lose the information about the intended destination.

Is it possible to query iptables to retrieve the originally intended recipient?
Any other possible solution to this problem is also appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天邊彩虹 2024-11-24 16:46:34

也许这就是您正在寻找的?

http://www.network-builders .com/iptables-redirect-original-destination-ip-t69515.html

读取 TCP 套接字的SO_ORIGINAL_DST 选项。
或者在 /proc/net/ip_conntrack 中查找连接跟踪表。

#include <linux/netfilter_ipv4.h>

struct sockaddr_in addr;
socklen_t addr_sz = sizeof(addr);
memset(&addr, 0, addr_sz);
addr.sin_family = AF_INET;
getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &addr, &addr_sz);

 
我认为你应该能够将其转换为类似于 python 的东西。

Perhaps this is what you were looking for?

http://www.network-builders.com/iptables-redirect-original-destination-ip-t69515.html

Read the SO_ORIGINAL_DST option of the TCP socket.
Or look up the connection tracking table in /proc/net/ip_conntrack.

#include <linux/netfilter_ipv4.h>

struct sockaddr_in addr;
socklen_t addr_sz = sizeof(addr);
memset(&addr, 0, addr_sz);
addr.sin_family = AF_INET;
getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &addr, &addr_sz);

I think you should be able to convert that to something similar for python.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文