Mac 本地网络 配置优化方案
软件搭配
- SwitchHosts
- AdguardHome : https://github.com/AdguardTeam/AdGuardHome#automated-install-linux-and-mac
- LittleSnitch
# 打印出到底是哪个进程在占用 53 端口
sudo lsof -i :53 -P| 特性 / 维度 | 💻 SwitchHosts | 🛡️ AdGuard Home | 🧱 Little Snitch |
|---|---|---|---|
| 软件定位 | 本地 hosts 文件快捷管理工具 | 全局 DNS 拦截与隐私防火墙 | macOS 专用的应用级网络防火墙 |
| 主要应用场景 | * 后端/前端开发本地环境切换 * 简单的域名静态重定向(如 127.0.0.1 myproject.test)* 手动拉取固定的阻断列表 | * 局域网/全机全局去广告与恶意追踪拦截 * 屏蔽恶劣高频设备心跳包 * 自建加密 DNS 服务器 | * 监控单个软件的联网行为 * 阻止特定 App 后台偷偷上传隐私或心跳包 * 发现并拦截未授权的入站/出站连接 |
| 工作机制 | 系统文件层:通过直接修改 macOS 系统的 /etc/hosts 文件,在系统发起网络请求的第一步(DNS 解析前)强行指定域名的 IP。 | DNS 层:作为本地的“域名翻译官”。当软件请求域名时,如果是黑名单域名,直接返回空 IP(0.0.0.0),在解析阶段将其阻断。 | 系统内核/网络扩展层:接管 macOS 的网络驱动。不管域名怎么解析,它直接监控**哪个进程(Process)**在往哪个 IP/域名发包,属于 IP/端口拦截。 |
| 使用方法 (如何配置维护) | 1. 手动添加规则(如 0.0.0.0 bad-telemetry.com)。2. 支持配置远程 URL 定时刷新(但不支持复杂的 AdGuard 过滤语法)。 | 1. 配置上游加密 DNS。 2. 在界面中添加支持正则、通配符的动态 DNS 黑白名单。 3. 自动 24 小时后台静默维护。 | 1. 运行时采用“交互模式”:有软件联网时弹窗询问“允许”或“拒绝”。 2. 可以在规则面板里针对特定 App 封杀特定域名或端口。 |
| 拦截颗粒度 | 最粗:只能精确匹配一个域名,不支持 *.com 这种泛解析,无法拦截特定端口。 | 中等:可以支持通配符和正则表达式(如 ` | |
| 系统资源占用 | 极低(只在切换文件时写入,日常运行几乎不占 CPU/内存)。 | 较低(作为一个轻量级后台服务,常驻处理 DNS 请求)。 | 中等(因为要实时审计网卡上每一个进出的数据包,对 CPU 会有一定常驻开销)。 |