是否可以列出连接到特定 IP 和端口的所有进程?

是否可以列出连接到特定 IP 和端口的所有进程?

我想列出连接到特定 IP 和端口的进程。有什么命令可以实现这个目的吗?

答案1

lsof

lsof -nPi @192.168.1.123:443

-t如果您只需要进程 ID,请添加)。

它还列出了绑定到该地址的套接字。

使用ss(来自iproute2Linux):

ss state established dst 192.168.1.123 'dport = :443'

与 PSMisc 的fuser

fuser -n tcp ,192.168.1.123,443
fuser -n udp ,192.168.1.123,443

但请注意,它(至少是此处的版本 22.21)不会报告 IPv6 映射的 IPv4 地址,您需要单独查询这些地址:

fuser -n tcp ,::FFFF:C0A8:017B,443

::FFFF:C0A8:017B是 192.168.1.123 的 IPv6 映射版本)。

答案2

看一眼ss哪个可以替代旧的netstat

例如:

 ss -atp

作为 root,将列出服务器上所有当前的 TCP 连接以及进程名称和 PID。

man ss以获得更多选择。

此致

答案3

格式为:

lsof -i [tcp|udp][@主机地址][:[服务名称|港口]]

例如,

lsof -i [email protected]:443

LSof(8)

相关内容