如何将临时端口映射到 pid?

jdw*_*jdw 2 port netstat tcp lsof pid

我有一个 RHEL 服务器,上面有几个应用程序,我试图找出其中一个正在调用外部 Web 服务。我有 TCP 转储显示正在进行的调用,并且通过各种工具我能够确定进行这些调用的临时端口。但是,我无法弄清楚如何将该临时端口映射到 pid。我知道我可以使用lsof -i将绑定端口映射到 pid,但这不是我的问题。

有什么方法可以将正在使用的临时端口映射到 pid 或其他指示哪个文件正在调用的指标?

sci*_*rus 5

lsof -i $PROTOCOL:$PORT
fuser $PORT/$PROTOCOL
netstat -np | grep $PORT
Run Code Online (Sandbox Code Playgroud)

其中任何一个都应该有效。下面的示例输出显示了我的邮件客户端使用临时端口 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)
Run Code Online (Sandbox Code Playgroud)