端口转发结果冲突

端口转发结果冲突

哦,情况真奇怪。

我正在尝试在 Python 程序中运行服务器套接字(代码量不大,不用担心)。为了使其工作,我需要转发一个端口供服务器运行。我已根据此网站上针对我的路由器的详细说明转发了用于代码的端口:http://portforward.com/

当我使用 PFPortChecker(PFNetworkUtilites 的一部分,也来自该网站)时,它说我转发的端口确实在 TCP 和 UDP 协议上都打开了。但是,如果我使用任何在线端口检查网站,我都会得到否定结果。此外,我无法从外部设备连接到我制作的程序,尽管它在过去没有这个端口转发问题时可以正常工作。

我有一台 Technicolor TG582n FTTC 路由器,并且我通过创建自定义应用程序并使用工具箱实用程序将其分配给我的网络设备实现了端口转发。

当我在一个网站上进行测试时,它确实说我的端口可能被防火墙过滤了,但是当我完全禁用防火墙并在该网站重新运行测试时,它仍然说我的端口已被过滤,而其他网站仍然返回阴性结果。

答案1

这确实很容易排除故障。

首先确保程序正在端口上运行。因此请执行以下命令

C:\>netstat -aon <ENTER>

或者

C:\>netstat -aon | find "1234"<ENTER> <--- 如果你的端口是 1234

看到显示 0.0.0.0:1234

您始终可以在端口上启动服务器,例如 cygwin 中的 nc,nc -l 1234或者您可以尝试任何服务器。BRS Webweaver、BPFTP、Apache、ssh VNC,无论您的服务器是什么。您的服务器程序很好。

现在尝试连接到您的服务器。您可以使用 telnet。Telnet ip 端口(例如telnet 192.168.1.1 1234 Win7 中的 Telnet 客户端)需要启用。或者您可以使用 cygwin 使用 nc 命令连接到服务器。所以nc 192.168.1.1 1234 看看它是否连接。

看看你是否可以从机器本身连接, nc 127.0.0.1 1234

测试完成后,您就可以从 LAN 进行连接。

仅当您可以从 LAN 连接时,您才可以进行端口转发。

查看您提到的程序的描述http://portforward.com/help/portcheck.htm 它表示它会在您正在测试的端口上创建自己的程序。因此,如果您发现其中一个程序给您开了绿灯,但在线端口扫描程序却没有,那么您的程序可能没有在端口上监听。

你需要测试

A)Is your server rujnning.  shown in netstat 0.0.0.0 with port.
B)Can you connect to your server locally 
C)Can you connect from LAN (if not then an OS firewall is stopping you
D)THEN, look at port forwarding

相关内容