项目地址:https://github.com/benbenbendang/WebScan-Pro

WebScan Pro - 专业网址目录扫描工具用户手册

1. 工具概述与价值主张

WebScan Pro 是一款专为安全研究人员和渗透测试工程师设计的高性能网站目录扫描工具。它采用模块化架构设计,结合了强大的多线程扫描引擎与直观的图形用户界面(GUI),旨在帮助用户快速、准确地发现目标网站的隐藏资源、未授权访问接口及敏感文件。

image-20260206013816863

核心价值

  • 高效发现:基于连接池技术的多线程并发扫描,大幅提升扫描速度。
  • 灵活易用:同时提供专业的命令行(CLI)模式和现代化的图形界面(GUI),满足不同场景需求。
  • 智能监控:实时可视化展示扫描进度、状态码分布及网络响应情况。
  • 国际化支持:内置中英文双语界面,一键切换,打破语言障碍。

2. 系统要求与安装部署步骤

2.1 系统环境要求

  • 操作系统:Windows 10/11, macOS, Linux (Ubuntu/CentOS等)
  • 运行环境:Python 3.6 及以上版本
  • 依赖库:PyQt6, requests, rich, colorama

2.2 安装部署指南

  1. 获取源代码
    将项目下载或解压至本地目录:

    1
    2
    # 假设项目位于 webscan 目录
    cd webscan
  2. 安装依赖包
    使用 pip 安装所需的 Python 第三方库:

    1
    pip install -r requirements.txt

    注:如果下载速度较慢,建议配置国内镜像源。

  3. 验证安装
    运行以下命令查看帮助信息,确认环境正常:

    1
    python webscan.py --help

3. 功能模块详解

3.1 扫描引擎核心

采用 ThreadPoolExecutor 实现并发控制,配合 requests.Session 复用 TCP 连接,显著降低握手开销。

  • 智能重试:网络波动时自动重试(默认3次)。
  • WAF 绕过辅助:支持随机 User-Agent 切换和请求延时设置。

3.2 图形化交互界面 (GUI)

基于 PyQt6 开发的现代化界面,功能分区清晰:

  • 配置区:快速设置 URL、字典、线程数等参数。
  • 控制区:支持 开始暂停恢复停止 操作。
  • 结果区:实时表格显示发现的路径,不同状态码(200/300/400)使用红绿黄三色区分。

3.3 字典管理系统

  • 多字典组合:支持同时加载多个 TXT 字典文件。
  • 预置字典
    • common_dirs.txt: 常用目录(admin, backup, api…)
    • common_files.txt: 敏感文件(config.php, .git…)

3.4 状态码过滤与日志

  • 灵活过滤:支持 “仅2xx”、”2xx与3xx” 或自定义状态码过滤。
  • 自动报告:扫描结束后自动生成 logs/report_YYYYMMDD.txt,包含统计摘要和详细结果。

4. 标准使用流程与最佳实践

4.1 图形界面(GUI)模式(推荐)

适用于日常操作和结果分析。

  1. 启动程序

    1
    python webscan_gui.py
  2. 配置参数

    • 输入 Target URL (如 http://example.com)。
    • 点击 Select Dictionaries 选择一个或多个字典。
    • 根据网络状况调整 Threads (推荐 50-100) 和 Timeout
  3. 执行扫描:点击 Start Scan

  4. 实时监控:观察进度条和结果表格,必要时点击 Pause 暂停。

  5. 查看报告:扫描完成后,日志窗口会提示报告保存路径。

4.2 命令行(CLI)模式

适用于服务器环境或自动化脚本集成。

基本用法

1
python webscan.py -u http://target.com -d dictionary/common_dirs.txt

高级用法

1
2
# 指定50线程,超时5秒,启用随机延时0.5秒
python webscan.py -u http://target.com -d dictionary/common_dirs.txt,dictionary/common_files.txt -t 50 --timeout 5 --delay 0.5

4.3 最佳实践

  • 避免封禁:对防护较严的目标,建议将线程数降至 10-20,并设置 Delay 为 1-2 秒。
  • 精准扫描:先使用小字典快速探测,发现指纹后再挂载特定的大字典。
  • 结果验证:关注 3xx 重定向和 403 禁止访问的路径,往往包含重要信息。

5. 常见问题排查与解决方案

问题现象 可能原因 解决方案
GUI 无法启动 缺少 PyQt6 库或环境不兼容 运行 pip install PyQt6,确保 Python 版本 >= 3.6
扫描速度极慢 目标服务器响应慢或线程数过低 增加线程数(如 100),或检查网络连接
全部返回 Connection Error 目标无法访问或触发了 WAF 检查 URL 是否正确,尝试降低速度或更换 IP
中文显示乱码 终端编码设置问题 确保终端使用 UTF-8 编码,GUI 模式通常无此问题
字典加载失败 字典文件编码非 UTF-8 确保字典文件为 UTF-8 格式,或在加载时忽略错误

6. 版本更新记录与兼容性说明

v1.0.0 (当前版本)

  • 发布日期:2023-10
  • 主要特性
    • 完成核心扫描引擎与 CLI/GUI 双模式开发。
    • 实现中英文双语界面切换。
    • 集成 Rich 终端美化库。
  • 兼容性
    • 完全兼容 Windows 10/11。
    • 兼容主流 Linux 发行版(需安装图形库支持 GUI)。

7. 技术支持联系方式与贡献指南

本工具由 Bend 开发维护。

  • 官方网站www.nbphp.cn
  • 问题反馈:请通过 GitHub Issues 或邮件联系作者。
  • 贡献代码:欢迎提交 Pull Request,包括但不限于新功能开发、Bug 修复及字典补充。

免责声明

本工具仅供网络安全从业人员进行授权测试企业自查使用。严禁用于任何非授权的非法攻击行为。使用者需自行承担因使用本工具产生的一切法律责任。