在两个不同的子网之间需要一个中继器/回显服务器

2024-09-20 22:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设计一个自动化框架,我需要与不同网络中的各种机器进行通信。我面临的问题是,在我的一个子网上,由于安全原因,访问受到限制,因此除了22(ssh)之外,我无法在任何端口上发出请求。为了实现这一点,我需要一个demon,它使用ssh(fabric)将我从网络a(主节点)发送的命令重复到网络B(从节点)上的机器。现在我希望这个恶魔能够回显/重复主控器向网络B上的其他机器发送的每个命令,并将响应发送回网络A中的主控器节点

我知道这真的很让人困惑,但我尽量说清楚。请如果有人知道一种方法,我可以用python除了写我自己的程序请评论。事先谢谢你的帮助。你知道吗


Tags: 方法端口命令程序网络机器框架节点
2条回答

你基本上需要一个代理在两个子网之间。你可以用python做一些小的代理工作,使用的逻辑包括:

1. A connection between the proxy & remote server B(original target).
2. Client_in_subnet_A  > Proxy  > Server_in_subnet_B
3. Client_in_subnet_A <  Proxy  > Server_in_subnet_B
4. Close_connection.

有一些方法可以做到,https://gist.github.com/pomack/6194156https://mitmproxy.org/

对于那些面临类似问题的人。他帮了我一把。在我的例子中,防火墙阻止了除shh之外的所有东西,因此我创建了到网络B中的机器的ssh隧道。这可以通过从网络a中的机器执行以下命令来完成:

ssh -D 8123 -f -C -q -N sammy@example.com

sammy是example.com网站现在我所要做的就是使用SOCKS代理连接到本地主机:8123和我所有的交通都通过这个连接。以下是您可以参考的好教程:

SOCKS Tunnel

相关问题 更多 >

    热门问题