【问题标题】:How to find the TCP/UDP port used by a specific process on a given remote machine如何查找给定远程计算机上特定进程使用的 TCP/UDP 端口
【发布时间】:2017-01-14 10:10:49
【问题描述】:

我有一个无法解决的问题。

我知道的:

  • 有关我正在寻找的进程的一些信息:这是一个 java 进程,但如果我可以访问类似于 ps -ef | grep java 中的信息,那么我可以找到它的 PID。
  • 运行 Linux 版本 3.16.7-35-desktop (SUSE Linux) 的远程计算机的 IP 地址

我想在该机器上找到该进程使用的端口,但有一些限制:

  • 必须以编程方式在 java 中完成
  • 必须在 Windows 和 Linux 上工作(如果需要,java 代码可以分别处理这两种情况)
  • 不需要安装任何其他应用程序(无论是在调用方计算机上还是在远程计算机上)

我也知道端口应该在 10000 到 20000 之间。我可以通过网络访问远程机器(两台机器都在同一个子网中)。

你会怎么做?

注意:我找到了this,但它是旧的,并不遥远。

【问题讨论】:

    标签: java ip port remote-access


    【解决方案1】:

    这是标准的黑客要求。你可以做nmap 做的事情。

    依次连接到范围内的每个端口,并尝试根据您在连接时从服务获得的数据来确定该服务侦听或响应该端口。它非常慢,如果你有任何工具来检测它,它看起来就像一个黑客,但它是一种已经使用了很长时间的技术,因为它是在没有服务告诉你什么的情况下做到这一点的唯一方法在那台机器上运行。

    更好的方法是在某个地方建立一个服务发现流程,其中包含您可以联系的所有服务,最好是它们的状态,这样您就可以轻松找到可供您的客户使用的服务。

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      相关资源
      最近更新 更多