Linux
“netstat -p”/“ss -p”不顯示監聽埠的程序
在我的 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,您可以定期找到有關這種情況的執行緒: