必须使用netstat -rn命令,它以数字格式快速输出内核全部IPv4路由条目,不解析DNS、不查主机名,响应快且结果精确;default行对应默认网关,UGSc标志表示有效网关路由。

要在Mac上快速获取当前系统内核维护的全部IPv4路由表记录,必须绕过DNS解析、跳过主机名反查,直接读取原始路由条目;否则会因等待域名查询而卡顿,甚至返回错误或不完整结果。
用 netstat -rn 一次性输出全部路由记录
这是最权威、最快速的方式,适用于所有macOS版本,输出内容与内核路由表完全一致。
打开“应用程序”→“实用工具”→“终端”。
输入命令:netstat -rn,然后按回车键。
该命令强制以纯数字格式(IP地址+子网掩码)输出所有IPv4路由,不查DNS、不格式化、不省略,响应通常在0.1秒内完成。注意观察 Destination 列中的 default 行——它就是你上网时实际走的默认网关路径。
用 route 命令替代查看并聚焦默认路由
route 命令更轻量,适合只想确认默认网关是否生效、是否被意外覆盖的场景。
方法一:单独查默认路由
在终端中运行:route -n get default。
这条命令只返回一条结构化结果,包含 Gateway(下一跳地址)、interface(出口网卡,如 en0)、flags(路由状态),比翻完整列表快得多。
方法二:列出全部路由(macOS 12+)
执行:route -n show。
旧版系统(如 macOS 10.15)请改用 route -n list。输出字段精简,但缺失 Netif 列,无法直观判断哪条路由走哪个物理接口。
注意:若 Gateway 字段显示为 link# 或 127.0.0.1,说明该路由不经过外部网关,属于本地直连或环回,不能用于访问互联网。
通过“网络实用工具”图形界面查看活跃路由
适合不熟悉命令行的用户,能直接看到目标网络、网关IP、子网掩码和对应接口名称(如 en0、en1)的对应关系,无需记忆参数。
第一步:打开“访达”→“应用程序”→“实用工具”→双击“网络实用工具”。
第二步:点击窗口左侧边栏中的路由表选项。
第三步:右侧主区域立即显示当前所有活跃路由条目,每行含目标网络、子网掩码、网关IP、网络接口四列信息。
这个界面不会显示被标记为 inactive 的路由,也不会呈现由 launchd 加载但尚未激活的静态路由条目,因此它反映的是“此刻真正起效”的路由集合,而非内核全量表。
用 grep 精准筛选关键路由条目
当路由表条目超过20行时,人工查找容易遗漏,默认路由可能混在中间。
方法1:只看默认路由
在终端中运行:netstat -nr | grep default。
方法2:只看某内网网段(例如 192.168.0.0/16)
运行:netstat -nr | grep "192\.168\."。
方法3:排除直连路由,专注网关类
运行:netstat -nr | grep "UGSc" —— UGSc 是有效网关路由的标志,G 表示 gateway,U 表示 up,S 表示 static 或 dynamic,c 表示 cloned(动态生成)。这能帮你快速识别出所有真正参与数据转发的非直连路径。



















