2010-01-12 87 views
1

我正在使用Java創建使用TCP進行通信的客戶機/服務器應用程序。客戶端運行的網絡具有防止客戶端連接到服務器的出站防火牆。是否有任何方法/解決方法通過此防火牆創建TCP連接?通過限制性出站防火牆建立TCP連接

我嘗試過使用通用端口,如端口80,443和113,但防火牆似乎在連接完成後(可能通過檢測非協議數據包)丟棄連接。

另一種方法是讓客戶端軟件作爲從外部網站託管的Java applet運行,但是我不確定出站防火牆是否仍然能夠阻止此連接。

任何幫助將不勝感激。

+2

如果有辦法解決這個問題,防火牆不會太好... – skaffman 2010-01-12 22:07:28

回答

0

您可以嘗試使用http或https進行通信。通過將協議通過隧道傳輸,防火牆可能會讓您的流量通過。

+0

儘管防火牆設法阻止/斷開連接,但仍嘗試通過HTTP(80)和HTTPS(443)建立連接通過這些端口。 – Jephir 2010-01-13 02:57:48

+1

您是否嘗試進行實際的HTTP請求?正如你所說,防火牆可能會根據數據包檢測來斷開連接 - 你表示你能夠建立連接,但是一旦你開始使用連接(如果我理解正確的話),連接就會被丟棄。所以你需要發送實際的http請求並用http響應進行響應。維基百科顯示如何執行此操作:http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol。 – villintehaspam 2010-01-13 09:32:21

0

假設用戶可以訪問互聯網,並且無法通過端口80/443進行telnet,這可能意味着用戶通過在瀏覽器中配置的HTTP代理進行連接。 你可以嘗試通過HTTP代理研究各種隧道方法......雖然這將是一個非常不穩定的黑客攻擊。

我建議聯繫系統管理員,解釋您的需求,並查看他/她的建議。