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

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

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

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

工具目录

分类

查看所有分类
Loading categories
edge — 云的Whois:用于云提供商归属的侦察工具。支持AWS、Azure、Google、Cloudflare和Digital Ocean。 | Kitploit
工具/GitHubGitHub/iknowjason/edge
OSINT (开源情报)侦察网络映射信息收集云安全威胁情报DNS 分析
GitHubiknowjason/edge

edge

云的Whois:用于云提供商归属的侦察工具。支持AWS、Azure、Google、Cloudflare和Digital Ocean。

查看仓库
18922311个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Cloud edge - 云服务 Whois

通过查询 IP 地址,基于云服务商发布的 JSON、CSV 或文本数据,找出其所属的云服务商及其他详细信息

Cloud edge 是一款专注于探索云服务提供商的侦察工具。它可以用于云归属与取证、渗透测试、漏洞赏金、红队行动或针对云服务商的通用研发。Edge 会自动加载云服务商(CSP)已发布的 IP 地址范围文件(AWS、Azure、GCP、Cloudflare、Digital Ocean),并根据输入的 IP 地址执行前缀查询。可以与其他侦察工具集成使用。在黑盒网络渗透测试中,edge 能快速发现客户托管在哪个云 CSP 上,或用于双重确认交战规则的 scope。这些 CSP 各自发布了所有 IP 前缀和/或网段列表。对于 Azure 和 AWS,还会增加区域/数据中心和服务名称。这是威胁情报中极好的富化手段,能将 IP 地址映射到物理数据中心和云服务。Cloud Edge 对于侦察工作流非常有用,能快速了解“你正在处理什么”——它基于 IP 前缀快速解析并执行查询。

输入与输出

以下是关于该工具输入输出的一些说明。

快速上手:首次运行时下载 CSP 文件

运行 Cloud Edge,它会自动下载所有受支持的云服务商文件。如果工作目录中不存在这些文件,它们将被下载:

root@kitploit:~
% ./edge
[INF] 启动 Cloud Edge 版本 0.2.4
[INF] 文件 cloud.json 已下载并创建
[INF] 文件 aws.json 已下载并创建
[INF] 文件 cloudflare-ipv4.txt 已下载并创建
[INF] 文件 cloudflare-ipv6.txt 已下载并创建
[INF] 文件 digitalocean.csv 已下载并创建
[INF] 文件 azure.json 已下载并创建

如果你处于离线状态无法下载,请检查本仓库中的 csp-files 目录。将它们复制到工作目录即可。

来自云服务商的文件

工具首次运行时,会自动尝试将六个云服务商的 IP 地址范围 JSON、文本和 CSV 文件下载到工作目录。工作原理如下:

默认情况下,它会尝试从以下 URL 下载这六个文件,除非这些文件已存在于工作目录。

Cloud Edge 在下载前会检查每个文件。因此,如果文件已存在,除非你删除它,否则不会再次下载。

这六个文件已包含在此 GitHub 仓库的 csp-files 目录中。由于云服务商会频繁更新其列表,请确保使用最新文件——删除工作目录中的以下文件:aws.json, azure.json, cloud.json, cloudflare-ipv4.txt, cloudflare-ipv6.txt, digitalocean.csv。

如果在工作目录中找到,所有 IP 前缀会被加载到内存中。云服务商 IP 范围文件始终会尝试从工作目录加载。使用 -prefix 标志启用实际的查询。

当启用 -dns 模式时,DNS 查询(A 和 CNAME 记录)会被缓冲,直到所有 DNS 查询完成才显示输出。查询完成后,输出结果会被显示。

默认启用 [INF] 模式

默认情况下,输出会显示以 [INF] 开头的信息消息。可以使用 -silent 标志禁用。输出示例如下:

root@kitploit:~
./edge -single 140.179.144.130
[INF] 单 IP 前缀查询:140.179.144.130
[INF] IP [140.179.144.130] 通过前缀 [AWS:140.179.144.128/25] 匹配到云服务商
[INF] IP [140.179.144.130] 匹配到云服务 [API_GATEWAY] 和区域 [cn-north-1]
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY

信息消息会告诉你记录是否通过 DNS 'A' 记录、DNS 'CNAME' 记录、证书 (crt.sh) 或前缀匹配找到。前缀匹配会告诉你检测到的云服务商及其匹配的前缀,以及适用的云服务和区域。目前未检测 Azure 区域,但 AWS 区域可以检测。

默认 CSV 输出

使用 -dns 或 crt 模式时,输出默认以逗号分隔的结果形式发送到控制台。这便于使用其他工具解析这些结果。

root@kitploit:~
FQDN,IP,SOURCE,CNAME,DESCRIPTION
  • FQDN: 这是作为 FQDN 的 DNS 查询结果。
  • IP: 如果找到 A 记录,则为返回的 IP 地址。
  • SOURCE: 查询的来源:A、CNAME 或 Certificate。
  • CNAME: 如果请求是 CNAME,则返回 CNAME 或 ALIAS。
  • DESCRIPTION: 如果启用了 -prefix,则返回 IP 地址范围描述中的任何结果。

使用 -prefix 模式并配合 -ip 或 -nmap 时,输出默认以逗号分隔的结果形式发送到控制台:

root@kitploit:~
IP,DESCRIPTION

IP 是 IP 地址,DESCRIPTION 是云服务商 IP 地址范围 JSON 文件中查找 IP 地址范围所得的结果(如适用)。

使用 -ptr 模式并配合 ip 或 nmap 时,输出默认以逗号分隔的结果形式发送到控制台:

root@kitploit:~
IP,PTR

IP 是 IP 地址,PTR 是 DNS PTR 查询的结果(如果找到)。

使用 -IP 的 IP 地址文件

-ip 标志用于遍历 IP 地址列表,可在 prefix 或 ptr 模式下使用。当你使用 -ip <hosts.txt> 运行工具时,它期望每行一个 IP 地址,并遍历列表执行查询。以下是文件内容示例:

root@kitploit:~
user@host:~/demo$ cat ip.txt 
3.133.110.237
18.117.232.92
18.221.247.211
3.137.199.52

Nmap XML 文件

-nmap 标志用于解析 nmap XML 文件。它会查找 nmap 扫描文件中标记为 "Up" 的任何主机。例如,-nmap scan1.xml 指示工具解析 scan1.xml 文件并查找 nmap 标记为 Up 的主机。然后配合 -ptr 或 -prefix 执行 IP 查询。

使用 -wordlist 进行子域名枚举

该工具通过遍历包含主机名的字典(每行一个主机名)执行经典的子域名枚举。该功能在 -dns 模式下与 -wordlist <hosts.txt> 一起使用。hosts.txt 文件示例如下:

root@kitploit:~
user@host:~/demo$ more subdomains-5k.txt 
www
blog
news
blogs
en
online

选项

root@kitploit:~
$ edge -help
Usage of edge:
  -crt
    	Certificate transparency lookup mode(证书透明度查询模式)
  -csv string
    	将结果输出到 CSV 文件
  -dns
    	A 和 CNAME 记录查询模式
  -domain string
    	要进行猜测的域名。
  -ip string
    	包含 IP 地址的文本文件
  -nmap string
    	要使用的 Nmap 扫描 xml 文件。
  -output
    	启用输出到 CSV
  -prefix
    	IP 前缀 CSP 查询模式
  -ptr
    	PTR 查询模式
  -resolver string
    	要使用的 DNS 服务器。(默认 "8.8.8.8:53")
  -silent
    	启用静默模式以抑制 [INF]
  -single string
    	单个 IP 地址,进行前缀查询
  -verbose
    	启用详细输出
  -wordlist string
    	用于猜测的字典。
  -workers int
    	要使用的 worker 数量。(默认 10)

示例

示例 #1: 查询单个 IP 地址

root@kitploit:~
edge -single <ip_address>

描述: 针对提供的单个 IP 地址 <ip_addr>,在云服务商的 JSON 文件中执行前缀查询。

输出示例:

root@kitploit:~
edge -single 140.179.144.130
[INF] 单 IP 前缀查询:140.179.144.130
[INF] IP [140.179.144.130] 通过前缀 [AWS:140.179.144.128/25] 匹配到云服务商
[INF] IP [140.179.144.130] 匹配到云服务 [API_GATEWAY] 和区域 [cn-north-1]
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY

示例 #2: 查询单个 IP 地址并抑制信息消息

root@kitploit:~
$ edge -single <ip_address> -silent

描述: 与上例相同,但启用静默模式。这会抑制带有额外信息的 [INF] 消息。

输出示例:

root@kitploit:~
edge -single 140.179.144.130
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY

示例 #3: 使用本地提供商 JSON 文件而不是下载

root@kitploit:~
edge -single <ip_address> -silent -nd

描述: 不尝试下载提供商 JSON 文件,而是使用工作目录中的本地文件。


示例 #4: 带证书透明度和前缀查询的字典子域名枚举

root@kitploit:~
edge -domain <domain> -dns -crt -prefix -wordlist <wordlist.txt>

描述: 基于 wordlist.txt 对 domain 执行字典子域名枚举,包含所有 A 和 CNAME 记录,并辅以证书透明度查询。对于通过证书透明度找到的每个主机,也执行 DNS 查询。对 IP 地址在所有三个云服务商发布的 IP 前缀列表中进行前缀查询。

输出示例:

root@kitploit:~
edge -domain tesla.com -dns -crt -prefix -wordlist subdomains-5k.txt
[INF] 通过 crt.sh 找到主机 [nas-origin.tesla.com]
nas-origin.tesla.com,,Certificate,,
[INF] 通过 crt.sh 找到主机 [eua-origin.tesla.com]
eua-origin.tesla.com,,Certificate,,
[INF] 通过 CNAME 找到主机 [fleetview.prd.na.fn.tesla.com.:fleetview.prd.usw2.fn.tesla.com]
fleetview.prd.na.fn.tesla.com.,,CNAME,fleetview.prd.usw2.fn.tesla.com,
[INF] 通过 CNAME 找到主机 [fleetview.prd.usw2.fn.tesla.com.:a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com]
fleetview.prd.usw2.fn.tesla.com.,,CNAME,a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com,
[INF] 通过 A 记录找到主机 [a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com:52.39.128.70]
[INF] 通过前缀 [AWS:52.36.0.0/14] 匹配到云服务商
[INF] IP [52.39.128.70] 匹配到云服务 [EC2] 和区域 [us-west-2]

示例 #5: 不带证书透明度和 IP 前缀查询的字典子域名枚举

root@kitploit:~
edge -domain <domain> -dns -wordlist <wordlist.txt>

描述: 仅基于字典扫描所有 A 和 CNAME 记录。

输出示例:

root@kitploit:~
edge -domain tesla.com -dns -wordlist subdomains-5k.txt
[INF] 通过 CNAME 找到主机 [fleetview.prd.na.fn.tesla.com.:fleetview.prd.usw2.fn.tesla.com]
fleetview.prd.na.fn.tesla.com.,,CNAME,fleetview.prd.usw2.fn.tesla.com,
[INF] 通过 A 记录找到主机 [e9056.b.akamaiedge.net:23.2.254.58]
e9056.b.akamaiedge.net,23.2.254.58,A,teslamotors.vanity3.ca1.qualtrics.com,

示例 #6: 不带证书透明度但查询任何发现 IP 地址前缀的字典子域名枚举

root@kitploit:~
edge -domain <domain> -dns -wordlist <wordlist.txt> -prefix

描述: 仅基于字典扫描所有 A 和 CNAME 记录。对于枚举到的每个 IP 地址,执行前缀查询。


示例 #7: 证书透明度日志查询

root@kitploit:~
edge -domain <domain> -crt

描述: 使用 https://crt.sh 进行证书透明度日志查询。

输出示例:

root@kitploit:~
edge -domain tesla.com -crt
[INF] 正在运行证书透明度查询 crt.sh
[INF] 通过 crt.sh 找到主机 [solarbonds.tesla.com]
solarbonds.tesla.com,,Certificate,,
[INF] 通过 crt.sh 找到主机 [energydesk.tesla.com]
energydesk.tesla.com,,Certificate,,

示例 #8: 带 DNS 查询的证书透明度

root@kitploit:~
edge -domain <domain> -dns -crt

描述: 执行证书透明度查询。对于通过证书透明度发现的每个主机,执行完整的 DNS A 或 CNAME 查询。


示例 #9: 使用 IP 地址列表进行 IP 前缀查询

root@kitploit:~
edge -prefix -ip <ip-hosts.txt>

描述: 对 IP 地址执行云服务商 IP 前缀查询。读取 ip-hosts.txt 中的 IP 地址列表并逐个查询。每行一个 IP 地址。

输出示例:

root@kitploit:~
edge -prefix -ip ip-hosts.txt
[INF] IP [140.179.144.130] 通过前缀 [AWS:140.179.144.128/25] 匹配到云服务商
[INF] IP [140.179.144.130] 匹配到云服务 [API_GATEWAY] 和区域 [cn-north-1]
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY
[INF] IP [18.189.124.22] 通过前缀 [AWS:18.189.0.0/16] 匹配到云服务商
[INF] IP [18.189.124.22] 匹配到云服务 [EC2] 和区域 [us-east-2]
18.189.124.22,Provider:AWS;Prefix:18.189.0.0/16;Region:us-east-2;Service:EC2
[INF] IP [20.60.128.132] 通过前缀 [Azure:20.60.0.0/16] 匹配到云服务商
[INF] IP [20.60.128.132] 匹配到云服务 [AzureStorage]
20.60.128.132,Provider:Azure;Prefix:20.60.0.0/16;Name:Storage;ID:Storage;Platform:Azure;SystemService:AzureStorage

示例 #10: 使用 IP 地址列表进行 DNS PTR 查询

root@kitploit:~
edge -ptr -ip <ip-hosts.txt>

描述: 基于 ip-hosts.txt 中每行的 IP 地址执行 DNS PTR 查询。

输出示例:

root@kitploit:~
edge -ptr -ip ip-hosts.txt
140.179.144.130,ec2-140-179-144-130.cn-north-1.compute.amazonaws.com.cn.

示例 #11: 解析 nmap 文件并对发现的 IP 地址执行前缀查询

root@kitploit:~
edge -prefix -nmap <results.xml>

描述: 解析 nmap 扫描 XML 文件,识别所有 "Up" 主机。对于 nmap XML 扫描结果中的每个 "Up" 主机,执行云服务商 IP 前缀查询。


示例 #12: 解析 nmap 文件并对每个发现的 IP 地址执行 DNS PTR 查询

root@kitploit:~
edge -ptr -nmap <results.xml>

描述: 解析 nmap 扫描 XML 文件,并对每个 "Up" 主机执行 PTR 查询。


示例 #13: 使用 100 个 worker 增加并发提升性能

root@kitploit:~
edge -domain <domain> -dns -wordlist <wordlist.txt> -workers 100

描述: 使用 100 个 worker 进行 DNS 并发扫描。这可以提升扫描速度。默认 worker 数:10。


示例 #14: 指定 DNS 解析器

root@kitploit:~
edge -domain <domain> -dns -wordlist <wordlist.txt> -resolver 8.8.4.4:53

描述: 指定 DNS 解析器为 8.8.4.4(端口 53)。默认为 8.8.8.8。

安装

二进制文件

你可以获取预编译的二进制文件或自行构建。请确保也获取云服务商 IP 前缀 JSON 文件。

构建

在 go 1.25 上测试并构建

root@kitploit:~
$ git clone https://github.com/iknowjason/edge.git
$ cd edge
~/edge$ go build edge.go
~/edge$ ./edge (验证)

致谢

@mosesrenegade 提供工具灵感

@0xdabbad00 提供通用 AWS 工具和灵感

本工具受许多其他工具和作者的启发,包括 dnsrecon 和 gobuster。是的,我知道——这里没有太多新东西,只是又一个子域名枚举工具。但我是真心想学 Golang :-)

《Black Hat Go》一书

下载工具
Provider(提供者)Local File(本地文件)Remote URL(远程 URL)
AWSaws.jsonhttps://ip-ranges.amazonaws.com/ip-ranges.json
Azureazure.jsonhttps://azservicetags.azurewebsites.net/
GCPcloud.jsonhttps://www.gstatic.com/ipranges/cloud.json
Cloudflarecloudflare-ipv4.txthttps://www.cloudflare.com/ips-v4/#
Cloudflarecloudflare-ipv6.txthttps://www.cloudflare.com/ips-v6/#
Digital Oceandigitalocean.csvhttps://digitalocean.com/geo/google.csv