文章目录
- WhatWeb:1800 多个插件,扫一眼就知道网站用了什么技术
- 1、 它能识别什么
- 2、 四档攻击性,按需切换
- 3、 输出格式够多
- 4、 安装和基本用法
- 5、 性能调优
- 6、 适合谁用
WhatWeb:1800 多个插件,扫一眼就知道网站用了什么技术
WhatWeb 在 GitHub 上拿到了 6,670 Star。
这是一个网站指纹识别工具,专门回答一个问题:这个网站到底用了什么技术栈?CMS、JS 库、Web 服务器、统计工具、嵌入式设备,它都能认出来。
1、 它能识别什么
WhatWeb 内置了 1,800 多个插件,每个插件负责识别一种特定技术。
WordPress、Joomla、Drupal 这些主流 CMS 自不用说,连 Google Analytics、jQuery、Bootstrap 这些前端组件也能检测到。更细的层面,它能提取版本号、邮箱地址、账号 ID、SQL 报错信息、Web 框架模块。
识别手段有好几种:文本匹配、正则表达式、Google Hack Database 查询、MD5 哈希、HTML 标签模式,还有自定义 Ruby 代码做主动和被动探测。
举个例子,扫描 reddit.com 一次,它能返回 Cookie 名称、HTTP 头部、Open Graph 协议类型、安全策略配置(Strict-Transport-Security、X-Frame-Options),连经过的代理节点(Varnish)都能识别出来。
2、 四档攻击性,按需切换
WhatWeb 的扫描强度分四个等级。
等级 1 是默认模式,叫 Stealthy(隐蔽),只发一个 HTTP 请求,适合扫描公开网站。等级 3 是 Aggressive,如果等级 1 命中了某个插件,会触发额外请求做更深入的探测。等级 4 是 Heavy,所有插件的主动测试全部上阵,请求量大,但信息最全。
不同等级的结果差异很明显。同一个 phpBB 论坛,等级 1 只能识别出版本 2,等级 3 能精确到 2.0.20 以上。
3、 输出格式够多
WhatWeb 支持十多种输出格式:Brief(适合 grep)、Verbose(人读)、XML、JSON、MagicTree、RubyObject、MongoDB、ElasticSearch、SQL。
可以同时写入多个日志文件,也能把结果直接灌进 MongoDB 或 ElasticSearch 做后续分析。
4、 安装和基本用法
Ruby 环境下克隆仓库就能跑:
gitclone https://github.com/urbanadventurer/WhatWeb.gitcdWhatWeb ./whatweb example.com扫描本地网段:
whatweb --no-errors192.168.0.0/24只用特定插件:
./whatweb-pwordpress www.example.com开启激进模式:
./whatweb-a3www.wired.com5、 性能调优
线程数默认 25,可以通过--max-threads调整。连接超时默认 15 秒,读取超时 30 秒。
WhatWeb 会根据线程数自动优化输出性能:低线程数时实时刷新,高线程数时用缓冲减少 I/O 开销。需要实时监控的话,加--output-sync强制立即刷新。
扫描大量 IP 时,建议先用 massscan 之类的端口扫描器筛出开了 80 端口的主机,再喂给 WhatWeb,效率高很多。
6、 适合谁用
做渗透测试的安全人员,需要快速摸清目标网站的技术栈。做资产梳理的运维团队,要批量识别内部或外部站点用了哪些组件。做安全研究的人,想分析特定 CMS 或框架的分布情况。
这个项目从 2009 年一直维护到现在,最新版本 0.6.4 发布于 2026 年 4 月,插件库还在持续更新。
定 CMS 或框架的分布情况。
这个项目从 2009 年一直维护到现在,最新版本 0.6.4 发布于 2026 年 4 月,插件库还在持续更新。