查看和临时配置 macOS 网络接口的地址、状态、MTU 与收发统计。
ifconfig 是 macOS 查看网卡的首选命令:ifconfig -l 列出接口名,ifconfig en0 看地址、状态和计数器。macOS 没有 Linux 的 ip 命令,地址、链路状态、MTU、alias 都由 ifconfig 管理,路由则交给 route 和 netstat -rn。排查“有没有拿到 IP、网卡是否 up、是不是 DHCP 地址”时先跑它。
接口编号不固定:Apple Silicon 笔记本的 Wi-Fi 通常是 en0,Intel 台式机可能 en0 是以太网、en1 才是 Wi-Fi,USB 网卡常见 en5 以后。用 networksetup -listallhardwareports 把接口名和硬件端口对应起来,不要凭经验写死。utun* 是 VPN/隧道,bridge* 是虚拟网桥,awdl0/llw0 用于 AirDrop 与 Handoff,不是故障接口。
ifconfig 的修改只作用于当前运行状态:手工设置的 inet 会被 DHCP 续租覆盖,重启后消失;持久化要用 networksetup -setmanual、-setdhcp 或系统设置。ifconfig en0 down 会立即断开该接口,远程操作前先确认它不是当前 SSH 链路。
# 列出所有接口名,先确认 Wi-Fi 对应哪个 en*
% ifconfig -l
# 查看单个接口的地址、状态、MTU 和收发计数
% ifconfig en0
# 只取 IPv4 地址,脚本里常用
% ifconfig en0 | awk '/inet /{print $2}'
# 查看 MAC 地址
% ifconfig en0 ether
# 临时改 IP,重启或 DHCP 续租后会失效(示例网段)
% sudo ifconfig en0 inet 192.0.2.10 netmask 255.255.255.0
# 追加别名地址,保留原地址;不用时再删掉
% sudo ifconfig en0 alias 192.0.2.11 netmask 255.255.255.0
% sudo ifconfig en0 -alias 192.0.2.11
# 重启接口,处理“网卡卡死、DHCP 不刷新”
% sudo ifconfig en0 down
% sudo ifconfig en0 up
# 把接口名和硬件端口对应起来
% networksetup -listallhardwareports
networksetup -listallhardwareports,再决定操作哪个接口。inet 后一切正常,重启或续租就丢:ifconfig 不写配置,持久化改用 networksetup -setmanual "Wi-Fi" 192.0.2.10 255.255.255.0 192.0.2.1,服务名先用 networksetup -listallnetworkservices 查。sudo ifconfig en0 down 会切断该接口上的所有连接;Wi-Fi 上执行后可能连管理通道一起断,需本机或带外手段恢复。status: inactive 但地址还在:接口未关联或上级链路未就绪,先确认 Wi-Fi 是否连上,而不是反复改 IP。ioctl (SIOCAIFADDR): File exists:先 ifconfig en0 | grep alias 查重,再决定删哪个。netstat -rn -f inet 看完整路由表。合上页面,先回答,再展开对照。
sudo ifconfig en0 inet ... 设置的地址重启后就没了?status: inactive,应该先查什么?networksetup -listallhardwareports,用 Hardware Port 和 Device 的对应关系确认;不要假设所有 Mac 的 en0 都是 Wi-Fi。networksetup -setmanual 或系统设置,DHCP 环境下则用 -setdhcp。ifconfig en0 的状态和 netstat -rn 是否有路由,而不是直接改 IP。
小程序版
微信扫码,随时查命令