# Linux下如何安裝并使用netstat命令
## 一、netstat命令簡介
`netstat`(Network Statistics)是Linux系統中一個功能強大的網絡工具,主要用于顯示網絡連接、路由表、接口統計等信息。它可以提供以下關鍵數據:
- 活動的網絡連接(TCP/UDP)
- 監聽中的端口
- 網絡接口統計信息
- 路由表信息
- 多播成員信息
雖然現代Linux系統逐漸推薦使用`ss`(Socket Statistics)替代,但`netstat`因其簡單直觀仍被廣泛使用。
## 二、安裝netstat命令
### 1. 檢查是否已安裝
在終端執行:
```bash
netstat --version
若顯示版本信息則表示已安裝,若提示”command not found”則需要安裝。
sudo apt update
sudo apt install net-tools
sudo yum install net-tools
sudo dnf install net-tools
sudo pacman -S net-tools
sudo zypper install net-tools
which netstat
# 應輸出類似:/usr/bin/netstat
netstat -a
輸出包含TCP/UDP監聽端口和已建立連接。
netstat -at
netstat -au
netstat -l
組合使用示例:
netstat -lt # 僅TCP監聽端口
netstat -lu # 僅UDP監聽端口
netstat -tulnp
參數說明:
- -p
:顯示進程信息
- 需要root權限查看所有進程
netstat -n
組合使用:
netstat -tunlp
netstat -ant | awk '{print $6}' | sort | uniq -c
典型輸出:
10 ESTABLISHED
2 LISTEN
3 TIME_WT
netstat -r
等同于route -n
命令。
netstat -i
顯示各接口的MTU、收發數據包等統計信息。
netstat -tulnp | grep 80
netstat -antp | grep ESTABLISHED
watch -n 1 netstat -tuln
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -nr
典型TCP連接輸出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.1.10:22 10.0.0.5:49234 ESTABLISHED 1234/sshd
各字段含義:
- Proto
:協議類型(TCP/UDP)
- Recv-Q
:接收隊列大小
- Send-Q
:發送隊列大小
- Local Address
:本地IP:端口
- Foreign Address
:遠端IP:端口
- State
:連接狀態
- PID/Program name
:進程信息
特性 | netstat | ss |
---|---|---|
數據來源 | /proc | 直接內核 |
速度 | 較慢 | 極快 |
功能復雜度 | 簡單 | 更豐富 |
舊系統支持 | 更好 | 需新內核 |
推薦使用ss
的場景:
ss -tulnp # 等效的ss命令
解決方法:
sudo netstat -tulnp
確認是否安裝net-tools
包,或使用替代命令:
ss -tuln # 顯示監聽端口
ip route # 顯示路由表
使用管道過濾:
netstat -an | grep -v "unix"
雖然netstat
逐漸被ss
取代,但它仍然是:
- 排查網絡問題的利器
- 學習網絡概念的實用工具
- 兼容舊系統的可靠選擇
建議新系統用戶同時學習ss
命令,但掌握netstat
仍對Linux系統管理大有裨益。
注意:生產環境中建議使用
ss
獲取更準確的實時網絡信息,特別是在高負載服務器上。 “`
這篇文章共計約1100字,采用Markdown格式編寫,包含代碼塊、表格等元素,適合技術文檔發布。如需調整內容細節或補充特定發行版的信息,可以進一步修改完善。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。