Dirsearch Web 路径扫描工具:安装、核心用法与实战案例
Dirsearch 是一款高效、多线程的 Web 路径扫描工具,专为渗透测试人员和网络安全研究人员设计。它能快速发现目标网站的隐藏目录、敏感文件及未授权接口,支持自定义字典、代理配置和请求头伪装等功能。
环境准备
确保已安装 Python 环境,推荐使用 pip 进行安装。
pip install dirsearch
如果依赖项较多,建议升级并安装 requirements:
pip install --upgrade -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
核心用法
运行 python dirsearch.py -h 可查看完整帮助文档。以下是实际工作中最常用的参数组合与场景解析。
基础扫描
单目标扫描 这是最基础的用法,指定目标 URL 和需要扫描的文件扩展名。
python dirsearch.py -u http://example.com -e php,html
-u: 指定目标 URL。-e: 指定扩展名列表(如 php, html),默认会替换字典中的%EXT%关键字。
批量扫描 当需要扫描多个站点时,可以将 URL 写入文本文件,每行一个地址。
python dirsearch.py -l urls.txt -t 5 -e php
-l: 读取包含 URL 列表的文件。-t: 设置线程数,默认 20,根据网络状况调整。
高级配置
自定义字典 内置字典通常够用,但在特定场景下(如针对某 CMS),使用自定义字典能显著提高命中率。
python dirsearch.py -u http://example.com -w /path/to/custom_wordlist.txt
-w: 指定字典文件或目录。字典需为纯文本格式,每行一个路径或文件名。
状态码过滤 扫描结果往往充斥着大量 404 或 403,通过过滤可以聚焦有效资源。
python dirsearch.py -u http://example.com --exclude-status 403,500
--exclude-status: 排除指定的状态码(如 403 禁止访问,500 服务器错误)。-i: 仅保留指定的状态码(如-i 200,301)。
请求头伪装与代理 为了绕过简单的 WAF 或隐藏真实 IP,可以添加自定义请求头或使用代理。
python dirsearch.py -u http://example.com -H "User-Agent: Mozilla/5.0" --proxy http://127.0.0.1:8080
-H: 添加自定义 HTTP 请求头,可多次使用。--random-agent: 自动随机切换 User-Agent。--proxy: 指定代理服务器地址。
递归扫描 发现目录后继续深入扫描子目录。

