Networking 在没有网络的情况下将网络连接隧道传输到VMWare客户机

Networking 在没有网络的情况下将网络连接隧道传输到VMWare客户机,networking,tcp,vmware,tunnel,vmware-tools,Networking,Tcp,Vmware,Tunnel,Vmware Tools,我正在尝试在客户端计算机和运行在ESXi服务器内的来宾VM之间建立TCP连接。诀窍在于来宾VM没有(有意地)配置网络。但是,ESX server位于网络上,因此从理论上讲,可以通过软件弥补这一差距 具体地说,我希望最终从客户机上运行的python代码创建一个直接TCP连接(我希望创建一个RPyC连接)。然而,任何导致类似ssh的端口隧道的事情都将是一个突破 我的理论是,VMWare工具、pysphere和隐晦网络适配器的某种组合是可能的。但到目前为止,我的搜索没有产生任何结果,我唯一的想法要么很

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

具体地说,我希望最终从客户机上运行的python代码创建一个直接TCP连接(我希望创建一个RPyC连接)。然而,任何导致类似ssh的端口隧道的事情都将是一个突破

我的理论是,VMWare工具、pysphere和隐晦网络适配器的某种组合是可能的。但到目前为止,我的搜索没有产生任何结果,我唯一的想法要么很难看(比如文件操作上的隧道)要么非常容易出错(基本上,如果我必须构建TCP堆栈,我知道我会写很多错误)

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

要总结设置,请执行以下操作:

  • 安装了vmware工具的客户端计算机(Windows/Linux,任何可用的)
  • ESXi服务器(可从客户端计算机访问网络)
  • VMWare guest完全没有NIC,但可以使用VMWare工具访问(在我的情况下必须是Windows,但出于完整性考虑,欢迎使用Linux解决方案)
任何想法和进一步的阅读建议都会很棒。
谢谢互联网,你是最棒的

不清楚“客人身上根本没有NIC”的含义。如果我可以假设,这里的意思是没有为客人分配物理NIC。解决方案很简单,因为可以为来宾VM配置vmWare软NIC,这将作为来宾netstack的入口点


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

如果虚拟机“故意”没有配置网络,您就不能通过网络连接到它


您的问题在术语上存在矛盾。

虽然有点晚了,但虚拟串行端口可能是您的朋友。您可以通过网络或本地选择外端的串行端口,具体取决于您的选项。然后你可以在两端都有一些ppp或者你的自定义脚本来进行通信。如果您希望避免使用ppp接口,但仍然需要为某些应用程序通过隧道传输TCP连接,那么还可以运行一些工具从来宾端的串行链接创建一个套接字。
这可以保证您在分析恶意代码时的安全,只要它不是skynet:-)您仍然应该在系统管理员的许可下进行分析,因为您可能违反了公司的规则,因为您可能会绕过一些安全措施。

谢谢!从某种意义上说,这是真的。我对问题进行了编辑,使之更清楚。问题是,我可以通过网络访问esx主机,主机可以通过vmware工具与来宾进行通信。因此,有一种有效的连接方法(目前成功使用pysphere),但没有明确的方法打开真正的TCP流。我希望这能澄清一点。你必须安装一个VMware网络适配器,就这么简单。有几种方法可以做到这一点。你在软件nic上发挥了优势。问题是我不想在客户机上创建完全的网络访问权限,即使只对主机和/或其他客户机;我需要从外部控制这一切。想想运行在虚拟机内部的轻微恶意代码。该用例非常类似于使用ssh隧道在网络之间遍历路径,然后使用端口转发建立直接链接。希望这有意义。你必须做出决定。没有网络,您无法访问网络。这似乎是最好的办法。串行PPP TCP是最有意义的协议栈。另外,虽然我完全了解(并负责)安全方面的考虑,但您必须指出这一点,至少对未来的访问者来说是如此。唉,我在分析天网;)但我会特别小心:)