Atmosphère DNS.mitm 上手:用一个 hosts 文件屏蔽遥测与重定向域名

发布时间:2026/10/5 1:45:20
Atmosphère DNS.mitm 上手:用一个 hosts 文件屏蔽遥测与重定向域名 Atmosphère DNS.mitm 上手用一个 hosts 文件屏蔽遥测与重定向域名【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere想让 Switch 不再偷偷上报使用数据或者想把某个域名悄悄指到自己家的地址上Atmosphère 的 DNS.mitm 功能做到这一点只需要写一个 hosts 文件——不用改系统代码也不用动路由器。它从 Atmosphère 0.18.0 开始内置默认就已经在替你拦截任天堂的遥测域名。30 秒上手写一个 hosts 文件丢进指定位置整个过程只有三步在 SD 卡的atmosphere文件夹下新建hosts目录SD:/atmosphere/hosts/在里面新建default.txt按一个 IP 一个或多个域名的格式写入规则重启系统规则即刻生效。最小可用示例# 把广告追踪域名指到本机连接会直接失败 127.0.0.1 ads.tracker-service.com # 把家里打印机的域名指到内网地址 192.168.1.50 printer.home.lan这里有两点要先说清楚。第一你其实什么都不写也有效。就算default.txt不存在Atmosphère 也会自动创建它并写入默认规则——把任天堂的遥测服务器receive-%.dg.srv.nintendo.net和receive-%.er.srv.nintendo.net指到127.0.0.1回环地址即本机自己指向它等于让连接必然失败。所以屏蔽遥测这项收益是开箱即得的。第二文件里的每一行就是谁 → 变成谁。左侧 IPv4 地址是重定向目标右侧域名可以写一个也可以写多个用空格隔开。规则怎么写通配符、% 占位符与冲突优先级标准 hosts 文件只有IP 域名DNS.mitm 在此基础上扩展了两个记号记号含义说明*通配符匹配域名中任意位置出现的任意一段字符*.tracker-service.com能同时盖住a.tracker-service.com、x.y.tracker-service.com%环境占位符展开为系统的环境标识environment identifier量产机上恒为lp1。写receive-%.dg.srv.nintendo.net就等于写receive-lp1.dg.srv.nintendo.net关于冲突记住两句话就够了同一个文件里同一个域名写了多条规则最后一条生效。所以想覆盖前面的写法把新规则往后放即可。默认遥测屏蔽规则永远排在你的文件内容之前。系统会先加载内置默认规则再加载你的文件——由于后定义者优先你写的规则天然能覆盖默认规则里同一个域名的指向。一个综合示例每行一个 IP可挂多个域名可混用通配符# 屏蔽整个广告追踪域 127.0.0.1 *.tracker-service.com # 覆盖默认规则让遥测域名解析到别的地址 0.0.0.0 receive-%.dg.srv.nintendo.net文件放哪里4 级查找顺序与 default.txt 的自动创建开机时或触发重解析时系统按下面顺序逐个尝试读到第一个存在的文件就停后面的不再看优先级路径何时被使用1/atmosphere/hosts/emummc_%04x.txt仅在 emummc 环境%04x用 emummc 的 id 填充为 4 位小写十六进制id 定义在emummc.ini2/atmosphere/hosts/emummc.txt仅在 emummc 环境作为通用 emummc 配置3/atmosphere/hosts/sysmmc.txt仅在物理 SD 卡sysmmc环境4/atmosphere/hosts/default.txt兜底任何情况都会用到 这个顺序的实用含义不同存储环境可以用不同的规则表。比如你在 emummc 里想额外屏蔽一批域名就建emummc_0001.txt不会影响 sysmmc 下的配置。关于default.txt的自动创建如果它不存在系统会在初始化时先建hosts目录、再创建该文件并写入默认遥测屏蔽内容# Nintendo telemetry servers 127.0.0.1 receive-%.dg.srv.nintendo.net receive-%.er.srv.nintendo.net为什么默认规则要强制前置因为用户自定义文件经常忘了跟着系统更新而更新。万一新版本改了遥测域名前置的默认规则仍能兜底把新域名屏蔽掉把遥测泄露的风险压到最低。三个开关总开关、默认规则、调试日志所有开关都写在 SD 卡atmosphere文件夹下的system_settings.ini的[atmosphere]段取值格式固定为u8!0x1开或u8!0x0关[atmosphere] enable_dns_mitm u8!0x1 add_defaults_to_dns_hosts u8!0x1 enable_dns_mitm_debug_log u8!0x0配置项默认值改成另一个值会发生什么enable_dns_mitmu8!0x1启用设为u8!0x0后整个 DNS.mitm 彻底关闭不再拦截任何域名遥测屏蔽也随之消失add_defaults_to_dns_hostsu8!0x1追加默认规则设为u8!0x0后不再前置默认遥测规则规则表完全由你的 hosts 文件决定——遥测域名想屏蔽就得自己写enable_dns_mitm_debug_logu8!0x0关设为u8!0x1后每次域名解析请求与命中情况都会写入调试日志排查用⚠️ 关闭add_defaults_to_dns_hosts后默认规则不再兜底。如果你的自定义文件里没写遥测域名系统更新换了新遥测域名时就会失守——除非你确认不需要否则保持默认即可。幕后原理一个查表的门卫如何接管 DNS先给个类比。把系统的 DNS 解析服务sfdnsres负责把域名翻译成 IP 地址想象成总机话务员。正常情况下任何进程要查域名都直接找话务员。DNS.mitm 做的事是在话务员门口安排了一个门卫命中规则表门卫直接递上答案——按你 hosts 文件里写的 IP 构造解析结果返回请求根本到不了真实话务员未命中门卫把请求原样转给话务员走正常的网络 DNS 解析。这个门卫是中间人代理MITMMan-In-The-Middle 的缩写即站在通信双方中间截获并代为处理的代理它从 0.18.0 起以模块形式挂在sfdnsres服务名上替系统服务截流。有几个特性值得留意没有白名单规则对系统里所有进程的解析请求一视同仁系统服务和游戏进程都在拦截范围内只认 IPv4重定向目标只能是 IPv4 地址如果某次解析被强制要求返回 IPv6 结果却命中了规则会直接触发断言失败默认规则前置规则表 内置默认规则 你的 hosts 文件内容顺序固定覆盖方向永远是自定义盖默认。如何确认生效看 atmosphere/logs 下的两个日志改完文件别猜翻日志最省事。两个文件都在SD:/atmosphere/logs/目录日志文件生成条件看什么dns_mitm_startup.log每次开机或重解析自动生成先删旧文件再重建实际选中了哪个 hosts 文件、是否追加了默认规则、最终生效的完整重定向列表逐条域名 → IPdns_mitm_debug.log需先把enable_dns_mitm_debug_log设为u8!0x1每一次解析请求逐条记录包括发起进程的程序 id 和是否命中了哪条重定向排查思路规则不生效时先看 startup 日志确认读的是不是我以为的那个文件——多数情况是文件放错位置被低优先级文件抢走了再开调试日志看具体请求有没有进规则表、被谁命中。另外hosts 文件只在启动时解析一次。不想重启也可以homebrew 程序可以向已连接的sfdnsres会话发送扩展 IPC 命令 65000AtmosphereReloadHostsFile触发重新解析这是 Atmosphère 的私有扩展命令普通解析调用不会触发它。避坑清单动手前记住这 6 件事文件只解析一次改完 hosts 不重启不会生效要么重启要么用 IPC 命令 65000 触发重解析。单文件上限 32 KiB超过0x8000字节的 hosts 文件会被整体拒绝解析写规则前先掂量体积。只支持 IPv4 重定向hosts 文件里别写 IPv6 目标地址被重定向的解析若强制要求 IPv6 结果还会触发断言。规则作用于全部进程没有白名单机制你的拦截会同时影响系统服务与游戏别把游戏必需的域名拦了。emummc 文件名里的 id 是 4 位小写十六进制emummc_%04x.txt由 emummc id 填充写错位数或大小写都匹配不上id 以emummc.ini为准。默认规则永远前置它先于你的文件加载所以后写优先意味着你的规则可以覆盖它——反过来关掉add_defaults_to_dns_hosts后遥测屏蔽就完全靠你自己维护了。参考链接特性文档docs/features/dns_mitm.md模块说明docs/components/modules/ams_mitm.mdDNS.mitm 源码目录stratosphere/ams_mitm/source/dns_mitm/配置模板config_templates/system_settings.ini【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询