2010-01-12 89 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代理研究各种隧道方法......虽然这将是一个非常不稳定的黑客攻击。

我建议联系系统管理员,解释您的需求,并查看他/她的建议。