首页 文章

使用python通过socket将字符串从windows发送到vmware-ubuntu

提问于
浏览
2

我试图从Windows发送一个字符串到同一台机器上的Linux vmware .

我做了以下事情: - 在linux机器上的127.0.0.1端口50000上打开一个套接字并在while循环中读取套接字 . 我的编程语言是python 2.7 - 从windows机器(使用cygwin)在127.0.0.1端口50000上使用nc(netcat)发送命令 .

但是,虽然通过windows / cygwin发送的命令成功,但我在linux机器上没有收到任何命令 .

我在VMWARE机器上使用NAT(共享主机IP地址) .

哪里可能是问题?

2 回答

  • 1

    使用NAT时,主机无法直接联系客户端计算机 . 您所能做的就是使用端口转发告诉vmware,指向主机上指定端口的所有流量都将传送到客户端 . 它旨在在客户端计算机上安装可从主机外部访问的服务器 .

    如果要测试主机和客户端之间的网络操作,则应在客户端计算机上配置仅主机适配器 . 它是主机和客户机之间的虚拟网络(多个客户端可以共享同一个主机网络,当然还有不同的地址)

    我通常在客户端计算机上配置2个网络适配器:

    • 一个NAT,为客户端机器提供对开放世界的访问权限

    • on host-only在主机和客户端之间拥有专用网络,并允许它们与任何端口上的任何协议进行通信

    您还可以在客户端上使用桥接接口 . 在此模式下,客户端计算机在与主机的外部网络相同的网络上具有地址:它结合了以前的两种模式

  • 0

    你的问题是多方面的


    1 st

    setup Ubuntu-VM的IP网络和此客户操作系统的 static IP-address .

    VALIDATE:

    $> ifconfig                         // list all setup Ubuntu interfaces/addresses
    

    2 nd

    如果您的VM guest虚拟机被托管为连接到不同的IP网络,而不是Windows系统,则 make sure there is a connectivity and route between these two hosts (VmWare中的VMnet配置器将帮助解决此问题) .

    VALIDATE:

    C:\ ping <aUbuntuVmIpADDRESS>      // prove an online visibility Win->UbuntuVM
    

    3 rd

    make sure 您的Windows O / S permits the use 您选择的TCP端口#

    VALIDATE:

    在Windows防火墙设置中列出所有允许/添加if-needed TCP-port#


    4 th

    make sure 你的python将所有套接字流量 not 发送到Windows本地环回接口<127.0.0.1>, but towards 可见 IP-address of the Ubuntu-VM 来宾操作系统,(按步骤1设置,按步骤2验证) using 未使用,允许TCP端口#(根据步骤3验证/设置)

相关问题