技术检测(TechDetect)
🔍 `pkg/techdetect/techdetect.go` — 识别目标网站技术栈。
pkg/techdetect 通过分析 HTTP 头、HTML、Cookie、JS 全局变量等指纹,推断目标使用的前端框架、CMS、服务器、分析工具等。
核心类型
| 符号 | 源码 | 说明 |
|---|---|---|
Technology | L11 | 一项技术定义 |
Fingerprint | L18 | 单条指纹规则 |
Detector | L31 | 检测器 |
NewDetector() | L42 | 构造(含内置规则) |
(*Detector) Detect(evidence) | L67 | 执行检测 |
DefaultTechnologies | L120 | 内置规则集 |
指纹维度
Fingerprint 可在多个维度匹配:
| 维度 | 来源 | 示例 |
|---|---|---|
Headers | HTTP 响应头 | Server: nginx、X-Powered-By: Express |
HTML | 页面 HTML | <meta name="generator" content="WordPress"> |
Cookies | Set-Cookie 名 | session_id、csrftoken |
ScriptSrc | <script src> | jquery.js、react.production |
Meta | meta 标签 | generator、viewport |
JS | JS 全局变量 | window.React、window.Vue |
Detect 流程
Technology 字段
| 字段 | 说明 |
|---|---|
Name | 技术名(如 nginx、React) |
Category | 分类(Web servers、JS frameworks) |
Version | 推断版本(可能为空) |
Confidence | 置信度 0~1 |
Matches | 命中的指纹详情 |
内置规则
DefaultTechnologies 内置常见技术规则,覆盖主流 CMS、框架、服务器、CDN、分析工具。可自行扩展 Detector.Technologies 加自定义规则。
与采集的衔接
零成本附加,截图即有技术栈
Detect 输入是 Result 中已采集的证据(Headers/HTML/Cookies/JS),无需额外请求。技术检测在每次截图后自动跑,不增加网络开销——只要截了图,就有技术栈结果。
见 技术检测(进阶)。