在 macOS 系统中,命令行工具是网络管理和故障排查的重要手段,通过命令行可以快速获取本机 IP 地址、网络接口信息、路由表以及外部连接状态等数据,本文将详细介绍如何使用 macOS 命令行查看和管理 IP 地址相关操作,涵盖常用命令、参数解析及实际应用场景。

查看本机 IP 地址及相关网络信息
使用 ifconfig 命令查看网络接口详情
ifconfig 是传统的网络接口配置工具,在 macOS 中仍可使用,需通过 ifconfig 加上网络接口名称(如 en0、en1)查看指定接口信息,或直接输入 ifconfig 显示所有接口。
- 基本语法:
ifconfig [interface]
- 示例:查看
en0接口(通常为有线或默认 Wi-Fi 接口)的详细信息:ifconfig en0
- 输出解析:
inet:IPv4 地址,如168.1.100inet6:IPv6 地址,如fe80::a00:27ff:fe4e:66a1netmask:子网掩码,如255.255.0broadcast:广播地址,如168.1.255ether:MAC 地址,如08:00:27:4e:66:a1
若需快速提取 IPv4 地址,可结合 grep 和 awk 过滤:
ifconfig en0 | grep "inet " | awk '{print $2}'
使用 ipconfig 命令刷新网络配置
ipconfig 是 macOS 特有的网络配置工具,主要用于刷新 DNS 缓存、重新获取 DHCP 地址等,而非直接查看 IP。
- 刷新 DNS 缓存:
sudo dscacheutil -flushcache
- 重新获取 DHCP 地址(适用于 Wi-Fi 或以太网):
sudo ipconfig set en0 DHCP
使用 networksetup 命令管理网络服务
networksetup 可用于查看或修改特定网络服务的配置,如 Wi-Fi、以太网等。

- 查看当前网络服务状态:
networksetup -listallnetworkservices
- 查看 Wi-Fi 接口 IP 地址:
networksetup -getinfo Wi-Fi
- 设置静态 IP 地址(需管理员权限):
sudo networksetup -setmanual Wi-Fi 192.168.1.100 255.255.255.0 192.168.1.1
查看路由表与外部连接状态
使用 netstat 命令查看网络连接与路由
netstat 可显示网络连接、路由表、接口统计等信息。
- 查看 IPv4 路由表:
netstat -rn
- 输出中
Destination为目标网络,Gateway为下一跳地址,Flags中的U表示路由可用,G表示网关路由。
- 输出中
- 查看活跃的网络连接(监听和已建立的 TCP/UDP 连接):
netstat -an
- 仅显示 TCP 连接:
netstat -an | grep TCP
使用 route 命令管理路由表
route 命令可手动添加或删除静态路由。
- 添加静态路由(示例:将目标网络
168.2.0/24的下一跳设为168.1.1):sudo route add -net 192.168.2.0/192.255.255.255 192.168.1.1
- 删除静态路由:
sudo route delete 192.168.2.0
网络诊断与测试工具
使用 ping 测试网络连通性
ping 通过发送 ICMP 回显请求测试与目标主机的连通性。
- 示例:测试与
8.8.8的连接:ping 8.8.8.8
- 指定发送数据包数量(如发送 5 个包):
ping -c 5 8.8.8.8
使用 traceroute 跟踪网络路径
traceroute 显示数据包到达目标主机所经过的路由节点。

- 基本用法:
traceroute 8.8.8.8
- 使用 ICMP 代替 UDP(macOS 默认为 UDP):
traceroute -I 8.8.8.8
使用 nslookup 查询 DNS 解析
nslookup 可查询域名对应的 IP 地址或反向解析 IP 对应的域名。
- 查询域名 IP:
nslookup www.example.com
- 反向查询 IP 的域名:
nslookup 8.8.8.8
网络接口信息汇总表
| 命令 | 功能描述 | 示例 | 输出关键信息 |
|---|---|---|---|
ifconfig en0 |
查看 en0 接口详细信息 |
ifconfig en0 |
IPv4/IPv6 地址、MAC 地址、子网掩码 |
networksetup -listallnetworkservices |
列出所有网络服务 | networksetup -listallnetworkservices |
Wi-Fi、以太网、Thunderbolt 等服务名称 |
netstat -rn |
显示 IPv4 路由表 | netstat -rn |
目标网络、网关、接口、跃点数 |
ping -c 4 8.8.8.8 |
测试与 8.8.8 的连通性(4次) |
ping -c 4 8.8.8.8 |
往返时间、丢包率 |
traceroute 8.8.8.8 |
跟踪到 8.8.8 的路由路径 |
traceroute 8.8.8.8 |
每跳 IP、延迟、主机名(若解析) |
相关问答 FAQs
Q1: 如何在 macOS 命令行中快速获取当前活动的 Wi-Fi IP 地址?
A: 可以通过以下命令组合实现:
ipconfig getifaddr en0
en0 通常是 Wi-Fi 接口名称(可通过 ifconfig | grep "en" 查看所有接口),若需确认接口类型,可使用 networksetup -listallnetworkservices 查看对应服务的接口名称。
Q2: 当无法连接网络时,如何使用命令行排查是本地 IP 配置问题还是网关故障?
A: 可按以下步骤排查:
- 检查本机 IP 配置:
ifconfig en0 | grep "inet "
若
inet后无 IP 或显示254.x.x(链路本地地址),说明未获取到 DHCP 地址,需检查网络连接或重启网络服务。 - 测试网关连通性:
ping $(netstat -rn | grep default | awk '{print $2}')若无法 ping 通网关,可能是物理线路问题或网关故障;若网关可达但无法访问外网(如
ping 8.8.8.8失败),则可能是 DNS 问题或运营商网络故障。 - 刷新 DNS 并重试:
sudo dscacheutil -flushcache
通过以上命令组合,可快速定位网络故障的根源,进一步提升网络管理效率。
