情況真奇怪。
我正在嘗試在 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 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