网络命令速查

本目录集中保存 cli-tools/ 下的网络诊断、远程访问和数据传输工具。概念、持久网络配置、SSH 服务端和防火墙详解见 Linux 网络与 SSH。

先按层次排障

ip -br link                             # 1. 链路是否启用
ip -br addr                             # 2. 地址是否正确
ip route                                # 3. 默认路由是否存在
ping -c 3 1.1.1.1                      # 4. IP 连通性
dig example.com A +short                # 5. DNS 解析
ss -lntup                               # 6. 本机是否监听
nc -vz -w 3 example.com 443             # 7. 目标 TCP 端口
curl -fsS -I --max-time 10 https://example.com/  # 8. 应用协议

不要跳层

IP 可达但域名失败时优先查 DNS;ping 失败不等于 TCP 服务不可用,应继续用 nc 或协议客户端测试具体端口。

选哪个命令

目标命令文档
查看接口、地址、路由、邻居ipip
检查 ICMP 连通性和时延pingping
查看监听端口和连接ssss
测试 TCP/UDP、临时收发文本ncnc
查询 DNS 记录digdig
查看路径和路径 MTUtracepathtracepath
抓包并验证流量是否到达tcpdumptcpdump
远程登录、复制、跳板和隧道ssh、scpssh
HTTP 请求、API 与下载curlcurl
非交互下载与镜像wgetwget
本地或 SSH 增量同步rsyncrsync

安全边界

Warning

  • nc 不提供加密或身份认证,不要用它传输秘密。
  • tcpdump 抓包可能包含令牌、Cookie、域名和内部地址;最小化过滤范围并妥善删除文件。
  • 远程修改地址、路由、防火墙或 SSH 配置前,先准备可回滚方案并保留现有会话。

常用组合

# 找到访问目标所采用的源地址、网关和接口
ip route get 1.1.1.1
 
# DNS 正常后,直接测试服务端口
dig example.com A +short
nc -vz -w 3 example.com 443
 
# 确认本机 8080 端口由哪个进程监听
sudo ss -lntp 'sport = :8080'
 
# 观察目标端口是否真的有数据包到达
sudo tcpdump -ni any port 443