Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dirble — 快速目录扫描与抓取工具 | Kitploit
工具/GitHubGitHub/isona/dirble
侦察信息收集Web安全渗透测试
GitHubisona/dirble

dirble

快速目录扫描与抓取工具

查看仓库
63385111年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

简介

Dirble 是一款适用于 Windows 和 Linux 的网站目录扫描工具。它旨在快速运行且易于使用。

使用方法

从 预编译二进制文件 下载适用于 Linux、Windows 或 Mac 的版本,或使用 Cargo 编译源代码,然后在终端中运行。Dirble 默认使用的字典文件是与可执行文件同目录下的 dirble_wordlist.txt。

在 BlackArch 中可使用 sudo pacman -S dirble 安装。

还有一个 Docker 镜像,可如下运行: docker run --rm -t isona/dirble [dirble 参数]

帮助文本可通过 dirble --help 显示,也可在 GitHub 维基上找到:https://github.com/nccgroup/dirble/wiki/Help-Text

使用示例

使用当前目录下的默认 dirble_wordlist.txt 对某个网站进行扫描: dirble [地址]

使用不同的字典文件并包含 .php 和 .html 扩展名: dirble [地址] -w example_wordlist.txt -x .php,.html

启用可列出目录的抓取: dirble [地址] --scrape-listable

提供扩展名列表和主机列表: dirble [地址] -X wordlists/web.lst -U hostlist.txt

通过命令行提供多个待扫描主机: dirble [地址] -u [地址] -u [地址]

以 Gobuster 默认风格运行并启用多线程,禁用递归,用 10 个线程扫描主目录: dirble [地址] --max-threads 10 --wordlist-split 10 -r

从源码构建

要在当前平台上构建,请确保已安装 Cargo,然后运行 cargo build --release。或者,运行 make 将以 release 模式构建二进制文件(内部运行 cargo build --release)。

为了交叉编译到 32 位和 64 位的 Linux 及 Windows 目标平台,提供了一个便捷的 makefile。make release 将使用 cross 为所有四个目标构建。这依赖于已安装 cross 和 docker(cargo install cross)。

功能特性

  • Cookie
  • 自定义头部
  • 扩展名与前缀
  • HTTP 基本认证
  • 可列出目录的检测与抓取
  • 将输出保存到文件
  • 以 XML 和 JSON 格式保存输出
  • 代理支持
  • 递归
  • 状态码黑名单与白名单
  • 多线程
  • 请求限速
  • 基于响应码和长度检测每个目录的“未找到”状态码
  • 提供待扫描 URL 列表的能力
  • 用户代理
  • 使用 GET、POST 或 HEAD 请求进行扫描
  • 从输出中排除特定长度范围的响应

性能

以下图表是针对一个延迟为 5ms、丢包率为 1% 的测试服务器,使用 Hyperfine 运行每个工具生成的。(Gobuster 因不支持递归而省略)。

这是一张炫酷的图表

工作原理

目录检测

Dirble 根据服务器返回的响应码来检测文件。其行为可大致按响应码类型分类。

  • 200:路径存在且有效
  • 301, 302:重定向;报告状态码、大小及 Location 头部
  • 404:未找到;默认情况下不报告这些响应
  • 所有其他响应码均以 Dirble 格式报告:+ [url] (CODE:[code]|SIZE:[size])

如果一个路径在请求 [url](不带尾部斜杠)时返回 301 或 302 重定向到 [url]/(带尾部斜杠),则该路径被归类为目录。此类结果以 D 前缀报告,若启用递归,则会加入扫描队列。 此方法不依赖于重定向目标是否存在或可访问,因此会单独发送请求以确定该目录的响应码和大小。

可列出目录通过检查 url/ 的内容来检测:如果返回 200 响应码,且响应正文包含 "parent directory"、"up to " 或 "directory listing for"(不区分大小写),则很可能是可列出目录。如果启用了 --scrape-listable,则会从目录列表中解析出 URL(忽略排序链接或范围外的链接),并将尾部带斜杠的 URL 加入扫描队列。可列出目录在输出中以 L 前缀显示。

多线程

Dirble 的多线程行为基于字典和作业的概念。作业是可以独立于其他任务运行的任何任务,例如请求一系列 URL。字典是一组具有已定义转换规则的单词列表,例如列表 {admin, config, shop} 加上转换规则 append ".php" 就构成了一个字典实例。

为了进一步提升性能,我们引入了字典拆分的概念。这是指将一个字典实例(即带有转换规则的单词)拆分成多个作业,每个作业负责列表的一部分。每个字典被拆分成交错部分的数量由 --wordlist-split 选项定义(默认值为 3)。

每当检测到一个目录(且递归启用时),就会为每个拆分后的字典(带转换规则)创建新作业,并添加到中央作业队列中。

最大并发任务数由 --max-threads 参数定义,Dirble 会在作业加入队列时启动它们,直至达到此限制。每当一个作业完成时(即一个拆分后的字典耗尽),Dirble 会从队列中取出下一个作业并启动它。

基于 GPL v3.0 许可协议发布,更多信息请参阅 LICENSE 文件。

下载工具