Networking 通过限制性出站防火墙建立TCP连接

Networking 通过限制性出站防火墙建立TCP连接,networking,tcp,connection,firewall,outbound,Networking,Tcp,Connection,Firewall,Outbound,我正在使用Java创建一个使用TCP进行通信的客户机/服务器应用程序。客户端运行的网络具有出站防火墙,该防火墙阻止客户端连接到服务器。是否有任何方法/解决方法通过此防火墙创建TCP连接 我曾尝试使用开放的公共端口,如端口80、443和113,但防火墙似乎会在连接完成后立即断开连接(可能是通过检测非协议数据包) 另一种选择是让客户端软件作为一个Java小程序从外部网站托管运行,但是我不确定出站防火墙是否仍然能够阻止此连接 非常感谢您的帮助。您可以尝试使用http或https进行通信。通过隧道传输协

我正在使用Java创建一个使用TCP进行通信的客户机/服务器应用程序。客户端运行的网络具有出站防火墙,该防火墙阻止客户端连接到服务器。是否有任何方法/解决方法通过此防火墙创建TCP连接

我曾尝试使用开放的公共端口,如端口80、443和113,但防火墙似乎会在连接完成后立即断开连接(可能是通过检测非协议数据包)

另一种选择是让客户端软件作为一个Java小程序从外部网站托管运行,但是我不确定出站防火墙是否仍然能够阻止此连接


非常感谢您的帮助。

您可以尝试使用http或https进行通信。通过隧道传输协议,防火墙可能允许您的流量通过。

假设用户可以访问internet,而您无法通过端口80/443进行telnet,这可能意味着用户通过浏览器中配置的HTTP代理进行连接。 您可以尝试通过HTTP代理研究各种隧道方法。。。不过,这将是一个非常不稳定的黑客行为


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

如果有办法绕过防火墙,那就不算什么了……尝试通过HTTP(80)和HTTPS(443)建立连接,尽管防火墙甚至可以通过这些端口阻止/断开连接,但您是否尝试发出实际的HTTP请求?正如您所说,防火墙可能会根据数据包检查删除连接-您表示您能够建立连接,但一旦您开始使用它,它就会被删除(如果我理解正确的话)。因此,您需要发送实际的http请求并使用http响应进行响应。维基百科展示了如何做到这一点:。