我在服务于http网页的远程服务器上的端口9100上运行了一个应用。在我进入服务器后,我可以卷曲localhost 9100并收到响应。
但是,我无法使用http://ip:9100
我也无法通过本地PC远程登录。我该如何调试?有没有办法跟踪特定的IP和端口组合,看看它被阻止的位置?
任何linux工具/命令/实用程序将不胜感激。
谢谢, 穆尔塔扎
答案 0 :(得分:27)
tcptraceroute xx.xx.xx.xx 9100
如果你没找到它,你可以安装它
yum -y install tcptraceroute
或
aptitude -y install tcptraceroute
答案 1 :(得分:11)
您可以在服务器上使用tcpdump
来检查客户端是否到达服务器。
tcpdump -i any tcp port 9100
还要确保您的防火墙没有阻止传入连接。
编辑:如果您不想在控制台上阅读,您也可以将转储写入文件并在客户端上使用wireshark进行查看。
第二次编辑:您可以通过
检查是否可以到达该端口 nc ip 9100 -z -v
来自您当地的电脑。
答案 2 :(得分:4)
首先,检查应用程序绑定的IP地址。例如,它只能绑定到本地地址,这意味着无论防火墙状态如何,您都不会从其他计算机上看到它。
您可以尝试使用像nmap这样的portscanner来查看端口是否打开并且在外部可见...它可以告诉您端口是否已关闭(没有任何内容在那里监听),打开(您应该能够看到它很好)或过滤(例如,通过防火墙)。
答案 3 :(得分:0)
可以使用此命令完成:tcptraceroute -p destination port destination IP
。比如:tcptraceroute -p 9100 10.0.0.50
但是不要忘记在你的系统上安装tcptraceroute软件包。 tcpdump和nc默认安装在系统上。问候