上周六下午,我把一台 2014 年的 ThinkPad 从床底下拖出来。电池鼓了,键盘上有一层灰。开机后风扇响得像有人在里面吹口哨。
它还能连上网。我打开浏览器,很慢,先加载了一个空白页,再加载了一个。桌面左边有一个文件夹,叫 `net`。里面是十几个 txt 文件。
其中一个文件名是 `x23133_count.txt`。创建时间 2019 年 3 月 14 日,22:41。
打开看。第一行写着:`api.x23133.com — 203.0.113.47`。
我盯着那行看了很久。
这是我第一次系统性做子域名查询时留下的结果。当时用的不是在线工具,是一个叫老周的人发给我的 shell 脚本。他在一个电报群里,头像是一只灰色的猫。脚本只有 40 行,用的是 `dig` 和一份 3000 词的字典。
那天晚上我跑了四个小时。字典里包括 `www`、`api`、`mail`、`cdn`、`dev`、`test`、`staging`、`admin`,还有很多现在想不起来的词。最后跑出来 27 个子域名。
其中 6 个返回 200。剩下的是 403、502、或者连接超时。我逐个打开看,大部分是空白页,一个是一个旧的物流系统登录框,还有一个是某家公司的员工门户,标题写着「欢迎回来,陈工」。
我没有再往下点。那时候我就知道,在线工具查出来的东西,和自己手工去摸的东西,信任度完全不一样。
说实话,我至今不信任市面上大部分「一键查询」的子域名平台。它们把数据打包,把来源藏起来,把时间戳抹掉。你拿到一张看起来很完整的列表,却不知道哪一条是这个月才发现的新资产,哪一条三年前就已经废弃。
这句话可能有点刺人,但我认了:在线子域名查询工具,最方便,也最懒。它适合快速摸底,不适合下判断。
判断要靠时间。
2021 年我又查过一次。x23133.com 的子域名数量从 27 涨到了 41。新增的里面有一个 `beta-pay`,返回一个很干净的 Bootstrap 页面。我截了图,存在 `~/Pictures/x23133/` 目录里。那个目录现在还有 63 张图。
当时有个朋友在做支付聚合,我把这张图发给他。他回我一句:「这个风格,像是出自一个叫林汀的人之手。」
我没追问。后来查了查,林汀是 2016 年前后在一家做跨境结算的公司待过的前端,GitHub 上只有三个仓库,其中一个 README 里写着「不要在生产环境用这个」。
有意思的是,那个 `beta-pay` 页面到今天已经打不开了。但 DNS 记录还在。A 记录指向 198.51.100.23,没有 PTR,没有 CDN。
像一间灯灭了的房间,门牌还挂着。
再说一件具体的。去年 11 月,我试过一次 AXFR 区域传送。目标不是 x23133.com,是一个不相关的域。命令很简单:`dig axfr @ns1.example.com example.com`。结果被拒绝。服务器返回 `Transfer failed`。
我坐在椅子上,没有关终端,就让那行红字亮着。旁边放着一杯凉了的茶,杯底有一圈茶渍。那一刻我忽然想起 2019 年那个夜晚,风扇声、键盘声、以及第一次看到 27 这个数字时心里那种说不清的踏实。
后来我关掉了所有在线查询页。
现在我做子域名查询,只用三样东西:`dig`、`curl`、一张自己维护的字典。字典现在有 8600 个词,每加一个词,我都知道为什么加。这不高效,但够诚实。
这篇笔记里会穿插一些我以前存下的链接。有些和 x23133.com 无关,只是那段时间我顺手记下的东西。比如 美女姐姐帮我破戒,比如 无畏契约入口官网,再比如 qctv13.cc。它们和域名查询一样,都是某个下午我点开过、然后留在浏览器历史里的东西。
还有 种子吧,以及 健壮男子柔道部 中文游戏 下载。前者是我在找一份字典时误入的,后者是一个老同学发来的链接,他说「你肯定不玩,但我知道你会点开看」。他说对了。
这些链接不构成任何推荐。它们只是时间的痕迹。
如果你也在查 x23133.com,我只有一句建议:慢一点。把每一条结果记下来,写上日期,写上返回码,写上你当时在想什么。半年后回看,你会看到完全不一样的东西。
那才是查询真正的价值。
那天下午,旧笔记本在五点左右自动关机。电池彻底不行了。我把 `x23133_count.txt` 拷到 U 盘,然后把机器合上,放回床底。
风扇停了。房间很安静。