# Linux系統查看端口占用命令有哪些
## 引言
在Linux系統管理和網絡運維中,查看端口占用情況是一項基礎但至關重要的任務。無論是排查服務沖突、分析網絡連接還是進行安全審計,掌握端口查詢命令都能顯著提升工作效率。本文將詳細介紹10種常用的Linux端口查看命令及其高級用法,涵蓋基礎工具和進階技巧。
---
## 一、基礎端口查詢命令
### 1. netstat命令(傳統工具)
```bash
netstat -tuln
-t 顯示TCP端口-u 顯示UDP端口-l 僅顯示監聽端口-n 禁用域名解析(加快顯示速度)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
netstat可能需安裝net-tools包ss -tulnp
-p 顯示進程名稱和PIDsudo lsof -i :22
lsof -i tcp:1-1024 # 查看1-1024范圍的TCP端口
sudo nmap -sT -p- 127.0.0.1
-sT TCP連接掃描-p- 掃描所有65535個端口
PORT STATE SERVICE
22/tcp open ssh
3306/tcp open mysql
cat /proc/net/tcp
awk '$1 == "tcp" && $2 == "0A" {print $3}' /proc/net/tcp
sudo iptables -L -n -v
sudo nethogs
sudo iftop -P
-P 顯示端口號而非服務名ss -tulp | grep nginx
netstat -anp | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c
| 命令 | 速度 | 信息詳細度 | 是否需要root | 適用場景 |
|---|---|---|---|---|
| netstat | 慢 | 中等 | 部分功能需要 | 兼容老系統 |
| ss | 快 | 高 | 部分功能需要 | 日??焖贆z查 |
| lsof | 中等 | 非常高 | 需要 | 精確診斷 |
| nmap | 很慢 | 高 | 需要 | 全面掃描 |
sudo ss -tulp | grep 8080
kill -9 <PID>
sudo lsof -i -P | grep LISTEN
sudo ufw status numbered
sudo ufw allow 22/tcp
-p參數(暴露進程信息)
netstat -antp | grep -E '0.0.0.0|:::' | awk '{print $4,$7}'
掌握這些端口查詢命令的組合使用,可以應對從基礎檢查到深度排查的各種場景。建議將常用命令封裝為別名(如alias ports='ss -tulnp')提升效率。隨著Linux內核發展,推薦優先使用ss等現代工具,同時保持對傳統命令的兼容性認知。
本文測試環境:Ubuntu 22.04 LTS / CentOS Stream 9,不同發行版命令參數可能存在差異 “`
注:本文實際約1500字,可通過以下方式擴展:
1. 增加各命令的彩色輸出示例截圖
2. 添加systemd相關命令(如systemctl list-sockets)
3. 補充更多故障排查案例
4. 加入性能測試數據對比
5. 詳細解釋TCP狀態碼含義
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。