mur*_*a52 23 linux ubuntu networking network-programming
我在服务于http页面的远程服务器上的端口9100上运行了一个应用程序.在我进入服务器后,我可以卷曲localhost 9100并收到响应.
但是我无法使用浏览器访问同一个应用程序 http://ip:9100
我也无法从我的本地PC远程登录.我该如何调试?有没有办法跟踪特定的IP和端口组合,以查看它被阻止的位置?
任何Linux工具/命令/实用程序将不胜感激.
谢谢,穆尔塔扎
Ete*_*our 32
您可以使用默认traceroute命令来实现此目的,然后无需安装任何内容.
traceroute -T -p 9100 <IP address/hostname>
Run Code Online (Sandbox Code Playgroud)
该-T参数是必需的,因此使用TCP协议而不是UDP.
KIN*_*BRI 28
tcptraceroute xx.xx.xx.xx 9100
Run Code Online (Sandbox Code Playgroud)
如果你没找到它,你可以安装它
yum -y install tcptraceroute
Run Code Online (Sandbox Code Playgroud)
要么
aptitude -y install tcptraceroute
Run Code Online (Sandbox Code Playgroud)
dwa*_*ter 11
您可以tcpdump在服务器上使用来检查客户端是否到达服务器.
tcpdump -i any tcp port 9100
Run Code Online (Sandbox Code Playgroud)
还要确保您的防火墙没有阻止传入连接.
编辑:您还可以将转储写入文件,并在您的客户端上使用wireshark查看它,如果您不想在控制台上阅读它.
第二次编辑:您可以检查是否可以通过端口到达
nc ip 9100 -z -v
Run Code Online (Sandbox Code Playgroud)
来自您当地的电脑.
首先,检查您的应用程序绑定的IP地址。例如,它只能绑定到本地地址,这意味着无论防火墙状态如何,您都永远不会从不同的计算机看到它。
您可以尝试使用像 nmap 这样的端口扫描仪来查看端口是否打开并且在外部可见...它可以告诉您端口是否关闭(那里没有任何监听),打开(您应该能够很好地看到它)或过滤(例如,通过防火墙)。