Port

如何將臨時埠映射到 pid?

  • November 20, 2019

我有一個 RHEL 伺服器,上面有幾個應用程序,我正試圖找出其中哪一個正在呼叫外部 Web 服務。我有顯示正在呼叫的 TCP 轉儲,並且通過各種工具我能夠確定哪些臨時埠正在進行這些呼叫。但是,我無法弄清楚如何將該臨時埠映射到 pid。我知道我可以使用lsof -i將綁定埠映射到 pid,但這不是我的問題。

有什麼方法可以將一個正在使用的臨時埠映射到一個 pid 或其他一些關於什麼文件正在呼叫的指示符?

lsof -i $PROTOCOL:$PORT
fuser $PORT/$PROTOCOL
netstat -np | grep $PORT

其中任何一個都應該工作。下面是範例輸出,顯示我的郵件客戶端使用臨時埠 56375 與 IMAP 伺服器通信以進行進一步說明:

$ sudo netstat -np | grep 56375
tcp        0      0 192.168.1.1:56375      217.70.184.11:993       ESTABLISHED 3256/thunderbird

$ fuser 56375/tcp
56375/tcp:            3256

$ lsof -i tcp:56375
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
thunderbi 3256   me     87u  IPv4 510573      0t0  TCP hostname:56375->example.com:imaps (ESTABLISHED)

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