-1

我正在尝试在客户端计算机和在 ESXi 服务器内运行的来宾 VM 之间建立 TCP 连接。诀窍是来宾虚拟机没有(故意)配置网络。但是 ESX 服务器在网络上,因此理论上可以通过软件弥补差距。

具体来说,我想最终从客户端机器上运行的 python 代码创建一个直接的 TCP 连接(我想创建一个 RPyC 连接)。然而,任何导致类似 ssh 的端口隧道的东西都足够突破。

我推测 VMWare 工具、pysphere 和模糊网络适配器的某种组合是可能的。但到目前为止,我的搜索没有产生任何结果,而且我唯一的想法要么丑陋(例如通过文件操作隧道)和/或非常容易出错(基本上,如果我必须构建 TCP 堆栈,我知道我会写了很多错误)。

它用于测试环境设置,而不是生产;但我更喜欢稳定性而不是速度。我目前认为对高吞吐量的需求不大。

总结一下设置:

  • 安装了 vmware 工具的客户端计算机(Windows/Linux,任何工作)
  • ESXi 服务器(可从客户端计算机访问的网络)
  • VMWare 来宾根本没有 NIC,但可以使用 vmware 工具访问(在我的情况下必须是 Windows,但为了完整起见,欢迎使用 Linux 解决方案)

任何想法和进一步的阅读建议都会很棒。谢谢互联网,你是最棒的!

4

3 回答 3

2

目前尚不清楚“来宾上根本没有 NIC”的含义。如果我可以假设,没有为来宾分配物理网卡就是这里的意思。该解决方案很简单,因为可以为来宾 VM 配置 vmWare 软 NIC,并将其用作来宾网络堆栈的入口点。

但是如果软网卡也不可用,我真的想知道如何以及什么可以作为来宾网络堆栈的入口点,无论是 Linux/Windows。据我了解,如果这就是您的意思,那么您可能需要修改来宾操作系统以使用不同的门来访问来宾网络堆栈并从中发布/排出 pkts。但是同样,当你正确实现这个后门时,它将成为 vmware 默认支持的另一个软网卡实现。那么,为什么不使用它呢?

于 2014-02-10T19:04:32.647 回答
1

如果虚拟机“故意”没有配置网络,则无法通过网络连接到它。

你的问题体现了一个矛盾的术语。

于 2014-02-10T21:10:34.783 回答
1

有点晚了,但虚拟串口可能是你的朋友。您可以根据您的选择通过网络或本地选择外端的串行端口。比你可以在两端有一些 ppp 的东西或你的自定义脚本进行通信。如果您想避免使用 ppp 接口但仍需要为某些应用程序建立 TCP 连接,您还可以运行一些工具从来宾端的串行链接创建单个套接字。在分析恶意代码时,只要它不是天网,这应该可以保证您的安全:-) 您仍然应该在系统管理员的许可下进行,因为您可能会通过一些安全措施来违反公司的规则。

于 2016-12-08T11:08:52.057 回答