2017-01-14 57 views
2

我遇到了一個我無法解決的問題。如何查找給定遠程計算機上特定進程使用的TCP/UDP端口

我知道什麼:這是一個java程序,但如果我有機會獲得類似於什麼在ps -ef | grep java信息,那麼我就可以找到它的PID:

  • 約我在尋找的過程中的一些信息。
  • 運行Linux版本3.16.7-35桌面(的SUSE Linux)

我想找到那臺機器上使用該進程的端口,具有一定的限制的遠程計算機的IP地址:

  • 必須以編程完成,在Java
  • 必須從Windows和Linux(如果需要的話,java代碼可以分別處理這兩種情況下)
  • 不需要安裝任何其他應用程序(既不在工作來電者也不在遠程)

我也知道端口應該在10000和20000之間。我有網絡訪問遠程機器(兩臺機器都在同一個子網上)。

你會怎麼做?

注:我發現this,但它是舊的,而不是遠程。

回答

1

這是一個標準的黑客要求。你可以做nmap做什麼。

依次連接到該範圍內的每個端口,並嘗試根據您在連接時從服務獲取的數據來確定該服務是監聽還是響應該端口。它非常緩慢,如果你有任何工具可以檢測到它,它會看起來像一個黑客,但它是一種已經使用了很長時間的技術,因爲它是唯一沒有服務的情況下這樣做的方式告訴你什麼是在該機器上運行。

一個更好的方法是在某個地方有一個服務發現過程,這個過程有你可以聯繫的所有服務,理想狀態是他們的狀態,這樣你就可以輕鬆找到一個可供你的客戶使用的服務。

相關問題