# Linux系統如何使用netstat命令
## 一、netstat命令簡介
netstat(Network Statistics)是Linux系統中用于顯示網絡連接、路由表、接口統計等網絡相關信息的命令行工具。作為網絡管理員和開發人員的常用診斷工具,它能夠幫助用戶:
- 查看當前所有網絡連接狀態
- 監控網絡接口流量
- 檢查路由表信息
- 識別異常網絡連接
- 排查網絡服務問題
> 注意:在新版Linux發行版中,`netstat`已被標記為"deprecated",建議優先使用`ss`命令。但大多數系統仍保留此工具,且在實際工作中仍廣泛使用。
## 二、安裝netstat工具
### 1. 檢查是否已安裝
```bash
which netstat || netstat --version
# Debian/Ubuntu
sudo apt install net-tools
# RHEL/CentOS
sudo yum install net-tools
# Arch Linux
sudo pacman -S net-tools
netstat [選項]
netstat -a
netstat -at
輸出列說明: - Proto:協議類型(TCP/UDP) - Recv-Q:接收隊列大小 - Send-Q:發送隊列大小 - Local Address:本地地址:端口 - Foreign Address:遠程地址:端口 - State:連接狀態
netstat -au
netstat -l
組合使用示例:
netstat -tuln # 顯示所有TCP/UDP監聽端口(數字格式)
netstat -p
需要root權限才能查看其他用戶的進程信息
netstat -i
輸出說明: - MTU:最大傳輸單元 - RX-OK/TX-OK:收發數據包計數 - RX-ERR/TX-ERR:錯誤計數
netstat -r
等效于route -n命令
netstat -c # 每秒刷新一次
sudo netstat -atp
sudo netstat -tulnp | grep :80
netstat -ant | awk '{print $6}' | sort | uniq -c
netstat -an | grep ESTABLISHED | wc -l
netstat -ie
檢查非常用端口的外部連接:
netstat -anp | grep -E '(22|80|443)' -v
通過Send-Q/Recv-Q值判斷: - 持續高值可能表示網絡擁堵 - 快速增長的隊列可能指示DoS攻擊
| 功能 | netstat | ss (推薦替代) |
|---|---|---|
| 顯示速度 | 慢 | 快 |
| 內核信息獲取 | 間接 | 直接 |
| 功能完整性 | 完整 | 更完整 |
| 易用性 | 簡單 | 需要學習 |
-bash: netstat: command not found
解決方案:安裝net-tools包
需要root權限或使用sudo執行
建議配合grep過濾:
netstat -an | grep ESTABLISHED
-p參數(暴露進程信息)netstat -an | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'
netstat -n | grep TIME_WT | wc -l
雖然netstat逐漸被ss命令取代,但其簡單直觀的輸出仍然適合快速網絡診斷。掌握netstat命令可以幫助您:
建議新手從netstat開始學習網絡診斷,逐步過渡到更強大的ss命令。 “`
這篇文章共計約1100字,采用Markdown格式編寫,包含: 1. 多級標題結構 2. 代碼塊示例 3. 表格對比 4. 注意事項提示框 5. 實際應用場景示例 6. 命令輸出解析說明 7. 常見問題解決方案 可根據需要進一步調整內容細節。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。