Java 调试客户防火墙问题

Java 调试客户防火墙问题,java,firewall,enterprise,Java,Firewall,Enterprise,如何在客户站点调试应用程序的防火墙问题?目前我们遇到了一个问题,Apache和Tomcat(应用程序的一部分)抛出错误,听起来好像防火墙阻止了我们接受或绑定机器上的端口的尝试 我们面临的问题是,我们看不到防火墙在做什么,因为它是在公司级别管理的。是否有一种方法可以确定我们是否被阻止,或者这是否是一个特定于应用程序的问题。这是一个java应用程序。如果在这里问一个属于超级用户或服务器故障的问题,您可能会感到有些悲伤 简单回答:登录到任何试图与其他服务器通信的服务器,并使用telnet模拟请求: t

如何在客户站点调试应用程序的防火墙问题?目前我们遇到了一个问题,Apache和Tomcat(应用程序的一部分)抛出错误,听起来好像防火墙阻止了我们接受或绑定机器上的端口的尝试


我们面临的问题是,我们看不到防火墙在做什么,因为它是在公司级别管理的。是否有一种方法可以确定我们是否被阻止,或者这是否是一个特定于应用程序的问题。这是一个java应用程序。

如果在这里问一个属于超级用户或服务器故障的问题,您可能会感到有些悲伤

简单回答:登录到任何试图与其他服务器通信的服务器,并使用telnet模拟请求:

telnet其他服务器端口号

如果您得到“拒绝连接”,则其他服务不存在,或者防火墙使其不可见。如果什么也没发生,你很可能是撞到了防火墙。如果你得到了一个连接(不管之后是否有什么有趣的事情发生),你就是通过了


编辑:是的,我知道这太简单了。一个聪明的虐待狂或非常不称职的防火墙设置可能会让一个请求进入你的服务器,但却使它无法响应该请求。但我从未遇到过这样的情况。更常见的是简单的通过/不通过案例


如果您需要更多的限定建议,也许您可以从您的服务器向我们复制一些错误消息和/或堆栈跟踪。

如果防火墙是在“公司级别”管理的,那么听起来它不像是基于主机的防火墙(基于主机的是“在您运行的计算机上”)。如果它不是一个基于主机的防火墙,它就不可能阻止您绑定的尝试,您可以到别处看看

如果它是基于主机的。。。那么这就是一个基于主机的攻击性防火墙。更有可能的情况是,您没有管理员或root权限绑定到端口


如果您可以绑定到端口,但无法通信,则需要开始执行标准防火墙测试-“我可以从internet?从intranet?从localhost访问静态html页面吗?”

这只是我的经验,但却是HTTP上防火墙问题的信号请求挂起一段时间,然后由于连接超时异常而超时。根据防火墙的不同,也可以立即拒绝连接。因此,这就是我们在调试防火墙问题时必须采用的方法。解决方法总是去找网络管理员(我们与该团队建立了良好的关系),让他们输入特定的IP地址。

如果您在从Apache或Tomcat服务器上运行的Apache或Tomcat绑定到Apache/Tomcat服务器上的端口时遇到问题,则更可能是其他两个问题之一:

  • 该端口已被另一个应用程序绑定。我用来检查的几个工具是
  • lsof-i:端口
  • netstat-ant | grep端口

  • 端口号低于1025,并且运行Apache/Tomcat的进程不是root

traceroute(用于Windows的tracert)是一个很好的东西,可以看到事物的发展方向


UPnP工具也可以在途中看到防火墙。

一旦连接,断开连接可能会遇到一些问题。我认为标准的奥术顺序是Ctrl-[然后是“退出”。我在德语键盘上输入那个字符时遇到了麻烦,所以我就终止了telnet进程:)@Carl,开发者不应该有德语kayboard布局,所有的括号类型都太远了:-)大约30年前,我定制了我的WordStar编辑器,用括号、括号等替换那些无用的UMLAUT。在leet发明之前,我是1337岁但与此同时,我有30年的时间来训练我的手指寻找钥匙。