替代“netstat -s”
netstat -s
列印出許多非常詳細的協議統計資訊,例如收到的 TCP 重置消息數或發送的 ICMP“回應要求”消息數或由於失去路由而丟棄的數據包數。當在 Linux
netstat
中被認為現在已棄用時,還有其他選擇嗎?與提供的統計數據
ss -s
相比,由 提供的統計數據是膚淺的netstat
。
netstat
確實已被許多發行版棄用,儘管實際上很多“net-tools”包(包括ifconfig
和)已被棄用,取而代之的是“iproute2”包route
。iproute2與最新的 Linux 網路功能一起發展,而傳統的實用程序卻沒有。arp
您想要的 iproute2 等價物是鮮為人知的
nstat
,它提供了netstat -s
計數器,儘管形式略有不同:
- 使用原始計數器名稱
/proc
,每個名稱都以其類為前綴(“Udp”、“Tcp”、“TcpExt”等)- netstat 的長(可能是本地化的)描述不可用
- 預設省略零值計數器
- 在第一列和第二列中使用具有名稱和值的一致列輸出
- 如果您已啟動後台 nstat(守護程序模式),則第三列顯示可配置時間視窗內的平均值
-d
,否則為 0.0例如
nstat
,列印“UdpInDatagrams NNN”而不是“Udp: InDatagrams”,而不是“Udp: NNN 數據包接收”的詳細 netstat 版本。
nstat
還假設您想要增量而不是絕對數字,因此最接近的等價物netstat -s
是/sbin/nstat -asz
選項-a
使用絕對計數器的位置,-s
不要保留歷史文件,-z
不要省略零值計數器。
ss
接管 的“套接字”部分netstat
,但不是您發現的完整功能。(ss
實際上比netstat
在許多情況下要好,兩個特定的能力是使用過濾器表達式的能力和使用 Linux 核心模組比 via 更直接地訪問核心套接字數據的可選tcp_diag
能力inet_diag
。/proc
)如果您需要確認描述性名稱的映射,net-tools 源是權威參考:http: //sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html
Doug Vitale 為查找舊命令的 iproute2 等效項提供了有用的指南(它未維護且略微不完整,它忽略了至少自 2004 年核心 2.6.x 時間以來
nstat
一直是 iproute2 包的一部分的任何引用)。但是net-tools仍然存在,您應該能夠為您的發行版找到一個包(或自己編譯)。
NETSTAT 現在被認為已被棄用,其他程序包括在網路工具中,如 arp、ifconfig、iptunnel、nameif
netstat
、和 route。其中幾個實用程序提供的功能已在新的iproute2套件中進行了複製和改進,主要是通過使用其新
ip
命令。不推薦使用的命令及其替換範例:
arp
→ip n
(ip neighbor
)ifconfig
→ip a
(ip addr
),ip link
,ip -s
(ip -stats
)iptunnel
→ip tunnel
iwconfig
→iw
nameif
→ip link
, 異名netstat
→ss
,ip route
(對於netstat -r
),ip -s link
(對於netstat -i
),ip maddr
(對於netstat -g
)該
netstat
命令讀取各種 /proc 文件以收集資訊。然而,當有很多連接要顯示時,這種方法就會變得很弱。這使它變慢。該ss
命令直接從核心空間獲取其資訊。與命令一起使用的選項與ss
netstat 非常相似,因此很容易替換。提供的統計數據
ss
是膚淺的,但它被認為 是更好的替代方案netstat
例子
ss | less # get all connections ss -t # get tcp connections not in listen mode (server programs) ss -u # get udp connections not in listen mode ss -x # get unix socket pipe connections ss -ta # get all tcp connections ss -au # get all udp connections ss -nt # all tcp without host name ss -ltn # listening tcp without host resolution ss -ltp # listening tcp with PID and name ss -s # prints statstics ss -tn -o # tcp connection with domain host and show keepalive timer ss -tl4 # ip4 connections
請參閱 netstat 聯機幫助頁中的註釋:
NOTES This program is mostly obsolete. Replacement for netstat is ss. Re‐ placement for netstat -r is ip route. Replacement for netstat -i is ip -s link. Replacement for netstat -g is ip maddr.