piapia123
zh

hosts 文件生成与解析

网络

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

`hosts` 的格式简单到「一行 IP 加主机名」,但有几条不写出来就会被忽略的规则:一行可以有多个主机名(互为别名)、`#` 之后是注释(整行或行内)、IP 与主机名之间空格和 Tab 都行、`0.0.0.0` 是「屏蔽」写法。这个工具把这两件事都做了:解析一整份 hosts 时逐条列出 `IP → 主机名`,并检查非法 IP、重复的 IP、重复的主机名、IPv6 条目与屏蔽条目;生成时把「一行一个主机名」补成一份带注释头的 hosts 文件。 解析与生成全部在你的浏览器里完成,不联网、不上传文件内容。

功能

  • 解析模式逐条列出 IP → 主机名
  • 一行的多个主机名分别列出,不被合并
  • # 注释与行内注释分开处理
  • 检查非法 IP、重复的 IP、重复的主机名
  • 标出 IPv6 条目与 0.0.0.0 屏蔽写法
  • 生成模式把一行一个主机名补成 hosts 文件
  • IP 与主机名之间空格或 Tab 都认
  • 全部在浏览器本地完成,不联网

使用方法

  1. 选「解析」或「生成」
  2. 解析:粘贴整份 hosts 内容
  3. 生成:一行一个主机名,可写成「IP 主机名」,也可留空由默认 IP 补上
  4. 复制生成的 hosts 文件或检查结果

常见问题

0.0.0.0 和 127.0.0.1 屏蔽有什么区别?
两者都能让域名解析不到真实地址,但 `0.0.0.0` 更常用也更稳:它指向一个无效地址,连接会立刻失败;而 `127.0.0.1` 会把域名指到本机,如果本机恰好有服务在监听那个端口,反而可能连上一个意料之外的东西。所以现代广告屏蔽列表基本都用 `0.0.0.0`。
一行能写几个主机名?
不限个数。同一行的多个主机名互为别名,解析到同一个 IP —— `127.0.0.1 a.local b.local` 让两个名字都指向本机。这个工具解析时会把它们逐个列出(而不是合成一个),生成时也支持写成 `IP 主机名1 主机名2`。
为什么重复的主机名要提醒?
因为同一个主机名在不同行指向不同 IP 时,只有第一条生效,后面的会被忽略 —— 这是一处很容易让人困惑的「改了没反应」。工具把重复项标出来,让你能确认是不是留下了过期的旧条目。
hosts 文件在哪?改完要重启吗?
Linux 与 macOS 在 `/etc/hosts`,Windows 在 `C:\Windows\System32\drivers\etc\hosts`,都需要管理员权限。改完通常立即生效,不需要重启系统;但浏览器可能缓存了 DNS 结果,重启浏览器或者清一下系统 DNS 缓存(Windows 是 `ipconfig /flushdns`)就能看到变化。

相关工具