在macOS系统中,通过命令行查看IP地址是网络管理和故障排查的常用操作,macOS基于Unix内核,提供了多种命令行工具来获取网络配置信息,这些工具功能强大且灵活,适合开发者、系统管理员或高级用户使用,以下是几种常用的方法及其详细说明。

使用ifconfig命令查看IP地址
ifconfig是传统的网络配置工具,可以显示和配置网络接口的详细信息,在macOS中,ifconfig通常位于/usr/sbin目录下,可能需要手动调用完整路径或将其添加到环境变量中。
基本用法:
ifconfig
执行后会列出所有网络接口的状态,包括以太网(en0)、Wi-Fi(en1)、回环接口(lo0)等,重点关注inet字段,该字段显示接口的IPv4地址,inet6字段则对应IPv6地址。
示例输出:

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM>
ether a4:5e:60:xx:xx:xx
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::a65e:60ff:fexx:xxxx%en0 prefixlen 64 secured scopeid 0x5
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
其中inet 192.168.1.100即为当前接口的IPv4地址。
指定接口查看:
如果仅需查看特定接口(如Wi-Fi),可使用:
ifconfig en1
使用ipconfig命令获取简要信息
ipconfig是macOS特有的工具,主要用于快速获取网络接口的IP地址,相比ifconfig输出更简洁。
基本用法:

ipconfig getifaddr en0
该命令直接返回指定接口的IPv4地址,适合在脚本中调用。
$ ipconfig getifaddr en1 192.168.1.101
使用networksetup命令查看网络配置
networksetup是macOS高级网络配置工具,可查看和管理网络服务,包括代理、DNS、IP地址等。
查看所有服务:
networksetup -listallnetworkservices
查看指定服务的IP配置:
networksetup -getinfo Wi-Fi
输出示例:
Hardware Port: Wi-Fi
Device: en1
IPv4 Configuration: DHCP
IP address: 192.168.1.101
Subnet mask: 255.255.255.0
Router: 192.168.1.1
使用scutil命令获取详细网络信息
scutil是macOS的系统配置工具,可通过编程方式获取网络参数,适合需要结构化输出的场景。
查看当前网络配置:
scutil --dns
获取IPv4地址:
scutil --nwi | grep "address"
输出示例:
address: 192.168.1.101
使用curl命令获取公网IP地址
若需查看当前网络的公网IP地址(而非局域网IP),可调用第三方服务:
curl ifconfig.me
或使用更可靠的接口:
curl cip.cc
常用命令对比
| 命令 | 用途 | 输出示例 | 适用场景 |
|---|---|---|---|
ifconfig |
显示所有接口详细信息 | 包含MAC、IP、子网掩码等 | 全面排查网络配置 |
ipconfig getifaddr |
获取指定接口的IPv4地址 | 直接返回IP字符串 | 脚本调用、快速查询 |
networksetup -getinfo |
查看网络服务配置(如DHCP) | 显示IP、路由、DNS等 | 管理网络服务 |
scutil --nwi |
获取当前网络接口的简要信息 | 过滤后可提取IP | 编程化获取网络参数 |
curl ifconfig.me |
获取公网IP地址 | 如45.67.89 |
检查出口IP |
相关问答FAQs
Q1: 如何在macOS命令行中查看当前活跃的网络接口名称?
A1: 可以通过以下命令列出所有接口,并通过status: active筛选活跃接口:
ifconfig | grep "status: active"
输出en0: status: active表示以太网接口处于活跃状态。
Q2: 为什么ifconfig命令在macOS中无法直接使用?
A2: 在较新的macOS版本(如Catalyst之后),ifconfig可能需要手动调用完整路径,因为系统默认不将其加入PATH,可使用以下方式解决:
/usr/sbin/ifconfig
或创建一个别名(添加到~/.bash_profile或~/.zshrc):
alias ifconfig='/usr/sbin/ifconfig'
