我正在尝试为我的自定义聊天系统(我的一个项目)转发端口。当我尝试从局域网访问它时没有问题。但是,如果我尝试通过调用 telnet 192.168.1.1 25565(我的路由器 IP)从路由器访问它(也是的。它位于端口 25565),它会首先发回给我
我正在使用的Python脚本是这样的:
import socket
# Create a socket object
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to a specific address and port
server_socket.bind(("192.168.1.6", 25565))
# Listen for incoming connections
server_socket.listen(1)
print("Server started. Listening for incoming connections...")
while True:
# Accept an incoming connection
client_socket, address = server_socket.accept()
print("Connected by", address)
# Receive data from the client
data = client_socket.recv(1024)
print("Received data:", data.decode())
# Send a response back to the client
response = "Hello, client!".encode()
client_socket.sendall(response)
# Close the client socket
client_socket.close()
一个简单的连接检查工具
我如何测试我的连接: 打开服务器(启动python脚本) 然后形成一个命令外壳运行这些命令
$telnet 192.168.1.6 25565
>>已连接
$telnet 192.168.1.1 25565(端口从 192.168.1.6:25565 转发到 *:25565)
>>telnet:无法连接到远程主机:连接被拒绝
$telnet #myip 25565
>>没有回应
这是 tcp 跟踪
12:45:03.307761 IP ArchMachina.37048 > _gateway.25565: Flags [S], seq 656350756, win 32120, options [mss 1460,sackOK,TS val 2166939235 ecr 0,nop,wscale 7], length 0
12:45:03.308214 IP _gateway.25565 > ArchMachina.37048: Flags [R.], seq 0, ack 656350757, win 0, length 0
12:45:05.276699 IP ArchMachina.51468 > #myIp.25565: Flags [S], seq 2936786837, win 32120, options [mss 1460,sackOK,TS val 3381757762 ecr 0,nop,wscale 7], length 0
12:45:06.285348 IP ArchMachina.51468 > 8#myIp.25565: Flags [S], seq 2936786837, win 32120, options [mss 1460,sackOK,TS val 3381758771 ecr 0,nop,wscale 7], length 0
12:45:07.298667 IP ArchMachina.51468 > #myIp.25565: Flags [S], seq 2936786837, win 32120, options [mss 1460,sackOK,TS val 3381759784 ecr 0,nop,wscale 7], length 0
我的电脑没有任何防火墙阻止此操作,路由器似乎也没有任何防火墙
三个月前我成功地进行了端口转发,然后我就不再使用它了。但我把它打开了(我知道这是不好的做法,但是是的)。现在当我想再做一次时,它就不再起作用了。这让我发疯,因为我似乎无法找出问题所在
我怀疑与路由器有关,但我不能确定