我正在尝试将Windows中的字符串发送到同一台机器上的linux vmware。
我做了以下事情: - 在linux机器上的127.0.0.1端口50000上打开一个套接字并在while循环中读取套接字。我的编程语言是python 2.7 - 使用来自windows机器的127.0.0.1端口50000上的nc(netcat)发送命令(使用cygwin)。
但是,虽然通过windows / cygwin发送的命令成功,但我在linux机器上没有收到任何命令。
我在VMWARE计算机上使用NAT(共享主机IP地址)。
哪里可能是问题?
答案 0 :(得分:1)
使用NAT时,主机无法直接联系客户端计算机。您所能做的就是使用端口转发来告诉vmware,指向主机上指定端口的所有流量都将传送到客户端。它旨在在客户端计算机上安装可以从主机外部访问的服务器。
如果要测试主机和客户端之间的网络操作,则应在客户端计算机上配置仅主机适配器。它是主机和客户机之间的虚拟网络(多个客户端可以共享同一个主机网络,当然还有不同的地址)
我通常在客户端计算机上配置2个网络适配器:
您还可以在客户端上使用桥接接口。在此模式下,客户端计算机在与主机的外部网络相同的网络上具有地址:它结合了以前的两种模式
答案 1 :(得分:0)
您的问题是多方面的
设置 Ubuntu-VM的IP网络&此来宾O / S的静态IP地址。
<强> VALIDATE:强>
$> ifconfig // list all setup Ubuntu interfaces/addresses
如果您的VM guest虚拟机被托管为连接到不同的IP网络,而不是Windows系统,确保这两台主机之间存在连接和路由(VmWare中的VMnet配置器将有助于要解决这个问题很多。)
<强> VALIDATE:强>
C:\ ping <aUbuntuVmIpADDRESS> // prove an online visibility Win->UbuntuVM
确保您的Windows操作系统允许使用您选择的TCP端口#
<强> VALIDATE:强>
列出Windows防火墙设置中所有允许/添加的if-need TCP-port#
确保你的python将所有套接字流量不发送到Windows本地环回接口&lt; 127.0.0.1&gt;,但是 Ubuntu-VM 来宾O / S的可见 IP地址(按步骤设置 - 1 ,按步骤验证< - kbd> 2 )使用未使用的,允许的TCP端口#(根据步骤验证/设置 - 3 )