当前位置: 首页 > news >正文

dirsearch 命令行选项详解:基于官方教程

基于 GitHub 官方仓库 的最新文档,以下是 dirsearch 全部参数的完整详解。


一、安装与基础

环境要求:Python 3.9+

# 推荐方式 - git 克隆gitclone https://github.com/maurosoria/dirsearch.git--depth1cddirsearch pip3install-rrequirements.txt# 或 PyPI 安装pip3installdirsearch# Kali Linux(已弃用 apt 方式,推荐 git)

独立二进制文件(无需 Python):

  • Linux:dirsearch-linux-amd64
  • Windows:dirsearch-windows-x64.exe
  • macOS Intel:dirsearch-macos-intel
  • macOS Apple Silicon:dirsearch-macos-silicon

二、必选目标参数(Mandatory)

启动扫描必须指定目标,以下任选其一:

参数说明用法示例
-u URL/--url=URL指定单个或多个目标URL,支持多次叠加dirsearch -u https://test.com-u https://a.com -u https://b.com
-l PATH/--urls-file=PATH从本地文件加载URL列表,每行一个URLdirsearch -l targets.txt
--stdin从标准输入读取URL,无需保存文件cat urls.txt | dirsearch --stdin
--cidr=CIDRCIDR网段扫描,自动探测Web服务主机dirsearch --cidr 192.168.1.0/24
--raw=PATH加载原始HTTP请求报文文件dirsearch --raw request.txt --scheme https
--nmap-report=PATH导入Nmap报告(需带-sV参数)dirsearch --nmap-report nmap.xml
-s SESSION_FILE/--session=SESSION_FILE加载已保存的会话,支持断点续扫dirsearch --session sessions/scan_001
--config=PATH加载自定义配置文件dirsearch --config waf_bypass.ini

关键说明:

  • --raw必须配合--scheme指定 http/https,因为原始请求中没有协议信息
  • --nmap-report要求 Nmap 扫描时加-sV版本探测,否则无法正确解析 Web 端口
  • 会话文件采用 JSON 格式存储,旧版.pickle/.pkl已不再支持

三、字典配置参数(Dictionary Settings)

控制字典加载、扩展名规则、前后缀、大小写转换:

参数说明用法示例
-w WORDLISTS/--wordlists=WORDLISTS自定义字典文件/目录,多字典用逗号分隔dirsearch -w /usr/share/dirb/big.txt,custom.txt
--wordlist-categories=CATEGORIES调用内置分类字典:common,conf,vcs,backups,db,logs,keys,webdirsearch --wordlist-categories common,confall加载全部)
-e EXTENSIONS/--extensions=EXTENSIONS指定爆破扩展名,逗号分隔dirsearch -e php,asp,jsp,aspx,html,txt,bak
-f/--force-extensions强制将扩展名追加到每条字典末尾(默认只替换%EXT%占位符)dirsearch -e php -f
-O/--overwrite-extensions用指定扩展名覆盖字典原有后缀dirsearch -e jsp -O
--exclude-extensions=EXTENSIONS全局排除指定扩展名dirsearch --exclude-extensions jsp,asp
--remove-extensions移除所有路径中的扩展名(如admin.phpadmindirsearch --remove-extensions
--prefixes=PREFIXES给所有条目添加前缀,逗号分隔dirsearch --prefixes ./,api/,admin/
--suffixes=SUFFIXES给文件类路径添加后缀(自动忽略目录)dirsearch --suffixes ~,.bak,.zip,.sql
-U/--uppercase全部转为大写dirsearch -U
-L/--lowercase全部转为小写dirsearch -L
-C/--capital首字母大写dirsearch -C

字典扩展名核心逻辑:

默认模式(仅替换 %EXT%): 字典: index.%EXT% → 生成: index.php, index.html 字典: admin → 生成: admin(无扩展名) 强制模式 -f(追加扩展名): 字典: admin → 生成: admin, admin.php, admin.html, admin/ 覆盖模式 -O(替换已有扩展名): 字典: login.html → 生成: login.jsp, login.jspa

四、通用扫描参数(General Settings)

参数说明默认值用法示例
-t THREADS/--threads=THREADS并发线程数25dirsearch -t 50(内网)/-t 10(有WAF)
--async启用异步模式(协程替代线程)Falsedirsearch --async
--list-sessions列出所有可恢复的会话-dirsearch --list-sessions
--sessions-dir=PATH自定义会话搜索目录-dirsearch --sessions-dir /tmp/sessions
-r/--recursive递归扫描(仅对目录路径递归)Falsedirsearch -r
--deep-recursive深度递归(如api/users会回头扫api/Falsedirsearch --deep-recursive
--force-recursive强制递归(对文件也递归,慎用)Falsedirsearch --force-recursive
-R DEPTH/--max-recursion-depth=DEPTH最大递归层级,0为不限制0dirsearch -r -R 3
--recursion-status=CODES允许触发递归的状态码200-399,401,403dirsearch --recursion-status 200,301
--subdirs=SUBDIRS扫描指定子目录-dirsearch --subdirs /,admin/,api/
--exclude-subdirs=SUBDIRS递归时排除指定子目录-dirsearch --exclude-subdirs image/,css/
-i CODES/--include-status=CODES白名单状态码,支持范围-dirsearch -i 200,401,403,300-399
-x CODES/--exclude-status=CODES黑名单状态码,支持范围-dirsearch -x 404,500-599
--exclude-sizes=SIZES按响应大小排除(如0B,4KB-dirsearch --exclude-sizes 0B,2KB
--exclude-text=TEXTS页面包含指定文本则过滤,可多次使用-dirsearch --exclude-text "Not Found"
--exclude-regex=REGEX正则匹配排除响应内容-dirsearch --exclude-regex "^Error$"
--exclude-redirect=STRING匹配重定向URL文本/正则过滤-dirsearch --exclude-redirect "/login.html"
--exclude-response=PATH加载本地404模板,智能比对过滤-dirsearch --exclude-response 404.html
--skip-on-status=CODES遇到指定状态码则跳过当前目标-dirsearch --skip-on-status 429
--min-response-size=LENGTH最小响应长度过滤-dirsearch --min-response-size 100
--max-response-size=LENGTH最大响应长度过滤-dirsearch --max-response-size 50000
--max-time=SECONDS全局扫描最大运行时间0(无限制)dirsearch --max-time 3600
--exit-on-error遇到错误立即退出Falsedirsearch --exit-on-error

线程建议:

  • 普通外网:15-30
  • 有WAF防护:5-10
  • 内网无限制:50+

五、HTTP请求参数(Request Settings)

参数说明用法示例
-m METHOD/--http-method=METHODHTTP方法,默认GETdirsearch -m POST
-d DATA/--data=DATAPOST请求数据dirsearch -m POST -d "user=admin&pass=123"
--data-file=PATH从文件加载请求体数据dirsearch --data-file post_data.txt
-H HEADERS/--header=HEADERS自定义请求头,可多次叠加dirsearch -H "X-Auth: token" -H "Referer: https://site.com"
--headers-file=PATH从文件批量加载请求头dirsearch --headers-file headers.txt
-F/--follow-redirects跟随301/302重定向dirsearch -F
--random-agent每次请求随机User-Agentdirsearch --random-agent
--auth=CREDENTIAL认证凭据dirsearch --auth admin:password
--auth-type=TYPE认证类型:basic,digest,bearer,ntlm,jwtdirsearch --auth "BearerToken" --auth-type bearer
--cert-file=PATH客户端证书文件dirsearch --cert-file client.crt
--key-file=PATH客户端证书私钥(未加密)dirsearch --key-file client.key
--user-agent=USER_AGENT固定自定义UAdirsearch --user-agent "Mozilla/5.0..."
--cookie=COOKIE携带Cookie扫描dirsearch --cookie "SESSIONID=abc123"

六、网络连接参数(Connection Settings)

参数说明默认值用法示例
--timeout=TIMEOUT单请求连接超时(秒)7.5dirsearch --timeout 15
--delay=DELAY请求间固定延迟(秒)0dirsearch --delay 0.5
-p PROXY/--proxy=PROXYHTTP/SOCKS代理,可多次叠加-dirsearch -p 127.0.0.1:8080-p socks5://10.0.0.1:1080
--proxies-file=PATH代理池文件,自动轮换-dirsearch --proxies-file proxies.txt
--proxy-auth=CREDENTIAL代理认证账号密码-dirsearch --proxy-auth user:pass
--replay-proxy=PROXY仅对命中路径通过代理重放-dirsearch --replay-proxy 127.0.0.1:8080
--tor使用Tor匿名网络-dirsearch --tor
--scheme=SCHEME强制指定协议(配合–raw使用)auto-detectdirsearch --raw req.txt --scheme https
--max-rate=RATE每秒最大请求数限制0dirsearch --max-rate 100
--retries=RETRIES失败请求重试次数1dirsearch --retries 3
--ip=IP手动指定目标服务器IP-dirsearch --ip 192.168.1.100
--interface=NETWORK_INTERFACE指定本机网卡发包-dirsearch --interface eth1

七、高级设置(Advanced Settings)

参数说明用法
--crawl开启页面爬虫,自动抓取响应中的新链接加入扫描dirsearch --crawl

八、视图参数(View Settings)

参数说明用法
--full-url输出完整绝对URL(安静模式自动启用)dirsearch --full-url
--redirects-history展示完整重定向链路dirsearch --redirects-history
--no-color关闭终端彩色输出dirsearch --no-color
-q/--quiet-mode安静模式,只输出有效结果dirsearch -q
--disable-cli完全关闭终端输出,只写入文件dirsearch --disable-cli
-v/--verbose详细模式,显示响应时间、编码、内容类型dirsearch -v

九、输出参数(Output Settings)

参数说明用法
-o PATH/URL/--output=PATH/URL输出文件路径或数据库URLdirsearch -o report.html
--format=FORMAT报告格式:simple,plain,json,xml,md,csv,html,sqlite,mysql,postgresqldirsearch --format json -o result.json
--log=PATH保存完整扫描日志dirsearch --log scan.log

数据库输出格式:

# MySQLdirsearch-omysql://user:pass@localhost:3306/dirsearch_db--formatmysql# PostgreSQLdirsearch-opostgresql://user:pass@localhost:5432/dirsearch_db--formatpostgresql

十、配置文件(config.ini)

默认配置文件路径:dirsearch/config.ini,可通过--config或环境变量DIRSEARCH_CONFIG指定。

[general] threads = 25 async = False recursive = False deep-recursive = False force-recursive = False recursion-status = 200-399,401,403 max-recursion-depth = 0 random-user-agents = False max-time = 0 exit-on-error = False [dictionary] default-extensions = php,aspx,jsp,html,js force-extensions = False overwrite-extensions = False lowercase = False uppercase = False capitalization = False [request] http-method = get follow-redirects = False [connection] timeout = 7.5 delay = 0 max-rate = 0 max-retries = 1 [advanced] crawl = False [view] full-url = False quiet-mode = False color = True [output] report-format = plain autosave-report = True autosave-report-folder = reports/

优先级:命令行参数 > 自定义 config > 系统默认 config


十一、实战命令组合示例

# 1. 基础单目标扫描dirsearch-uhttps://target.com-ephp,html,js# 2. 批量扫描 + 递归 + 线程控制dirsearch-lurls.txt-ephp-r-t30# 3. 内网CIDR + 快速模式dirsearch--cidr192.168.1.0/24--timeout3--retries1-t50# 4. 带Cookie的后台扫描dirsearch-uhttps://admin.target.com-ephp--cookie"SESSION=xxx"-H"X-Requested-With: XMLHttpRequest"# 5. WAF绕过:随机UA + 代理池 + 延迟dirsearch-uhttps://target.com-ephp --random-agent --proxies-file proxies.txt--delay1--max-rate50# 6. 备份文件专项扫描dirsearch-uhttps://target.com-ezip,tar,gz,bak,sql--suffixes~,.bak,.old--prefixes.# 7. 仅扫目录(不扫文件)dirsearch-uhttps://target.com --remove-extensions--suffixes/# 8. 原始请求导入(复杂认证场景)dirsearch--rawrequest.txt--schemehttps-ephp# 9. 断点续扫dirsearch--sessionsessions/scan_001# 10. 结果直接入库dirsearch-uhttps://target.com-ephp--formatjson-oresult.json# 11. 安静模式 + 完整URL + 过滤404dirsearch-uhttps://target.com-ephp-q--full-url-x404# 12. 爬虫联动模式dirsearch-uhttps://target.com-ephp--crawl-r# 13. 排除特定大小和文本的误报dirsearch-uhttps://target.com-ephp --exclude-sizes 0B,4KB --exclude-text"404 Not Found"# 14. 使用内置分类字典(配置文件+备份)dirsearch-uhttps://target.com --wordlist-categories conf,backups# 15. 异步高速扫描dirsearch-uhttps://target.com-ephp--async-t100

十二、会话管理

扫描过程中按CTRL+C可暂停,选择保存会话后,后续通过--session恢复:

# 保存会话(扫描时按CTRL+C,选择save并命名)dirsearch-uhttps://target.com-ephp# [CTRL+C] → 输入会话名: my_scan# 列出所有会话dirsearch --list-sessions# 恢复会话dirsearch--sessionsessions/my_scan

会话存储位置:

  • 源码安装:<dirsearch>/sessions/
  • 独立二进制:$HOME/.dirsearch/sessions/

十三、官方 Tips(实用技巧)

  • 请求限制绕过:使用--proxies-file随机轮换代理
  • 找配置文件/备份:组合--suffixes ~--prefixes .
  • 仅扫目录:--remove-extensions+--suffixes /
  • CIDR扫描降噪:组合--cidr,-F,-q减少噪音
  • 避免429洪水:--skip-on-status 429遇到限流自动跳过目标
  • 大文件拖慢扫描:改用-m HEAD代替 GET 方法
  • CIDR扫描太慢:减小超时和重试--timeout 3 --retries 1
http://www.jsqmd.com/news/784609/

相关文章:

  • CANN/torchtitan-npu版本策略
  • AGI+IoT融合:边缘智能体的关键技术挑战与实践路径
  • CANN/catlass FlashAttention推理
  • 2026人工草坪企业选型指南,采购不踩坑 - 深度智识库
  • StarRocks MCP Server实战:AI助手与数据库的无缝对话
  • 全球高价值公开数据源全景指南:从专利到遥感,数据科学家的实战地图
  • FLUX.1-Krea-Extracted-LoRA效果展示:丝绸面料光泽与褶皱物理模拟
  • Illustrator脚本开发入门:从零写一个‘日期+序列’的防伪码生成器
  • 大模型参数规模与性能的非线性关系:从规模迷信到精准设计
  • PostgreSQL中UPSERT操作的并发冲突与数据一致性保障策略
  • CANN社区组织信息配置指南
  • CANN/tensorflow HCCL发送API
  • 基于Electron构建开发者专属浏览器:集成调试、终端与源码映射
  • 2026年湖南数控机床设计与非标机床研发外协服务深度指南 - 年度推荐企业名录
  • 无需复杂SDK,使用curl命令直接测试Taotoken大模型API连通性
  • 新手教程使用Python和OpenAI兼容SDK五分钟接入Taotoken大模型服务
  • AI的“水足迹”:数据中心冷却与锂矿开采背后的环境伦理挑战
  • AI赋能人才管理:从数据画像到个性化发展路径的实践
  • Orangutan算法:仿生视觉注意力机制在计算机视觉中的应用
  • Mind-Brush:为AI绘画装上“外脑”,实现基于搜索与推理的智能图像生成
  • 特征缩放在机器学习中的核心作用与实战技巧
  • Real-Anime-Z模型推理优化:利用C++编写高性能图像后处理模块
  • 保定制造工厂短视频营销避坑指南:为什么专业代运营比自己摸索节省成本80% - 年度推荐企业名录
  • 用Android TTS实现‘跟读高亮’?手把手教你适配UtteranceProgressListener各版本回调
  • 2026年南京律师推荐榜:专业能力前五名深度解析 - 速递信息
  • CANN/catlass aclnn接口算子接入示例
  • 人工智能的社会技术定义:从理性主义到人文主义的融合
  • 新能源车维修成本畸高,行业垄断与技术壁垒让车主陷入“买得起修不起“困境
  • 别再死记硬背了!图解贪心算法解决多机调度,一看就懂(从生活例子到代码)
  • CANN/pyasc矩阵乘法迭代方法