是否可以列出連接到特定 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)

相關內容