在 Windows 中,ipconfig 是一个核心的网络诊断工具,而在 macOS(和其前身 macOS)中,对应的工具是 ifconfig 和 ipconfig,这两个命令的用途有所不同,但都与网络配置和诊断有关。

核心摘要:Windows ipconfig vs. macOS 命令
| 功能需求 | Windows 命令 | macOS 命令 | 说明 |
|---|---|---|---|
| 查看所有网络接口的 IP 信息 | ipconfig |
ifconfig |
ifconfig 显示更详细的技术信息,类似 ipconfig /all。 |
| 刷新或重新获取 DHCP IP 地址 | ipconfig /renew |
sudo ipconfig set en0 DHCP |
macOS 需要指定网络接口名(如 en0),且需要管理员权限。 |
| 释放当前 DHCP IP 地址 | ipconfig /release |
sudo ipconfig set en0 RELEASE |
同上,需要指定接口名和管理员权限。 |
| 刷新 DNS 缓存 | ipconfig /flushdns |
sudo dscacheutil -flushcache |
macOS 有专门的命令来刷新 DNS 解析器缓存。 |
| 显示 DHCP 配置信息 | ipconfig /all |
ipconfig getpacket en0 |
只显示特定接口的 DHCP 详细信息。 |
查看网络信息:ifconfig (最常用)
ifconfig (interface configure) 是查看和管理网络接口信息的主要命令,它显示所有网络接口(如 Wi-Fi、以太网、蓝牙等)的详细配置。
如何使用
-
打开“终端” (Terminal):你可以在“应用程序” > “实用工具”文件夹中找到它,或者使用 Spotlight 搜索(按
Cmd + 空格键)输入Terminal并回车。 -
输入
ifconfig命令:ifconfig
输出解读
运行 ifconfig 后,你会看到类似下面的输出,每一部分代表一个网络接口:

# 本地回环接口,通常总是活动的
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,TXCSUM_IPV6>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
# 有线以太网接口 (名称可能不同,如 en0, en1)
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether a1:b2:c3:d4:e5:f6
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::a1b2:c3ff:fed4:e5f6%en0 prefixlen 64 secured scopeid 0x8
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
# 无线 Wi-Fi 接口 (通常是 en0)
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether f1:e2:d3:c4:b5:a6
inet 192.168.1.105 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::f1e2:d3ff:fec4:b5a6%en0 prefixlen 64 secured scopeid 0x8
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
关键字段解释:
en0:网络接口的名称。en0通常是内置的有线网卡或 Wi-Fi 卡,en1可能是另一个以太网口或 USB 网卡。flags:接口的状态标志。UP表示接口已启用,RUNNING表示正在运行。inet:IPv4 地址。168.1.100。netmask:子网掩码。0xffffff00对应255.255.0。broadcast:广播地址。ether:MAC 地址(物理地址)。status: active:接口已连接并正常工作,如果显示inactive,则表示接口已禁用或未连接。
刷新 DHCP 和 DNS
这部分功能与 Windows ipconfig /renew 和 ipconfig /flushdns 最相似。
a. 刷新 DHCP (重新获取 IP 地址)
当你遇到网络连接问题,怀疑是 IP 地址冲突或租约到期时,可以刷新 DHCP。
重要: 你需要知道你的网络接口名称(通常是 en0 代表 Wi-Fi/有线网),可以通过 ifconfig 查看。

步骤:
-
释放当前 IP 地址:
sudo ipconfig set en0 RELEASE
输入你的登录密码(输入时不会显示任何字符,这是正常的),然后按回车。
-
重新获取 IP 地址:
sudo ipconfig set en0 DHCP
再次输入密码并回车。
你的 macOS 会向路由器请求一个新的 IP 地址,你也可以直接重启网络服务:sudo ifconfig en0 down && sudo ifconfig en0 up。
b. 刷新 DNS 缓存
如果你无法访问某个网站,但其他人可以,这很可能是本地 DNS 缓存的问题,刷新 DNS 缓存可以强制 macOS 重新向 DNS 服务器查询网站 IP 地址。
方法 1 (推荐,适用于 macOS 12 Monterey 及更新版本):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
方法 2 (适用于旧版 macOS):
sudo dscacheutil -flushcache
执行后,终端会返回提示,表示缓存已刷新。
macOS 真正的 ipconfig 命令
macOS 确实有一个名为 ipconfig 的命令,但它主要用于配置和显示更底层的网络信息,特别是与 BootP 和 DHCP 相关的配置。
常用子命令
-
ipconfig getpacket <interface>显示指定接口(如en0)从 DHCP 服务器收到的完整信息包,包括你的 IP、子网掩码、路由器地址、DNS 服务器、租约开始/结束时间等,这类似于 Windows 的ipconfig /all。ipconfig getpacket en0
输出示例:
dhcp_message_type: 5 server_identifier: 192.168.1.1 lease_time: 86400 subnet_mask: 255.255.255.0 router: 192.168.1.1 domain_name_server: 192.168.1.1 ... -
ipconfig getifaddr <interface>快速获取指定接口的 IPv4 地址。ipconfig getifaddr en0 # 输出: 192.168.1.105
总结与快速参考
| Windows 命令 | macOS 等效命令 | 何时使用 |
|---|---|---|
ipconfig |
ifconfig |
快速查看所有网络接口的 IP、MAC 地址和状态。 |
ipconfig /all |
ifconfig 或 ipconfig getpacket en0 |
ifconfig 查看所有信息;ipconfig getpacket 查看详细的 DHCP 信息。 |
ipconfig /renew |
sudo ipconfig set en0 DHCP |
IP 地址获取失败时,强制重新获取。 |
ipconfig /release |
sudo ipconfig set en0 RELEASE |
在 renew 之前,先释放当前 IP。 |
ipconfig /flushdns |
sudo dscacheutil -flushcache |
无法访问某些网站,怀疑是 DNS 缓存问题。 |
对于大多数日常网络诊断,ifconfig 是你最需要记住的命令,对于刷新 IP 和 DNS,使用上面提到的特定命令即可。
