【问题标题】:Making a TCP connection through a restrictive outbound firewall通过限制性出站防火墙建立 TCP 连接
【发布时间】:2010-01-12 21:58:16
【问题描述】:

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

我曾尝试使用开放的通用端口,例如端口 80、443 和 113,但是一旦建立连接,防火墙似乎会断开连接(可能是通过检测非协议数据包)。

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

任何帮助将不胜感激。

【问题讨论】:

  • 如果有办法绕过它,它就不会成为防火墙......

标签: networking tcp connection firewall outbound


【解决方案1】:

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

【讨论】:

  • 尝试通过 HTTP (80) 和 HTTPS (443) 建立连接,尽管防火墙即使通过这些端口也设法阻止/断开连接。
  • 您是否尝试发出实际的 HTTP 请求?正如您所说,防火墙可能会根据数据包检查丢弃连接 - 您表示您能够建立连接,但是一旦您开始使用它就会被丢弃(如果我理解正确的话)。因此,您需要发送实际的 http 请求并使用 http 响应进行响应。维基百科展示了如何做到这一点:en.wikipedia.org/wiki/Hypertext_Transfer_Protocol .
【解决方案2】:

假设用户可以访问互联网,并且您无法通过端口 80/443 进行远程登录,这可能意味着用户通过浏览器中配置的 HTTP 代理进行连接。 您可以尝试通过 HTTP 代理研究各种隧道方法......不过,这将是一个非常不稳定的 hack。

我建议联系系统管理员,说明您的需求,然后看看他/她的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 2020-04-20
    • 2011-01-17
    • 2012-11-14
    • 2016-09-27
    • 2012-03-28
    • 1970-01-01
    相关资源
    最近更新 更多