Linux

如何辨識程序的埠?

  • September 12, 2019

我正在執行一個RedHat 5.5,我想知道如何辨識程序的埠。

這是的輸出,netstat我正在嘗試查找與 port 關聯的程序35670

$ netstat -tulnp
tcp        0      0 0.0.0.0:35670               0.0.0.0:*                   LISTEN      -

我嘗試了以下方法將關聯程序獲取到此埠,但無濟於事:

$ lsof -nl | grep TCP
$ fuser 35670/tcp

這終於對我有用。

$ rpcinfo -p
100021    3   tcp  35670  nlockmgr

如果不執行上述命令,您將如何檢測到該埠35670nlockmgr.

奇怪的是nlockmgr當我這樣做時沒有出現:

$ ps aux

您可以使用nmapwith-sV選項來確定服務資訊:

# nmap -sV -p 35670 localhost

為什麼 rpc.lockd 從 netstat/lsof 輸出中被掩蓋了?

您必須以netstat -tulnproot 身份執行。否則,您將獲得-程序名稱而不是程序名稱。

這是手冊頁所說的:

PID/Program name
  Slash-separated pair of the process id (PID) and process name of the process that owns the socket.  --program causes  this  column
  to  be  included.   You will also need superuser privileges to see this information on sockets you don't own.  This identification
  information is not yet available for IPX sockets.

有一個例外: portmapper 看到這個

引用自:https://serverfault.com/questions/336397