networksetup 是 macOS 原生命令行工具,用于精确管理网络服务状态、IP 分配(DHCP/静态)及 DNS 设置;操作以服务名(如 "Wi-Fi")为单位,需先用 -listallnetworkservices 获取准确名称,再执行启用禁用、-setdhcp/-setmanual、-setdnsservers 等子命令。

如果您需要在 macOS 系统中通过命令行精确控制网络服务状态、IP 分配方式或 DNS 设置,则 networksetup 命令是系统原生支持的核心工具。该命令以“网络服务”为操作单位,每个服务(如 Wi-Fi、Ethernet)对应一个逻辑接口,所有配置均不依赖第三方软件且直接写入系统配置数据库。以下是具体操作步骤:
一、列出全部网络服务名称
networksetup 所有操作均需准确指定服务名称,而服务名与系统设置中显示的名称完全一致(含空格和大小写),必须先获取完整列表才能继续后续配置。
1、打开“终端”应用程序。
2、输入以下命令并回车:networksetup -listallnetworkservices
3、终端将输出当前系统中所有网络服务,例如:Wi-Fi、USB Ethernet、Thunderbolt Bridge、Bluetooth PAN;若某服务名称含空格,引用时必须用英文双引号包裹。
二、查看指定服务的当前网络参数
确认某服务是否启用 DHCP、实际分配的 IP 地址、子网掩码、默认网关及 DNS 服务器,是诊断连接异常或验证配置生效的关键依据。
1、从上一步结果中确认目标服务名称,例如 "Wi-Fi"。
2、执行命令:networksetup -getinfo "Wi-Fi"
3、若输出中包含 DHCP Configuration,表示由路由器自动分配地址;若显示 IP address: 后跟具体数值,则为静态配置模式。
三、启用或禁用指定网络服务
临时关闭某个网络接口可快速排除路由冲突或服务干扰,例如禁用蓝牙 PAN 避免其与 Wi-Fi 同时启用导致默认路由异常。
1、禁用服务(以 Bluetooth PAN 为例):sudo networksetup -setnetworkserviceenabled "Bluetooth PAN" off
2、启用服务(以 Wi-Fi 为例):sudo networksetup -setnetworkserviceenabled "Wi-Fi" on
3、执行后终端无任何输出即表示成功;若提示 "The specified service does not exist.",请返回第一步重新核对服务名称拼写是否完全一致。
四、切换 TCP/IP 配置模式(DHCP 与静态 IP)
开发测试环境或企业内网常需固定 IP 地址,此时需将服务从 DHCP 模式切换为手动配置,并指定地址、子网掩码和路由器;也可随时还原为自动获取模式。
1、设为 DHCP 自动获取(以 Ethernet 为例):sudo networksetup -setdhcp "Ethernet"
2、设为静态 IP(示例:IP 192.168.1.100,掩码 255.255.255.0,网关 192.168.1.1):sudo networksetup -setmanual "Ethernet" 192.168.1.100 255.255.255.0 192.168.1.1
3、清除当前手动设置并恢复 DHCP:sudo networksetup -setdhcp "Ethernet"
五、配置指定服务的 DNS 服务器
DNS 设置直接影响域名解析速度与准确性,networksetup 支持为单个服务独立指定 DNS 列表,不会影响其他网络接口的 DNS 配置。
1、设置自定义 DNS(覆盖系统默认,以 Wi-Fi 为例):networksetup -setdnsservers "Wi-Fi" 8.8.8.8 1.1.1.1
2、恢复为 DHCP 分配的 DNS:networksetup -setdnsservers "Wi-Fi" empty
3、查看当前 DNS 配置:networksetup -getdnsservers "Wi-Fi"

















