ping -c 4 -i 0.2 -W 2 192.168.1.1 # IPv4 指定次數/間隔/超時
ping6 -c 4 2001:db8::1 # IPv6
ICMP 回顯請求/回應,驗證鏈路通達性、延遲、丟包率。注意:防火牆可能丟棄 ICMP,不通不代表主機掛了。
arping -c 3 -I eth0 192.168.1.100 # 二層 ARP 探測,穿透 IP 防火牆
traceroute -n -w 2 -q 1 8.8.8.8 # -n 不解析主機名,加速顯示
mtr -r -c 10 8.8.8.8 # 綜合 ping + traceroute,持續統計丟包率
dig @1.1.1.1 example.com A +short # 指定上游解析器,短輸出
dig example.com ANY +noall +answer +authority +additional
drill -D example.com # DNSSEC 驗證鏈
nslookup -type=MX example.com 8.8.8.8
ss -ltnp # 監聽 TCP + 進程信息
ss -uantp # 所有 UDP/TCP + 進程
ss -s # 協議統計摘要
ss -i state established '( dport = :443 or sport = :443 )' # 過濾表達式
netstat -ltnp # 同 ss -ltnp
netstat -s # 協議棧統計(重傳、錯誤、擁塞窗口等)
ip -br link # 簡潔接口列表
ip -4 addr show dev eth0 # IPv4 地址詳情
ip route show table all # 完整路由表(含策略路由)
ip neigh show # ARP/NDP 鄰居表
ip -s link show dev eth0 # 接口統計(錯誤、丟包、碰撞、載波)
ethtool eth0 # 速率、雙工、自協商、Wake-on-LAN
ethtool -k eth0 # 硬件卸載特性(TSO/GRO/LRO/校驗和卸載)
ethtool -S eth0 # 驅動級詳細計數器(隊列、錯誤、暫停幀)
tc qdisc show dev eth0
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:10 htb rate 100mbit ceil 100mbit
nft list ruleset
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; policy drop \;}
nft add rule inet filter input tcp dport 22 ct state new,established accept
iptables -nvL --line-numbers
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables-save > /etc/iptables/rules.v4
rsync -avzP --delete -e "ssh -p 2222" /src/ user@host:/dst/
ssh -L 8080:internal-db:3306 user@jump-host # 本地轉發
ssh -R 9000:localhost:3000 user@public-server # 遠程轉發
ssh -D 1080 user@proxy-host # SOCKS5 動態代理
socat TCP-LISTEN:8080,fork,reuseaddr TCP:backend:80
nc -zv host 20-100 # 端口掃描
tcpdump -i eth0 -nn -s0 -w capture.pcap 'port 443 and host 10.0.0.1'
tcpdump -r capture.pcap -A 'tcp[13] & 0x02 != 0' # 僅顯示 SYN 包
tshark -r capture.pcap -Y 'http.request.method == "POST"' -T fields -e http.host -e http.request.uri
bpftrace -e 'tracepoint:tcp:tcp_retransmit_skb { @[comm] = count(); }'
tcpretrans # bcc 內建:TCP 重傳統計
runqlat # 調度延遲直方圖
cat /proc/net/snmp # IP/ICMP/TCP/UDP 統計
cat /proc/net/netstat # TCP 擴展統計(Reno/CUBIC/BBR 指標)
cat /sys/class/net/eth0/statistics/rx_bytes
# 等待端口就緒
wait_for_port() { while ! ss -ltn | grep -q ":$1 "; do sleep 1; done; }
# 獲取默認路由接口及源 IP
get_src_ip() { ip route get 1.1.1.1 | awk '{for(i=1;i<=NF;i++) if($i=="src") print $(i+1)}'; }
# 批量檢查主機存活
for ip in 192.168.1.{1..254}; do ping -c1 -W1 $ip &>/dev/null && echo "$ip up"; done
掌握 ip、ss、nftables、tcpdump、dig、mtr 核心六件套,配合 ethtool、tc、bpftrace 進階工具,可覆蓋 95% 以上 Linux 網絡運維場景。將常用組合封裝為 Shell 函數/Ansible 模組/Go 庫,構建屬於團隊的「網絡急救箱」。