Linux 網路故障排查、效能調優、安全稽核,核心都離不開幾十個經典指令。本文精選最高頻、最高價值的網路管理指令,按功能分類(傳輸、連通性、連線狀態、設定、分析、安全),提供參數速查、實戰範例、輸出解讀,助您建立「指令肌肉記憶」,關鍵時刻秒出指令。
1. 檔案傳輸與 HTTP 互動
| 指令 | 核心參數 | 實戰範例 |
| curl | -O 存檔、-L 跟隨重導向、-I 只取 HEAD、-v 詳細、-H 自訂 Header、-X 指定方法、-d POST 資料、--resolve 強制解析 | curl -v -H "Authorization: Bearer $TOKEN" https://api.example.com/users
curl -o file.zip -L "https://example.com/download?file=123"
curl --resolve api.example.com:443:192.168.1.10 https://api.example.com/health |
| wget | -c 斷點續傳、-r 遞迴、-np 不上層、-q 安靜、--header、--post-data | wget -c https://releases.ubuntu.com/22.04/ubuntu-22.04.iso
wget -r -np -q https://example.com/docs/ |
2. 連通性測試與路徑追蹤
| 指令 | 核心參數 | 實戰範例 |
| ping | -c N 次數、-i SEC 間隔、-s BYTES 封包大小、-4/-6 強制 IPv4/6、-D 時間戳 | ping -c 10 -i 0.2 8.8.8.8 (高頻測抖動)
ping -s 1472 -M do 8.8.8.8 (MTU 測試) |
| traceroute / tracepath | -n 不解析域名、-T TCP 模式、-p PORT、-4/-6 | traceroute -n -T -p 443 example.com (繞過 ICMP 封鎖) |
| mtr | -r 報告模式、-c N 次數、-b 顯示 IP+主機名 | mtr -r -c 100 8.8.8.8 (持續監控路徑丟包) |
3. 連線狀態與通訊埠檢視 (ss 取代 netstat)
| 指令 | 核心參數 | 實戰範例 |
| ss (iproute2) | -t TCP、-u UDP、-l 監聽、-n 數值、-p 進程 (需 root)、-e 詳細、-i TCP 內部資訊、-s 統計摘要 | ss -tulnp | grep :80
ss -tan state established | wc -l (統計 ESTAB 連線數)
ss -i '( dport = :443 or sport = :443 )' (HTTPS 連線 RTT/cwnd) |
4. 網路介面與路由設定 (ip 取代 ifconfig/route)
| 指令 | 核心子指令 | 實戰範例 |
| ip | addr/a 位址、link 介面、route/r 路由、neigh/n ARP/NDP、link set 介面狀態、addr add/del | ip -br a (簡潔顯示所有介面 IP)
ip route get 8.8.8.8 (查詢路由決策)
ip link set eth0 mtu 9000 (設定巨型幀)
ip neigh flush all (清除 ARP 快取) |
5. DNS 偵錯與分析
| 指令 | 核心參數 | 實戰範例 |
| dig | +short 簡短、+trace 遞迴追蹤、@SERVER 指定 DNS、+dnssec、AXFR 區域傳輸 | dig +short example.com A
dig @1.1.1.1 example.com +trace (從根追蹤)
dig example.com TXT +short (SPF/DKIM/DMARC) |
| drill | 類 dig、LDNS 庫、支援 DoH/DoT | drill @dns.google example.com |
| host | 簡單查詢 | host example.com |
6. 流量分析與封包擷取
| 指令 | 核心參數 | 實戰範例 |
| tcpdump | -i 介面、-n 數值、-w 存 pcap、-r 讀 pcap、-s0 完整封包、-v 詳細、port/host/net 過濾 | tcpdump -i eth0 -nn -s0 -w /tmp/http.pcap port 80
tcpdump -r /tmp/http.pcap -A | grep "GET /api" |
| tshark (Wireshark CLI) | -Y 顯示過濾、-T fields 擷取欄位、-z 統計 | tshark -r file.pcap -Y "http.request" -T fields -e http.host -e http.request.uri |
7. 頻寬控制與 QoS (tc - Traffic Control)
# 限制 eth0 出站頻寬 100Mbps
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 100mbit ceil 100mbit
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 0/0 flowid 1:10
# 查看/刪除
tc qdisc show dev eth0
tc qdisc del dev eth0 root
8. 埠掃描與服務探測 (nmap)
| 掃描類型 | 指令範例 |
| TCP SYN 掃描 (隱蔽、需 root) | nmap -sS -p 1-65535 192.168.1.0/24 |
| 服務版本偵測 | nmap -sV -p 80,443,22 192.168.1.100 |
| OS 指紋辨識 | nmap -O 192.168.1.100 |
| 腳本掃描 (漏洞、配置) | nmap --script vuln 192.168.1.100 |
| UDP 掃描 (慢) | nmap -sU -p 53,123,161 192.168.1.100 |
9. 連線追蹤與防火牆狀態 (conntrack / iptables / nftables)
# 查看連線追蹤表
conntrack -L | head -20
conntrack -L -p tcp --dport 80
# iptables 規則計數
iptables -nvL INPUT
# nftables (現代)
nft list ruleset
10. 無線網路管理 (iw / nmcli / wpa_cli)
# 掃描 AP
iw dev wlan0 scan | grep SSID
# nmcli 連線
nmcli dev wifi connect "MySSID" password "passphrase"
# wpa_cli 互動
wpa_cli -i wlan0 scan && wpa_cli -i wlan0 scan_results
速查卡:最常用 10 條指令背得出來
ip -br a - 秒看所有 IP
ss -tulnp - 秒看誰在聽埠
ping -c 3 8.8.8.8 - 秒測連通
dig +short example.com - 秒查 DNS
curl -v https://api.example.com/health - 秒測 HTTP
tcpdump -i eth0 -nn port 80 - 秒抓封包
mtr -r -c 10 8.8.8.8 - 秒看路徑丟包
nmap -sS -p 22,80,443 target - 秒掃常用埠
conntrack -L -p tcp --dport 80 - 秒看連線追蹤
tc qdisc show dev eth0 - 秒看 QoS 規則
將這些指令內化為肌肉記憶,配合 man/--help 微調參數,即可在網路故障現場、效能調優會議、安全稽核現場,以「指令速度」解決「網路問題」。