Python 无法在windows7上查看创建的开放端口,但可以在mac上查看

Python 无法在windows7上查看创建的开放端口,但可以在mac上查看,python,windows,macos,sockets,Python,Windows,Macos,Sockets,这件事我已经坚持了好几天了。当使用python在OSX中打开侦听套接字时,我能够验证正在侦听的端口是否已通过打开 Python代码 import socket host = '' port = 8072 backlog = 5 size = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host,port)) s.listen(backlog) client, address = s.accept(

这件事我已经坚持了好几天了。当使用python在OSX中打开侦听套接字时,我能够验证正在侦听的端口是否已通过打开

Python代码

import socket

host = ''
port = 8072
backlog = 5
size = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((host,port)) 
s.listen(backlog) 
client, address = s.accept()
while 1: 
    data = client.recv(size)
    print(data)
当我尝试在windows VM(运行vmware 6.02)上创建类似的侦听套接字时,连接超时。我尝试连接时使用的步骤。我有截图,但没有足够的代表发布,哈

1) 验证是否实际正在侦听:

  • 使用CurrPorts,我看到进程名:pythonw.exe,协议:TCP,本地端口:8072,本地地址:0.0.0.0,远程地址:0.0.0.0,状态:侦听
2) 检查ip地址

  • cmd终端ipconfig-全部,IPv4地址:192.168.2.10(首选)
3) 验证端口转发到正确的ip地址

  • 描述:UMSM,入站端口:8000-9000,类型:TCP,专用IP地址:192.168.2.10,专用端口:8000-9000

  • 554也被转发到btw

4) 端口不可见

  • canyouseeme未连接原因:连接超时
我知道端口转发是有效的,因为我能够访问Windows端554上的另一个打开的端口,该端口上的“所有服务端口”在隐形模式下验证为打开,所有其他端口<1000

我的想法是我在创建套接字时做错了什么。当在python中打开监听套接字时,与osx相比,我在windows上需要做什么不同的事情

谢谢

吉姆

----编辑--

现在我可以添加图片了

(二)

(三)

1.)

(四)

所以我知道它不是防火墙,因为我可以连接到不同的windows端口


此外,我能够通过本地网络在windows上的python服务器和OSX上的客户端之间进行通信。在如何创建侦听器方面应该没有区别。 您是否检查了内置windows防火墙是否会阻止连接(例如是否关闭?)。
检查侦听器是否工作的最佳方法是在同一台机器上编写另一个小型应用程序(或使用telnet或netcat)连接到侦听器,这样就不会有防火墙造成危害。

OSX防火墙已完全关闭,并且已检查Windows端家庭和公共网络位置设置“关闭Windows防火墙”。我可以在本地连接osx和windows VM之间的对话,但仍然无法看到网络外的端口。windows VM是否在与MAC相同的网络中拥有自己的IP(192.168.0.10)(例如,在MAC的外部接口上使用桥接模式,而不是NAT)?您确定打开的端口554实际上来自windows虚拟机,而不是Mac本身,例如wndows虚拟机的端口关闭了吗?在执行此测试时,我将虚拟机设置为桥接网络。ipconfig命令返回它自己的IP(192.168.0.10)和一个不同的mac地址。端口554列在windows中运行的CurrPorts应用程序下。