当 IP 反查域名的参数可以自由叠加、组合数量趋于无限时,有效地址集合不能靠穷举定义,而要靠“可验证的归属证据 + 可复现的查询条件”来定义。换句话说,先确定哪些域名确实与目标 IP 存在可核验的关系,再把这些关系固化成可重复执行的筛选条件,而不是把参数表当成地址全集。
参数组合无限增长时,首先要承认一个事实:能拼接出的查询串数量是无限的,但真正有意义的地址数量是有限的。可归属地址指有证据支持其与目标 IP 相关的域名,例如解析记录、证书关联、历史解析痕迹或页面中明确标注的同一主体。可枚举地址只是参数排列出来的候选串,它本身不构成归属证据。
判断时可以用一个简单标准:如果把某个参数去掉,这个地址是否仍然能指向同一主体?能,它属于可归属地址;不能,它更可能是参数噪声。这个标准能帮你在无限组合中先砍掉大部分无效项。
假设你手里有一份旧系统导出的地址清单,格式类似 <ip>/<port>/<path>?v=<n>,其中 v 可以取任意整数。表面上看地址数量无限,但实际需要保留的可能只是那些在解析记录或证书里出现过的域名。
这个动作的结果会直接决定下一步:保留项进入细节核验,待退出项不再参与后续参数组合,集合规模从无限降到可管理。
定义集合时,规则必须能被别人重复执行。建议至少包含以下条件:
这三条同时满足才进入有效集合。只满足其中一条的地址,先放入观察区,不直接删除也不直接保留。
旧系统或旧合作关系退出时,不必一刀切。仍然有价值的通常是那些被外部引用的地址,例如仍出现在其他站点链接、证书覆盖范围或用户书签中的域名。处理方式是:
如果使用 robots.txt 限制抓取,要清楚它只影响爬虫行为,不等于把地址从索引中移除;站点地图提交也不保证收录。这两点决定了你不能用抓取限制来替代地址集合的清理。
最后一步是把定义写成一份可交接的规则文件或检查清单,内容包括:基础候选的生成方式、归属证据的核查项、保留与退出的判定阈值、观察期的长度。这样下一个人不需要重新推导参数组合,只需要按规则执行。
当参数组合继续增长时,这套规则的作用是让新增组合先经过归属证据过滤,而不是直接进入地址全集。集合的边界由证据决定,不由参数数量决定,这是处理无限增长时最实际的控制点。