无法在Windows 7上查看创建的开放端口,但可以在Mac上查看

时间:2014-01-26 19:37:11

标签: python windows macos sockets

我被困在这几天了。当使用python在OSX中打开一个监听套接字时,我能够验证我正在监听的端口是通过canyouseeme.org打开的

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,Protocol:TCP,Local Port:8072,Local Address:0.0.0.0,Remote Address:0.0.0.0,State:listening ....

2)检查IP地址

  • cmd terminal ipconfig -all,IPv4 Address:192.168.2.10(Preffered)

3)验证portforwarding以纠正IP地址

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

  • 554也被转发btw

4)端口不可见

  • canyouseeme无法连接原因:连接已超时

我知道端口转发是有效的,因为我能够访问Windows端554上的不同开放端口,grc.com上的“所有服务端口”验证所有其他端口的打开状态< 1000隐身模式。

我的想法是我在创建套接字时做错了什么。在python中打开侦听套接字时,与osx相比,在Windows上我需要做些什么?

谢谢,

吉姆

----编辑----

现在我可以添加照片

2)。 check windows IP for port forwarding

3)。 port forwarding to windows VM

1)。 verify actually listening

4)。 could not connect

所以我知道它不是防火墙,因为我可以在不同的Windows端口上连接 I can see atleast one port on windows as shown in the grc analysis

此外,我能够通过我的本地网络在Windows上的python服务器和OSX上的客户端之间进行通信

1 个答案:

答案 0 :(得分:0)

如何创建一个监听器应该没有区别。 您是否检查过,内置的Windows防火墙是否可以阻止连接(例如它是否已关闭?)。 检查侦听器是否工作的最佳方法是编写另一个小应用程序(或使用telnet或netcat),它在同一台机器上连接它,这样就不会有任何防火墙损坏。