在Mac上排查网络问题,或者需要配置一些服务时,查看本机的IP地址往往是第一步。虽然图形界面也能找到,但对于开发者或习惯使用命令行的用户来说,终端无疑更高效直接。今天,我们就来梳理一下在终端里查看IP地址的几种核心方法,从最常用的到应对特殊场景的,帮你快速定位所需信息。

一、使用 ipconfig getifaddr 命令:快速获取指定接口的IPv4地址
当你只需要快速得到一个干净、无冗余信息的IP地址时,这个命令是首选。它专门用于查询通过DHCP获取的IPv4地址,输出结果只有IP本身,非常适合脚本调用或快速查看。
操作很简单:先通过聚焦搜索(Command + 空格)打开“终端”。
如果你的Mac通过Wi-Fi连接网络,输入命令 ipconfig getifaddr en0 并回车。
如果使用的是有线以太网连接,则通常将命令中的接口名改为 en1,即输入 ipconfig getifaddr en1。
执行后,终端会直接显示类似 192.168.1.15 的地址,没有其他任何文本,非常清爽。
二、使用 ifconfig 命令:查看所有网络接口的详细配置
如果需要更全面的信息,比如同时查看IPv4、IPv6、MAC地址和子网掩码,或者你的设备有多个活跃的网络接口(比如同时连着Wi-Fi和翻跟斗),那么 ifconfig 命令能提供一张完整的“快照”。
在终端中输入 ifconfig 并回车,你会看到所有网络接口的详细信息列表。
在输出中,找到以 en0(通常代表Wi-Fi)或 en1(通常代表以太网)开头的段落。
然后,在该段落里寻找以 inet 开头的行,后面跟着的就是该接口的IPv4地址了。例如,你可能会看到这样一行:inet 192.168.1.15 netmask 0xffffff00。
三、使用 networksetup 命令:通过服务名称查询IP
这个方法有点“绕道而行”,但非常实用。它不直接操作底层的网络接口(如en0, en1),而是面向系统设置中更稳定的“网络服务”名称,比如“Wi-Fi”或“Ethernet”。这可以避免因系统自动重命名接口而导致的命令失效问题。
打开终端,要查询Wi-Fi的IP,就输入:networksetup -getinfo Wi-Fi。
在返回的结果中,找到 IP address: 这一项,其右侧显示的就是当前的IPv4地址。
如果你用的是有线网络,只需把命令中的 Wi-Fi 替换成 Ethernet 再执行即可。
四、使用 curl 命令:查询设备的公网IP地址
前面几种方法查到的都是你的设备在本地局域网(内网)中的IP。而你的网络对外显示的“公网IP”,是由互联网服务提供商(ISP)分配的。要查看它,需要借助外部网络服务。
确保Mac已经连接互联网,然后在终端中输入:curl ifconfig.me 并回车。
稍等片刻,终端就会返回一个纯文本格式的公网IPv4地址,例如 203.0.113.42。
这个服务偶尔可能不稳定,你可以用其他类似服务作为备用,比如 curl ipinfo.io/ip 或 curl icanhazip.com,效果是一样的。
五、使用 netstat 结合路由表:间接推导本地IP
这是一种相对进阶的方法,通常在常规命令因权限或接口命名混乱而失效时使用。它的原理是通过分析系统的路由表,找出默认网关所使用的网络接口,进而定位该接口的IP地址。这在处理多网卡、虚拟机或复杂网络环境时特别有用。
首先,在终端执行:netstat -nr | grep default。这条命令会列出系统的默认路由,并从中找出网关地址和对应的接口名。输出可能类似于 default 192.168.1.1 => en0。
确定了接口名(比如这里是en0)之后,你就可以回到第一种方法,使用 ipconfig getifaddr en0 来获取IP。
如果上述命令没有返回结果,还可以尝试用 ifconfig en0 | grep "inet " 来提取包含IP地址的那一行信息。
