Linux

“netstat -p”/“ss -p”不顯示監聽埠的程序

  • May 15, 2021

在我的 CentOS 7 上,有一次sudo ss -plt列出了一個標記為 LISTENING on 的埠*:30565,但在其行的 process 列中沒有任何資訊。其他監聽埠像往常一樣顯示他們擁有的程序users:(("sshd",pid=1381,fd=3)),但那一行沒有任何程序資訊。lsof -i :30565或者netstat -p也沒有提供任何資訊。

我無法重現這一點,而且我很難想到“非程序”可能正在偵聽埠的情況(因為我很確定 Linux 會在 tcp 偵聽程序終止時完成預期的清理工作)。由於多個程序也會發生這種情況,我能想到的唯一解釋是這是 CentOS 的“有意但非常 rootkit-y”的行為,但我肯定會遺漏一些東西。這可能是什麼原因造成的?

在某些情況下(例如 NFS)不顯示程序資訊的要點netstat是 NFS 是一個核心模組,因此它不會作為正常程序執行,也沒有 PID。

如果在您的 google 搜尋中包含 NFS,您可以定期找到有關這種情況的執行緒:

netstat 不報告某些埠的 PID/程序名稱

引用自:https://unix.stackexchange.com/questions/326372