Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
domainim — 一个快速且全面的组织网络扫描工具 | Kitploit
工具/GitHubGitHub/pptx704/domainim
OSINT (开源情报)侦察网络映射端口扫描DNS和子域名枚举信息收集渗透测试DNS 分析
GitHubpptx704/domainim

domainim

一个快速且全面的组织网络扫描工具

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DOMAINIM

功能 • 用法 • 安装 • 用法 • 贡献 • 附加说明

Domainim 是一款用于组织网络扫描的快速域侦查工具。该工具旨在通过 OSINT、暴力破解、DNS 解析等技术,简要呈现组织的网络结构。

功能

当前功能 (v1.0.1) —

  • 子域名枚举(2 个引擎 + 暴力破解)
  • 用户友好的输出
  • 解析 A 记录(IPv4)

  • 虚拟主机名枚举

  • 反向 DNS 查找

  • 检测通配符子域名(用于暴力破解)

  • 基础 TCP 端口扫描

  • 可接受子域名作为输入

  • 将结果导出为 JSON 文件

部分功能仍在开发中。详情请参见计划功能。

该项目受 Sublist3r 启发。端口扫描器模块主要基于 NimScan。

安装

你可以从源码构建该仓库 —

  • 克隆仓库
root@kitploit:~
git clone [email protected]:pptx704/domainim
  • 构建二进制文件
root@kitploit:~
nimble build
  • 运行二进制文件
root@kitploit:~
./domainim <domain> [--ports=<ports>]

或者,你也可以直接从发布页面下载二进制文件。请注意,该二进制文件仅在基于 Debian 的系统上经过测试。

用法

root@kitploit:~
./domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | l:<filename> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
  • <domain> 是要枚举的域名,也可以是一个子域名。
  • --ports | -p 是一个字符串,指定要扫描的端口。可以是以下之一 —
    • all — 扫描全部端口(1-65535)
    • none — 跳过端口扫描(默认)
    • t<n> — 扫描前 n 个端口(与 nmap 相同)。例如 t100 扫描前 100 个端口。最大值为 5000。如果 n 大于 5000,则自动设为 5000。
    • 单一值 — 扫描单个端口。例如 80 扫描端口 80
    • 范围值 — 扫描一段端口。例如 80-100 扫描端口 80 到 100
    • 逗号分隔值 — 扫描多个端口。例如 80,443,8080 扫描端口 80、443 和 8080
    • 组合 — 扫描上述形式的组合。例如 80,443,8080-8090,t500 扫描端口 80、443、8080 到 8090 以及前 500 个端口
  • --dns | -d 是 DNS 服务器的地址。应为有效的 IPv4 地址,并可选择包含端口号 —
    • a.b.c.d — 使用位于 的 DNS 服务器,端口 53

示例

  • ./domainim nmap.org --ports=all
  • ./domainim google.com --ports=none --dns=8.8.8.8#53
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --rps=1500
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --outfile=results.json
  • ./domainim mysite.com --ports=t50,5432,7000-9000 --dns=1.1.1.1

帮助菜单可通过 ./domainim --help 或 ./domainim -h 访问。

root@kitploit:~
Usage:
    domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | l:<filename> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
    domainim (-h | --help)

Options:
    -h, --help              显示此屏幕。
    -p, --ports             要扫描的端口。[默认: `none`]
                            可以设为 `all`、`none`、`t<n>`、单一值、范围值、组合值
    -l, --wordlist          用于子域名暴力破解的单词列表。若文件无效则跳过暴力破解。
    -d, --dns               DNS 解析器的 IP 和端口。应为有效的 IPv4 地址,可附带端口 [默认: 系统默认]
    -r, --rps               每秒发送的 DNS 查询数 [默认: 1024 req/s]
    -o, --out               保存输出的 JSON 文件。文件名必须以 `.json` 结尾

示例:
    domainim domainim.com -p:t500 -l:wordlist.txt --dns:1.1.1.1#53 --out=results.json
    domainim sub.domainim.com --ports=all --dns:8.8.8.8 -t:1500 -o:results.json

结果的 JSON 模式如下 —

root@kitploit:~
[
  {
    "subdomain": string,
    "data": [
      "ipv4": string,
      "vhosts": [string],
      "reverse_dns": string,
      "ports": [int]
    ]
  }
]

nmap.org 的示例 JSON 可以在这里找到。

贡献

欢迎贡献。欢迎提交拉取请求或 Issue。

计划功能

  • TCP 端口扫描
  • UDP 端口扫描支持
  • 解析 AAAA 记录(IPv6)
  • 自定义 DNS 服务器
  • 使用单词列表进行子域名暴力破解
  • 强制暴力破解(即使发现通配符子域名)
  • 添加更多子域名枚举引擎
  • 文件输出(JSON)
  • 多域名枚举
  • 目录和文件爆破

其他

  • 更新报错时的详细输出 (v0.2.0)
  • 为较长操作显示进度条
  • 添加单个端口扫描进度条
  • 添加测试
  • 添加注释和文档字符串

附加说明

该项目仍处于早期阶段。我已知晓存在若干限制。

目前使用的两个引擎(我称之为引擎,因为 Sublist3r 也这么称呼)都存在某种响应限制。dnsdumpster 最多可获取 100 个子域名。crt.sh 在结果过多时也会随机化结果。crt.sh 的另一个问题是它有时会返回 SQL 错误。因此对于某些域名,不同次运行的结果可能不同。我计划未来添加更多引擎(至少一个暴力破解引擎)。

端口扫描器仅有“ping 响应时间 + 750ms”的超时。这可能导致漏报。由于 domainim 并非为端口扫描设计,而是提供快速概览,此类情况可以接受。不过,我计划添加一个标志来增加超时时间。出于相同原因,已过滤的端口不会显示。如需更全面的端口扫描,建议使用 Nmap。Domainim 也不会绕过速率限制(如有)。

虚拟主机名的打印方式可能看起来重复。

如果打印成以下形式可能会更好 —

root@kitploit:~
ack.nmap.org, issues.nmap.org, nmap.org, research.nmap.org, scannme.nmap.org, svn.nmap.org, www.nmap.org
  ↳ 45.33.49.119
    ↳ 反向 DNS: ack.nmap.org. 

但之前的测试中,我发现并非所有 IP 都共享同一组虚拟主机名。因此我决定保持现样。

DNS 服务器可能存在某种速率限制。因此我在每次查询的 IPv4 解析中加入了随机延迟(0-300ms)。这样不会让 DNS 服务器一次性接收所有查询,而是以更自然的方式。对于暴力破解方法,默认值为 0-1000ms,但可通过 --rps | -t 标志更改。

一个让我困扰的特定限制是:DNS 解析器不会返回某个域名的所有 IP。因此需要多次查询才能获取全部(或大部分)IP。但问题在于,无法事先知道一个域名有多少个 IP。我仍需为此找出解决方案。另外,nim-ndns 不支持 CNAME 记录。因此,如果某个域名有 CNAME 记录,它将无法被解析。我正在等待作者的回复。

目前,如果发现可能的通配符子域名,则会跳过暴力破解。这是因为,如果域名存在通配符子域名,暴力破解会为所有可能的子域名解析 IPv4。然而,这也会跳过有效的子域名(例如 scanme.nmap.org 即使不是通配符值也会被跳过)。我稍后会添加 --force-brute | -fb 标志以强制暴力破解。

对于子域名输入的 VHost 枚举也存在类似情况。由于只返回以给定子域名结尾的 URL,因此不包括相同父域下的其他子域名。例如,scannme.nmap.org 不会为 ack.nmap.org 打印,但 something.ack.nmap.org 可能会。我可以搜索 nmap.org 的所有子域名,但这违背了以子域名作为输入的目的。

许可证

MIT 许可证。完整文本请参见 LICENSE。

下载工具
a.b.c.d
  • a.b.c.d#n — 使用位于 a.b.c.d 的 DNS 服务器,端口 e
  • --wordlist | -l — 单词列表文件路径。用于子域名暴力破解。如果文件无效,则跳过暴力破解。你可以从 SecLists 获取单词列表。发布页面也提供了一个单词列表。
  • --rps | -r — 暴力破解期间每秒发送的请求数。默认值为 1024 req/s。需要注意,DNS 查询按批次进行,只有上一批次完成后才会发送下一批次。由于查询可能受速率限制,增大该值并不总能保证更快的结果。
  • --out | -o — 输出文件路径。输出将以 JSON 格式保存。文件名必须以 .json 结尾。