macos中可通过五种命令行方法获取本机网络地址:一、ifconfig提取ipv4;二、ipconfig快速查主ip;三、scutil读取系统配置库;四、curl查询公网ip;五、networksetup结合服务名定位ip。

如果您需要在 macOS 系统中快速获取本机网络地址信息,但不确定如何通过命令行准确提取 IP 地址及相关参数,则可通过终端执行特定命令实现。以下是多种可靠且互为补充的终端操作方法:
一、使用 ifconfig 查看所有网络接口的 IPv4 地址
ifconfig 是 macOS 内置的底层网络接口配置工具,可直接读取网卡的实时 IP 配置,无需联网或依赖外部服务,适用于排查本地连接状态。
1、打开“应用程序” > “实用工具” > “终端”。
2、输入命令:ifconfig en0 | grep "inet " | awk '{print $2}',回车执行(en0 通常对应 Wi-Fi;若使用有线网络,请将 en0 替换为 en1)。
3、若需同时查看所有活跃接口的 IPv4 地址,可运行:ifconfig | grep -E "en[0-9]|inet " | grep -v "inet6" | awk '/en[0-9]/{iface=$1} /inet /{print iface, $2}'。
二、使用 ipconfig 获取当前活动接口的 IPv4 地址
ipconfig 是 macOS 专用于 DHCP 和地址分配查询的轻量级命令,输出简洁,专为快速提取主 IP 设计,不显示冗余字段。
1、在终端中输入:ipconfig getifaddr en0,回车执行(Wi-Fi 接口)。
2、如使用以太网,替换接口名:ipconfig getifaddr en1。
3、若返回为空,说明该接口未获得 IPv4 地址,可检查网络连接状态或执行 ifconfig en0 | grep status 确认是否 active。
三、通过 scutil 查询系统网络配置中的 IP 地址
scutil 命令直接读取 macOS 网络配置数据库,结果与“系统设置 > 网络”中显示一致,反映系统实际采用的地址策略。
1、启动终端,输入:scutil --nwi,查看当前网络接口名称及优先级。
2、根据上一步输出的接口名(如 en0),执行:scutil --dns | grep "nameserver" -A 1 | head -2 可辅助确认接口有效性。
3、结合路由信息反查 IP:route get default | grep interface | awk '{print $2}' | xargs -I {} ifconfig {} | grep "inet " | head -1 | awk '{print $2}'。
四、使用 curl 获取公网 IP 地址
当需要验证 NAT 后的出口地址或确认路由器映射是否生效时,该方法通过远程服务返回当前公网出口 IP,依赖互联网连通性。
1、确保已连接互联网,在终端中运行:curl ifconfig.me。
2、如遇超时或拒绝连接,可尝试备用服务:curl ipinfo.io/ip 或 curl api.ipify.org。
3、若提示 command not found,请先安装 curl:执行 xcode-select --install 后重试。
五、结合 networksetup 列出服务并定位对应 IP
networksetup 命令管理的是 macOS 的高层网络服务抽象层(如“Wi-Fi”、“以太网”),适合在存在多网络服务命名场景下精准匹配 IP。
1、列出全部网络服务名称:networksetup -listallnetworkservices。
2、查询指定服务的 IP 地址(需配合 ifconfig):networksetup -getinfo "Wi-Fi" | grep "IP address" | awk '{print $3}'。
3、若服务名为“Ethernet”,请将引号内文字替换,并注意大小写与空格一致性。










