我被困在这几天了。当使用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)确认实际收听:
2)检查IP地址
3)验证portforwarding以纠正IP地址
描述:UMSM,入站端口:8000-9000,类型:TCP,专用IP地址:192.168.2.10,专用端口:8000-9000
554也被转发btw
4)端口不可见
我知道端口转发是有效的,因为我能够访问Windows端554上的不同开放端口,grc.com上的“所有服务端口”验证所有其他端口的打开状态< 1000隐身模式。
我的想法是我在创建套接字时做错了什么。在python中打开侦听套接字时,与osx相比,在Windows上我需要做些什么?
谢谢,
吉姆
----编辑----
现在我可以添加照片
2)。
3)。
1)。
4)。
所以我知道它不是防火墙,因为我可以在不同的Windows端口上连接
此外,我能够通过我的本地网络在Windows上的python服务器和OSX上的客户端之间进行通信
答案 0 :(得分:0)
如何创建一个监听器应该没有区别。 您是否检查过,内置的Windows防火墙是否可以阻止连接(例如它是否已关闭?)。 检查侦听器是否工作的最佳方法是编写另一个小应用程序(或使用telnet或netcat),它在同一台机器上连接它,这样就不会有任何防火墙损坏。