从零开始
目录

03 · 常用操作 · 网络

网络故障排查:ping 与 ipconfig

本篇你将学到

  • 上不了网时,先做哪几件简单的事
  • 用命令看自己的 IP 和网关
  • 用 ping 一段段测:路由器 → 外网 → 域名
  • 系统自带的网络诊断工具

先做三件简单的事

  1. 换台设备试试。手机连同一个 Wi-Fi 能上网,问题多半在这台电脑上[1]。
  2. 重启电脑,或者把 Wi-Fi 关掉再打开。Mac 重启时还会自动重新申请 IP 地址[2]。也看一眼日期和时间对不对、有没有装 VPN 或安全软件在拦网络,这两样都可能导致上不了网[2]。
  3. 重启光猫和路由器:拔电源,等 30 秒以上,先插光猫,等灯不闪了再插路由器[1]。

还不行,就用命令把问题“定位”到某一段。

一段一段测

还记得数据的路线吗(见 03-03)?

电脑 ──▶ 路由器(网关)──▶ 光猫 / 运营商 ──▶ 互联网 ──▶ 网站

ping 会向目标发一个小小的“回声请求”,目标收到就回一个“回声应答”,同时显示来回用了多少毫秒[3]。像在山谷里喊一声,听有没有回音。

Windows

打开终端(PowerShell 或命令提示符):

ipconfig                 # 1. 看自己的 IPv4 地址和“默认网关”
ping 192.168.1.1         # 2. ping 网关(换成你看到的网关地址)
ping 203.0.113.10        # 3. ping 外面的一个 IP(示例地址,换成真实的)
ping example.com         # 4. ping 一个域名
nslookup example.com     # 5. 单独查 DNS
tracert example.com      # 6. 看看数据经过了哪些路由器

ipconfig 会显示 IPv4、IPv6 地址、子网掩码和默认网关[4]。ping 默认发几次就停;加 /t 会一直发,按 Ctrl + C 停下[3]。

macOS

打开“终端”:

route -n get default        # 1. 看默认网关(gateway 那一行)
ping -c 4 192.168.1.1       # 2. ping 网关
ping -c 4 203.0.113.10      # 3. ping 外面的一个 IP(示例地址)
ping -c 4 example.com       # 4. ping 一个域名
nslookup example.com        # 5. 单独查 DNS
traceroute example.com      # 6. 看路径

Mac 上的 ping 默认会一直发,要按 Control + C 停;加 -c 4 就只发 4 次。

Linux

打开终端:

ip addr                     # 1. 看自己的 IP(inet 后面)
ip route                    #   default via 后面是网关
ping -c 4 192.168.1.1       # 2. ping 网关
ping -c 4 203.0.113.10      # 3. ping 外面的一个 IP(示例地址)
ping -c 4 example.com       # 4. ping 一个域名
nslookup example.com        # 5. 单独查 DNS
tracepath example.com       # 6. 看路径(不需要管理员权限)

-c 4 表示发 4 个就停[5],不加的话要按 Ctrl + C 停。ping 一个回应都没收到时,会以出错状态退出[5]。tracepath 和 traceroute 类似,但不需要超级用户权限[6]。

怎么看结果:

现象 说明 怎么办
没有 IP、没有网关,ping 网关失败 电脑没连上路由器 检查 Wi-Fi 开关、重连 Wi-Fi、插好网线
ping 网关通,ping 外面的 IP 超时 家里网络正常,从家到外面断了[1] 重启光猫和路由器;还不行找宽带运营商
ping IP 通,ping 域名说“找不到主机” DNS 出问题[3] 清 DNS 缓存、换 DNS(见 03-05)
都通,只有某个网站打不开 多半是网站自己的问题 等等再试

几点注意:

  • 有些服务器和路由器故意不回应 ping,ping 不通不一定是坏了;能正常打开网页就说明是通的。
  • tracert 是把“生存时间”(TTL)从 1 开始一点点加大,让沿途每个路由器依次报到,这样就能列出路径[7]。某一跳显示一排 *,只说明那台路由器没回应[7],不一定是故障。

系统自带的诊断工具

Windows

Windows 11 可以在“获取帮助”应用里运行“网络和 Internet 疑难解答”,它会自动诊断并尝试修复大多数问题[1]。

macOS

无线诊断:先退出所有 App,按住 Option 键点按菜单栏里的 Wi-Fi 图标,选“打开无线诊断”,按提示操作。它只分析、给出建议,不会改你的网络设置[8]。另外,在 Wi-Fi 菜单里如果看到“Wi-Fi 建议”,说明 Mac 已经发现了问题[2]。

Linux

GNOME 没有一键诊断工具。先看“设置 → 网络 / Wi-Fi”里连接是不是已连上,再用上面的命令一段段测。

动手试一试

四个案例,各有一个不同的毛病。用命令查一查,再选出问题在哪一段。右上角可以切换系统。

模拟实操 · 网络排查

你的判断:问题出在哪?

已诊断 0 / 4

纯模拟,命令不会真的执行。输出按真实格式简化;Windows 中文版显示的是中文,意思一样。192.168.1.1 是常见的家用路由器地址,203.0.113.10 是文档专用的示例地址。

小结

  • 先换设备试、重启电脑、重启光猫和路由器。
  • 再用命令一段段测:自己的 IP 和网关 → ping 网关 → ping 外面的 IP → ping 域名。
  • 哪一段开始不通,问题就在哪一段:网关不通查 Wi-Fi,外网不通找运营商,域名不通查 DNS。

参考资料

  1. [1]Fix Wi-Fi connection issues in Windows · Microsoft Support
    https://support.microsoft.com/en-us/windows/fix-wi-fi-connection-issues-in-windows-9424a1f7-6a3b-65a6-4d78-7f07eee84d2c
  2. [2]If your Mac isn't connecting to the internet over Wi-Fi · Apple Support
    https://support.apple.com/en-us/101588
  3. [3]ping · Microsoft Learn
    https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ping
  4. [4]ipconfig · Microsoft Learn
    https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
  5. [5]ping(8) · iputils(man7.org)
    https://man7.org/linux/man-pages/man8/ping.8.html
  6. [6]tracepath(8) · iputils(man7.org)
    https://man7.org/linux/man-pages/man8/tracepath.8.html
  7. [7]tracert · Microsoft Learn
    https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/tracert
  8. [8]Use Wireless Diagnostics on your Mac · Apple Support · Mac User Guide
    https://support.apple.com/guide/mac-help/use-wireless-diagnostics-mchlf4de377f/mac