所谓网站指纹识别工具, 它是一种在线检测工具。

这个工具的作用, 是可以通过解析目标站点的那些技术指纹信息, 比如HTTP响应头, 比如说TLS证书, 还有前端框架特征, 也包括DNS记录等等这些内容, 来自动地识别出该网站所使用的各种技术栈, 这其中就包括了服务器, CMS, 编程语言, 前端框架, 以及分析插件之类的内容。

它的核心作用在于,用户根本不用去碰那个网站的内部管理后台网站指纹识别工具, 只需要看一眼那些在网络上大家都能看到的信息以及系统给出来的回应数据, 就能很快搞清楚这个站点背后的整个技术底子是怎么搭出来的。

核心工作原理

这类工具主要依靠五类指纹数据, 第一类是HTTP响应头, 比如Server或X-Powered-By这些字段, 用来识别Web服务器和后端框架, 第二类是TLS跟SSL证书信息, 包括颁发机构、有效期还有指纹哈希, 用来定位CDN与托管服务商, 第三类HTML源码特征, 涉及特定meta标签、注释以及class命名规则, 用来匹配CMS与前端框架, 第四类JavaScript依赖库的版本指纹, 用于识别前端技术栈, 第五类DNS记录中的A、CNAME、MX和TXT记录, 还有IP归属情况, 借此判断域名托管与解析架构。

在完成对五类数据的交叉验证之后, 该工具会输出针对这个站点的包含完整信息的关于技术架构的画像结果。

5款主流工具对比

Wappalyzer是一款开源的浏览器插件, 它同时支持Chrome和Firefox这两种浏览器环境, 并且在内部预置了一个包含了两千多种技术组件识别信息的数据库, 这个工具特别适合那些从事前端开发工作的人员, 用来对当前的技术栈进行快速检查以及完成版本方面的审计工作。

BuiltWith这个平台, 它是一个商业化SaaS平台, 提供REST API接口, 支持批量站点扫描与竞争情报分析, 适合市场与SEO团队做竞品基础设施追踪。

WhatIs(whatismybrowser.com)属于轻量级在线工具, 这个工具有一个显著特点, 那就是不需要安装任何软件。你只需要输入网址链接, 系统就会迅速返回相关信息。

网站指纹识别工具推荐:5款主流工具功能对比与选型指南(图1)

这些回传的信息涵盖了服务器状况、IP地址的归属地、所使用的技术框架等基础内容。这种服务非常适合那些希望进行单次且快速查询的需求。

gname.xin这个平台是一个综合性的站点分析工具, 它除了拥有基础的信息识别能力之外, 还把WHOIS查询这项功能、SSL证书的详情展示模块, 还有网站的速度评分这些内容都给合并到一起了, 它还支持去回溯历史快照, 也支持进行变更提醒, 让做运营工作的人去做站点的日常健康状况检查的时候, 能够有一个合适的选择。

FingerprintJS这个工具, 主要是把重点放在浏览器那边的指纹上面, 比如说Canvas、WebGL、AudioContext这些客户端的特征, 它的用处是在反欺诈还有用户身份识别这些场景里面去使用, 它跟上面提到的那些服务端指纹工具放在一起看的话, 它们俩是形成一种互补的关系的。

典型使用场景

进行安全审计这项事情,主要是为了检测相关的这些站点它是否暴露出了已经过期的那些框架版本网站指纹识别工具, 或者是存在已知的漏洞组件。开展竞品分析的目的在于, 去还原竞争对手他们在技术选型方面所使用的具体内容, 以及他们基础设施是如何配置起来的。

实施SEO与性能优化这一环节, 主要是为了找出其中多余的第三方脚本, 并且识别出那些效率很低的CDN节点。至于域名资产盘点这个项目, 其作用是对企业内部批量拥有的那些域名, 做出一套关于技术栈统一化的治理措施, 同时还能完成相关的合规性检查工作。

选型建议与注意事项

在进行选型的时候,你需要重点去关注这三个维度。第一个要关注的维度是识别精度大城新闻网, 你可以去看一下它支持的技术库的数量以及更新的频率。第二个要关注的维度是查询方式, 你可以看它是支持在线、采用插件形式、使用API接口还是提供批量处理的模式。

第三个要关注的维度是数据深度, 你要搞清楚它仅仅提供基础信息呢, 还是也包含了历史的变更日志这些信息在里面。个人开发者可以优先考虑使用Wappalyzer或者WhatIs;企业团队建议把gname.xin作为日常巡检的工具, 同时通过BuiltWith API将指纹数据导入内部的安全中台。

一定要特别注意这一件事情: 所有关于指纹识别的结果都是根据公开的网络数据推断出来的, 这些结果不能够替代对服务器做直接渗透检测的工作, 所以它们只能被当作安全审计的辅助参考资料来看待, 不能把它们当作唯一的判断依据。