Web-Check实战:3分钟搭建网站情报分析平台
本文手把手教你使用 Docker 快速部署 Web-Check。部署完成后,通过直观的 Web 界面或 RESTful API,一键获取目标网站的 IP、SSL 证书、DNS 记录、开放端口、技术栈及安全配置,助你高效完成安全信息收集、资产自查与自动化巡检集成。

3 分钟搭建自己的网站情报分析平台——Web-Check 部署实战
不知道你有没有遇到过这种场景:拿到一个新客户的网站,或者安全评估前需要对目标做一次基础信息摸底,IP 是多少、SSL 证书有没有问题、用了什么技术栈、开了哪些端口、DNS 配得对不对……如果一个个用 dig、curl、nmap、whois 去查,费时不说还容易遗漏。
今天我要带大家一起搭建一个能把这些活一次性干完的开源工具 —— Web-Check。这个项目目前在 GitHub 上已经有 34k+ Star,它的核心能力就一句话:输入任意网站地址,一键拿到该网站的全方位技术画像,从 IP、SSL 链、DNS 记录,到技术栈、端口、HTTP 安全头、甚至碳足迹,全部可视化和 API 化。
读完这篇,你将:
- 用 Docker 一条命令在本地跑起来
- 理解它能查什么,以及查出来的数据怎么用
- 通过 API 把分析能力集成到你自己的脚本或工具链中
- 掌握自定义检查项、添加第三方 API Key 的高级用法
废话不多说,直接开干。
前置条件
| 项目 | 要求 |
|---|---|
| 系统 | Linux / macOS / Windows (WSL) |
| 运行时 | Docker 已安装并运行(推荐) |
| 或手动安装 | Node.js ≥ 22.12 + Yarn |
| 选装 | chromium、traceroute(部分高级检查项依赖,不装会自动跳过) |
如果你还没有 Docker,去 docker.com 装一个就行,整个过程不需要超过 5 分钟。对于日常做后端和运维的读者,Docker 应该已经是标配了。
快速上手:Docker 一行命令启动
为什么要先用 Docker?因为这个项目自带构建好的镜像,你不需要关心依赖安装、编译这些琐碎事。执行:
bash
docker run -d -p 3000:3000 --name web-check lissy93/web-check
这里我加了 -d 让容器后台运行,--name 方便后续管理。端口映射 3000:3000 意味着你访问 http://localhost:3000 就能打开 Web 界面。
启动后,打开浏览器访问 http://localhost:3000,你会看到一个简洁的输入框,输入一个域名(比如 github.com),点击提交,仪表盘就会逐步加载各项检查结果。
为什么它比手工查快? 传统方式你需要分别查 DNS(dig/nslookup)、查 SSL(openssl s_client)、查开放端口(nmap)、查技术栈(BuiltWith/Browser DevTools),而 Web-Check 把这些能力都封装好了,一次请求跑完所有检查并汇总展示。
如果你想从源码部署
有些同学想自己改源码或者在本地做二次开发,那就需要手动构建:
bash
git clone https://github.com/Lissy93/web-check.git
cd web-check
yarn install
yarn build
yarn start
注意这里需要 Node.js ≥ 22.12 版本,以及 Yarn 包管理器。yarn build 会编译前端和后端,yarn start 同时启动 API 服务和 GUI 界面。
实战示例:用 Web-Check 做一次完整的网站画像
光跑起来还不够,我们拿一个真实网站来做一次完整的情报收集,我选 baidu.com 作为目标。在 Web-Check 界面输入 baidu.com 后,等待它逐项分析,你会看到以下几大类信息:
1. 基础设施信息
- IP 信息:域名解析到的 IP 地址、地理位置、ISP 服务商
- SSL 证书链:证书颁发者、有效期、是否过期
- DNS 记录:A/MX/NS/CNAME/TXT 记录全量展示
- 开放端口:常用端口的扫描结果
- Traceroute:数据包经过的路由路径
2. 安全配置
- HTTP 安全头:HSTS、CSP、X-Frame-Options、X-Content-Type-Options 等
- DNSSEC:是否启用了 DNS 安全扩展
- 防火墙检测:是否部署了 WAF(Web Application Firewall)
- SSL/TLS 配置:加密套件、握手模拟、安全评分
3. 技术与运营
- 技术栈:使用 Wappalyzer 引擎识别框架、CMS、JS 库等
- HTTP 响应头:服务器类型、缓存策略、压缩方式
- Cookie & Session:Cookie 属性、是否有 Secure/HttpOnly 标记
- 邮件安全:SPF、DKIM、DMARC 配置状态
- 收录与历史:Sitemap 结构、Wayback Machine 存档历史
4. 附加维度
- 碳足迹评估:基于页面大小和传输量估算环境影响
- 全球排名:Tranco 项目流量排名
- 安全报告文件:
security.txt是否存在 - 社交标签:Open Graph、Twitter Card 等 SEO 元数据
小建议:如果你在做渗透测试前的信息收集阶段,重点看 DNS 记录(可能暴露内部子域名)、开放端口(非标准端口可能意味着内部服务)、SSL 证书(可能暴露组织名和关联域名)。这些东西在红队评估中非常有用。
API 调用:把能力集成到你的工具链
Web-Check 除了提供 Web 界面,还暴露了一个完整的 API。这意味着你可以用 curl、Python、或者你自己的后端服务来调用。
API 默认挂载在 /api 路径下。比如查询某个域名的信息:
bash
curl "http://localhost:3000/api?url=baidu.com"
这个请求会触发所有检查项并返回 JSON 结果。如果你只想跑部分检查,可以用 API_ENABLED_CHECKS 环境变量控制,例如只查 IP、SSL 和 DNS:
bash
docker run -d -p 3000:3000 \
-e API_ENABLED_CHECKS=get-ip,ssl,dns,headers \
--name web-check-lite lissy93/web-check
这里 -e 传入的环境变量会让服务只执行指定的检查,大幅减少响应时间。对于自动化脚本或者需要高频调用的场景,按需开启检查是个好习惯。
进阶配置:让能力更进一步
默认配置下,Web-Check 的大部分功能开箱即用。但如果你想要更完整的数据,可以补充一些第三方 API Key:
| 环境变量 | 作用 |
|---|---|
GOOGLE_CLOUD_API_KEY |
启用 Lighthouse 性能分析(PageSpeed Insights) |
REACT_APP_SHODAN_API_KEY |
显示 Shodan 关联主机信息 |
REACT_APP_WHO_API_KEY |
更详细的 Whois 记录 |
API_DISABLED_CHECKS |
禁用的检查项,逗号分隔 |
API_BLOCKED_HOSTS |
禁止扫描的内网地址,安全红线 |
比如在你的 .env 文件中添加:
env
GOOGLE_CLOUD_API_KEY=你的Google API Key
API_DISABLED_CHECKS=trace-route,carbon
注意:带
REACT_APP_前缀的变量会被注入到前端代码中,属于公共可见信息。请务必做好权限限制,不要用自己的主账号 Key。
如果你部署在云服务器上,建议通过 API_BLOCKED_HOSTS 设置禁止扫描的内网段(如 192.168.0.0/16,10.0.0.0/8),避免工具被滥用造成法律风险。
常见问题与踩坑提醒
-
端口冲突:如果你本地 3000 端口已经被占了,可以改成其他端口:
-p 8080:3000,然后访问http://localhost:8080。 -
部分检查项不显示结果:这是正常的。像 Traceroute、端口扫描、截图等功能依赖系统级工具(
traceroute、chromium)。如果没有安装,这些检查会被静默跳过。你可以选择安装对应包后重启容器。 -
请求超时:默认超时时间是 25 秒,如果目标网站响应很慢,可以通过
PUBLIC_API_TIMEOUT_LIMIT调大,比如-e PUBLIC_API_TIMEOUT_LIMIT=60000。 -
Docker 拉取慢:如果 Docker Hub 访问慢,可以用 GHCR 镜像:
docker run -d -p 3000:3000 ghcr.io/lissy93/web-check。 -
安全性提醒:这个工具的信息收集能力很强,但请务必遵守法律法规和道德规范,只用于授权测试、自有资产自查或公开研究,不要对未经授权的第三方网站进行恶意扫描。
总结
今天我们用 3 分钟搭建了一个功能完整的网站情报分析平台。回顾一下步骤:
- 一条
docker run命令部署服务 - 通过 Web 界面或 API 查询目标网站
- 按需配置环境变量启用高级功能
- 将 API 集成到你自己的自动化工作流中
Web-Check 最吸引人的地方在于:把原本需要七八个工具才能完成的工作,压缩成了一个 URL 输入框。对于安全从业者来说,它是红队信息收集阶段的好帮手;对于运维和开发者来说,它是快速诊断网站配置、审查安全头、排查 SSL 问题的利器;对于站长来说,还能用它做 SEO 和性能体检。
下一步建议:
- 如果你做安全测试,可以把它和 nmap、subfinder、httpx 等工具组合使用
- 如果你做运维,可以部署到公司内网,定期检查自家站点的 SSL 证书和安全头配置
- 如果你想二次开发,它的 API 设计很清晰,可以基于此构建自己的安全巡检平台
如果你部署过程中遇到问题,欢迎在评论区讨论。觉得有用的话,别忘了去 GitHub 给作者点个 Star —— 开源项目需要这样的正向反馈。