跳转到正文

网络不通时,凭空“瞎猜”与老手“一击必中”的差距在哪里? ​

在网络运维和开发实战中,初学者遇到网络不通,往往手足无措:

“是不是网线坏了?是不是路由器死机了?要不我们把所有设备重启一下试试?”

而资深网络专家绝不靠运气猜疑。面对复杂的通信故障,他们能够在 30 秒内调出关键命令,直接调取网卡底层的真实报文:

  • 在 Linux 终端执行一条命令,瞬间看穿后台服务是否正常开机侦听;
  • 在华为路由器敲出一条查询,直接透视转发表项与会话状态;
  • 在 Wireshark 中拉开报文显微镜,精确指出“第 47 个数据包由于校验和错误被网卡默默丢弃”。

“看不见报文的人只能迷信猜测,看得懂报文的人掌控网络全局。”


学完本课后,你将能够:

  1. 熟练运用 Linux 端侧核心网络诊断套件:ip、ss -tulnp、traceroute 与命令行抓包神器 tcpdump 抓包工具。
  2. 掌握 华为 VRP 操作系统最核心的五大排障排查命令组合。
  3. 牢记 华为工程师的保命操作铁律:VRP 调试命令(debugging)(debugging)的 CPU 风险防范与 undo debugging all。
  4. 精通 Wireshark 核心过滤表达式语法与“Follow TCP Stream”流跟踪技术。

1. 端侧探针:Linux 必备诊断命令集 ​

排障的第一现场往往位于客户端电脑或后端 Linux 服务器:

网络排障工具箱对比

(1) 查看网络接口与路由状态 ​

bash
# 查看所有网卡的 IP 地址、掩码与 UP/DOWN 状态(取代旧代 ifconfig)
ip a

# 查看本机的三层路由表(重点关注 default via 网关地址是否正确)
ip route

# 查看本机的 ARP 邻居缓存表(排查网关 MAC 是否正常解析)
ip neigh

(2) 探查端口监听:ss 命令的威力 ​

当外部用户反馈“网页无法访问”时,第一步必须确认服务器上的 Web 程序是否正常启动并处于监听状态:

bash
# -t(TCP) -u(UDP) -l(仅监听LISTEN) -n(数字显示端口) -p(显示所属进程名与PID)
ss -tulnp
  • 如果列表中根本没有 *:80 或 *:443 处于 LISTEN,说明是 Nginx/Web 服务程序崩了或没开,网络链路本身完全是无辜的!

(3) 命令行抓包神锤:tcpdump ​

在没有图形界面的 Linux 云服务器上,tcpdump 抓包工具 是抓包终极工具:

bash
# 抓取 eth0 网卡上涉及 80 端口与目标 IP 的报文,并保存为 trace.pcap 文件
sudo tcpdump -i eth0 -nn -vv "tcp port 80 and host 192.168.1.10" -w trace.pcap

导出的 .pcap 文件可以直接复制到本地笔记本,用 Wireshark 优雅打开进行全真可视化解剖!


2. 交换与路由:华为 VRP 排障核心组合拳 ​

当报文离开终端进入企业网络后,网络工程师需要登录华为交换机与路由器,依次执行“排障三板斧”:

① 查物理接口健康度 ​

text
<Huawei> display interface GigabitEthernet 0/0/1
  • 重点检查:Current state: UP,Duplex: FULL, Speed: 1000Mbps;
  • 重点盯防:CRC: 0、Giants: 0、Input errors: 0。如果 CRC 错包持续暴增,99% 是网线水晶头松动、双绞线破损或光纤端面污染!

② 查二层与三层转发表 ​

text
<Huawei> display mac-address                  # 检查二层交换机是否学习到了主机的 MAC
<Huawei> display arp all                      # 检查 IP 与 MAC 映射是否正常
<Huawei> display ip routing-table             # 检查三层路由表是否存在去往目标网段的路由

③ 查安全会话与状态 ​

text
<USG6000> display firewall session table      # 检查防火墙是否成功为连接创建了动态会话

CAUTION

华为网络工程师保命铁律(VRP 调试命令(debugging) 避坑):debugging 命令可以实时将协议状态机的每一个动作输出到终端(例如 debugging ospf packet)。 但 debugging 运行在设备最脆弱的主控板 CPU 之上! 在生产大流量网络中,随意开启全局 debugging 会瞬间耗尽交换机 CPU 算力(CPU 100%),导致心跳报文发不出而引发全网 OSPF/BGP 邻居大面积震荡掉线! 铁律:调试前必须用 ACL 限制源目的 IP 精确范围,排障完成后必须第一秒执行:undo debugging all!


3. 终极事实判据:Wireshark 高级抓包分析 ​

在网络世界中,“Wireshark 里的报文永远不说谎”。

(1) 最具杀伤力的过滤语法 ​

  • ip.addr == 192.168.1.10:双向过滤只要涉及该 IP 的所有报文;
  • tcp.port == 443:过滤 HTTPS 流量;
  • tcp.flags.reset == 1:秒查连接被谁强行断开(收到 RST 报文);
  • tcp.analysis.retransmission:秒查网络丢包导致的 TCP 超时重传;
  • dns.flags.response == 0:过滤所有的 DNS 解析查询请求。

(2) Follow TCP Stream(追踪 TCP 流) ​

右键任何一个 TCP 报文,点击 “Follow → TCP Stream”:

  • Wireshark 会自动将该会话中的所有乱序分片按序列号重组;
  • 用红色清晰展示客户端发送的 HTTP 请求,用蓝色完整还原服务端返回的 HTML 网页;
  • 网络通信的全部秘密,在这一刻如同翻开一本明明白白的日记本。

4. 课堂小结与真题实战 ​

  1. Linux 端侧使用 ip a、ip route 与 ss -tulnp 快速判断网卡、路由与端口监听状态。
  2. 华为 VRP 遵循从接口物理层、MAC 表、ARP 表到路由表与防火墙会话表的递进查询流程。
  3. debugging 会直接冲击主控 CPU,使用必须精准限定并在测试后立刻执行 undo debugging all。

课后巩固 · 练习 ​

课后巩固 · 练习 · 单选

在 Linux 服务器上排查网络服务无法连接故障时,运行命令 ss -tulnp,其中的参数 -l 具有什么核心作用?

真题衍生 · 考点避坑 ​

真题衍生 · 判断题 · 单选

在华为交换机或路由器上进行网络故障排查时,开启 debugging 命令会实时将大量报文处理细节打印到控制台,这会消耗主控 CPU 算力。因此排障完成后必须执行 undo debugging all 命令关闭全部调试,以防止网络流量高峰时 CPU 负荷过载。