如何判斷哪些出站連接埠被封鎖 (Windows 2003)?

如何判斷哪些出站連接埠被封鎖 (Windows 2003)?

我正在嘗試對運行 Windows 2003 伺服器的企業網路防火牆內的自訂應用程式進行故障排除。我們的應用程式使用 PHP/cURL 將 XML 資料傳送到公共託管的網站。預設情況下,使用者無法在該伺服器上使用瀏覽器;然而,應用程式的早期版本能夠透過連接埠 80 出站(儘管瀏覽器已鎖定)。

我需要一種簡單的方法來確定我是否可以透過連接埠 80 或連接埠 443 到達特定目的地(例如http://www.foo.com/other/import-xml?md87t9=g456342135kj5f7

我想在與客戶合作更改其防火牆/網路過濾設定之前驗證這一點。

答案1

您需要在該位址上有一個系統在該連接埠上執行服務,且該系統不需要阻止傳入流量。如果這是真的,那麼您需要嘗試在該連接埠上以某種方式與偵聽服務進行通訊。這是在不知道雙方確切的防火牆配置的情況下唯一 100% 可靠的確定方法。

但是,如果您遇到的唯一問題是無法使用瀏覽器,並且嘗試從 Windows Server 2003 進行測試,則可以使用 telnet 發出手動 HTTP 請求。在命令提示字元下嘗試以下操作:

telnet yourserver.com 80

然後,按一次 ENTER 鍵,然後準確鍵入(您將無法看到鍵入的內容):

GET / HTTP/1.1

然後按 ENTER 鍵。

如果網頁伺服器正在偵聽該連接埠並且可以訪問,您將收到一堆 HTML。如果沒有,連接將逾時。

答案2

www.firebind.com

Firebind 是一個基於雲端的網路路徑驗證工具,它使用 java applet 用戶端透過您的電腦和 Firebind 伺服器之間的任何 TCP 或 UDP 連接埠發送封包。這提供了出站(專用網路到網際網路)方向的測試。

您可以選擇 65535 個 TCP 或 UDP 連接埠中的任何一個(如果您願意,甚至可以選擇所有連接埠)進行測試。 Firebind 動態地在伺服器端開啟連接埠來「偵聽」來自 java applet 用戶端的測試流量。如果測試資料包完好無損地到達伺服器,然後成功回顯到用戶端且未發生任何變化,則連接埠測試將成功。如果有任何類型的防火牆阻止給定端口,Firebind 將報告失敗。對於 TCP 協議,它甚至會告訴您它是如何被阻止的(例如 TCP 丟棄/逾時或 TCP 重置/拒絕。)

相關內容