Linux

ss 正在替換 netstat,我怎樣才能讓它列出類似於我習慣的埠?

  • February 2, 2015

我一直在嘗試通過將 netstat 換成 ss 來使我使用 Linux 的方式現代化。我在 ss 手冊頁中查找了我最喜歡的 netstat 命令行標誌,很高興發現它netstat -lnp或多或少與ss -lnp. 或者我是這麼想的……

# ss -lnp | grep 1812

什麼都沒有出現,但是

# netstat -lnp | grep 1812
udp        0      0 0.0.0.0:1812            0.0.0.0:*                           11103/radiusd

做。這一事實使特定的故障排除變得不必要地更加困難。

現在我試圖了解我應該如何使用 ss 來驗證守護程序是否正在監聽。

有人可以解釋一下嗎?

編輯:

# ss --version
ss utility, iproute2-ss090324
# ss -aunp | grep radi
UNCONN     0      0                         *:50482                    *:*      users:(("radiusd",11103,11))
UNCONN     0      0                 127.0.0.1:18120                    *:*      users:(("radiusd",11103,9))
UNCONN     0      0                         *:1812                     *:*      users:(("radiusd",11103,6))
UNCONN     0      0                         *:1813                     *:*      users:(("radiusd",11103,7))
UNCONN     0      0                         *:1814                     *:*      users:(("radiusd",11103,10))
# ss -lnp | grep radi
#

最新版本也ss應該以這種方式顯示 UDP 偵聽器。您可以使用ss -unlp.

我嘗試了一個最新的 Debian 版本,其中ss --version報告ss utility, iproute2-ss140804並且確實有效。

在帶有它的 Red Hat 5 系統ss utility, iproute2-ss061002上沒有。ss -aunp儘管它也顯示連接的埠,但您確實可以在那裡獲得更多資訊。

你也可以試試:

ss -apu state unconnected 'sport = :1812'

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