跟踪特定的IP和端口

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.

  • 伟大的!请注意,您需要 root 权限才能执行该命令 (3认同)

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)

  • Homebrew也有一个包这个小宝石的工具包.`brew install tcptraceroute`.但是,您确实需要sudo才能使用该工具. (2认同)

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)

来自您当地的电脑.


Roo*_*ook 4

首先,检查您的应用程序绑定的IP地址。例如,它只能绑定到本地地址,这意味着无论防火墙状态如何,您都永远不会从不同的计算机看到它。

您可以尝试使用像 nmap 这样的端口扫描仪来查看端口是否打开并且在外部可见...它可以告诉您端口是否关闭(那里没有任何监听),打开(您应该能够很好地看到它)或过滤(例如,通过防火墙)。