如何查找给定远程计算机上特定进程使用的TCP / UDP端口

时间:2017-01-14 10:10:49

标签: java ip port remote-access

我遇到了无法解决的问题。

我所知道的:

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

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

  • 必须以编程方式完成,在java中
  • 必须在Windows和Linux上运行(如果需要,java代码可以单独处理这两种情况)
  • 不需要安装任何其他应用程序(既不在呼叫者机器上也不在远程机器上)

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

你会怎么做?

注意:我找到了this,但它已经老了而且不是远程的。

1 个答案:

答案 0 :(得分:1)

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

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

更好的方法是在某个地方建立一个服务发现流程,其中包含您可以联系的所有服务,理想情况下是您的状态,以便您可以轻松找到客户可用的服务。