Web-Check实战:3分钟搭建网站情报分析平台

27 次阅读 0 点赞 0 评论 10 分钟原创技术教程

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

#OSINT #安全工具 #Docker部署 #网站分析 #信息收集 #web-check
Web-Check实战:3分钟搭建网站情报分析平台

3 分钟搭建自己的网站情报分析平台——Web-Check 部署实战

不知道你有没有遇到过这种场景:拿到一个新客户的网站,或者安全评估前需要对目标做一次基础信息摸底,IP 是多少、SSL 证书有没有问题、用了什么技术栈、开了哪些端口、DNS 配得对不对……如果一个个用 digcurlnmapwhois 去查,费时不说还容易遗漏。

今天我要带大家一起搭建一个能把这些活一次性干完的开源工具 —— Web-Check。这个项目目前在 GitHub 上已经有 34k+ Star,它的核心能力就一句话:输入任意网站地址,一键拿到该网站的全方位技术画像,从 IP、SSL 链、DNS 记录,到技术栈、端口、HTTP 安全头、甚至碳足迹,全部可视化和 API 化。

读完这篇,你将:

  • 用 Docker 一条命令在本地跑起来
  • 理解它能查什么,以及查出来的数据怎么用
  • 通过 API 把分析能力集成到你自己的脚本或工具链中
  • 掌握自定义检查项、添加第三方 API Key 的高级用法

废话不多说,直接开干。

前置条件

项目 要求
系统 Linux / macOS / Windows (WSL)
运行时 Docker 已安装并运行(推荐)
或手动安装 Node.js ≥ 22.12 + Yarn
选装 chromiumtraceroute(部分高级检查项依赖,不装会自动跳过)

如果你还没有 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),避免工具被滥用造成法律风险。

常见问题与踩坑提醒

  1. 端口冲突:如果你本地 3000 端口已经被占了,可以改成其他端口:-p 8080:3000,然后访问 http://localhost:8080

  2. 部分检查项不显示结果:这是正常的。像 Traceroute、端口扫描、截图等功能依赖系统级工具(traceroutechromium)。如果没有安装,这些检查会被静默跳过。你可以选择安装对应包后重启容器。

  3. 请求超时:默认超时时间是 25 秒,如果目标网站响应很慢,可以通过 PUBLIC_API_TIMEOUT_LIMIT 调大,比如 -e PUBLIC_API_TIMEOUT_LIMIT=60000

  4. Docker 拉取慢:如果 Docker Hub 访问慢,可以用 GHCR 镜像:docker run -d -p 3000:3000 ghcr.io/lissy93/web-check

  5. 安全性提醒:这个工具的信息收集能力很强,但请务必遵守法律法规和道德规范,只用于授权测试、自有资产自查或公开研究,不要对未经授权的第三方网站进行恶意扫描。

总结

今天我们用 3 分钟搭建了一个功能完整的网站情报分析平台。回顾一下步骤:

  1. 一条 docker run 命令部署服务
  2. 通过 Web 界面或 API 查询目标网站
  3. 按需配置环境变量启用高级功能
  4. 将 API 集成到你自己的自动化工作流中

Web-Check 最吸引人的地方在于:把原本需要七八个工具才能完成的工作,压缩成了一个 URL 输入框。对于安全从业者来说,它是红队信息收集阶段的好帮手;对于运维和开发者来说,它是快速诊断网站配置、审查安全头、排查 SSL 问题的利器;对于站长来说,还能用它做 SEO 和性能体检。

下一步建议

  • 如果你做安全测试,可以把它和 nmap、subfinder、httpx 等工具组合使用
  • 如果你做运维,可以部署到公司内网,定期检查自家站点的 SSL 证书和安全头配置
  • 如果你想二次开发,它的 API 设计很清晰,可以基于此构建自己的安全巡检平台

如果你部署过程中遇到问题,欢迎在评论区讨论。觉得有用的话,别忘了去 GitHub 给作者点个 Star —— 开源项目需要这样的正向反馈。

最后更新:2026-08-10T10:03:20

评论 (0)

发表评论

blog.comments.form.loading
0/500
加载评论中...