更新时间:2024-12-04
ZoomEye 平台为网络研究爱好者、开发者和安全极客提供强大且灵活的 RESTful API,让您能够无缝接入平台资源,自动化网络探索,构建丰富的应用场景,通过 ZoomEye API,您可以实现:
① 自动化资产发现
批量检索全球网络设备、服务和系统,构建全面的网络资产地图。
② 攻击面管理与集成
结合 API 功能,将网络资产数据无缝集成到现有的攻击面管理平台,精准识别并降低暴露面风险。
③ 实时监控与威胁预警
持续跟踪暴露在互联网中的敏感资产,第一时间发现潜在风险。
④ 定制化数据分析与工具开发
使用 ZoomEye 提供的丰富数据,开发自定义工具,如 IoT 安全验证工具、漏洞扫描插件、威胁情报分析系统等。
⑤ 生成可视化报告
自动提取数据并生成资产或风险报告,为安全决策提供强有力支持。
请求地址: https://api.zoomeye.org
技术支持: API 支持
● 搜索范围覆盖设备(IPv4、IPv6)及网站(域名)
● 输入搜索字符串时,系统将按“全局”模式匹配关键词,涵盖HTTP、SSH、FTP等多种协议的内容(如HTTP/HTTPS协议的header、body、ssl、title及其他协议的banner)
● 搜索字符串不区分大小写,会进行分词后匹配(搜索结果页面提供了“分词”测试功能),使用==搜索时为精准匹配严格限制搜索语法大小写
● 搜索字符串请使用引号(如"Cisco System"或'Cisco System'), 如果搜索字符串里存在引号可以使用 \ 进行转义 比如: "a"b",如果搜索字符串里存在括号可以使用 \ 进行转义 比如: portinfo()
逻辑运算
| SearchLogic | 说明 | 示例 |
|---|---|---|
| = | 搜索包含关键词的资产 | title="知道创宇"搜索网站标题包含知道创宇的资产 |
| == | 精准搜索,表示完全匹配关键词(区分大小写),可搜索值为空的数据 | title=="知道创宇"搜索网站标题为知道创宇的资产 |
| || | 在搜索框中输入“||”则表示“或”的运算逻辑 | service="ssh" || service="http"搜索ssh或http协议的数据 |
| && | 在搜索框中输入"&&"则表示"且"的运算逻辑 | device="router" && after="2020-01-01"搜索2020-01-01后路由器的数据 |
| != | 在搜索框中输入"!="则表示"非"的运算逻辑 | country="CN" && subdivisions!="beijing"搜索中国地区内除北京的数据 |
| () | 在搜索框中输入"()"则表示"优先处理"的运算逻辑 | (country="CN" && port!=80) || (country="US" && title!="404 Not Found")搜索中国排除80端口或美国排除"404 Not Found"的数据 |
| * | 模糊搜索,使用 * 进行搜索 | title="google*"搜索网站标题中包含google的资产,且标题可以以任意字符结尾 |
地理位置搜索
地理位置搜索
| 语法 | 说明 | 注 |
|---|---|---|
| country="CN" | 搜索国家地区资产 | 可以使用国家缩写,也可以使用中/英文全称如country="中国" |
| subdivisions="beijing" | 搜索相关指定行政区的资产 | 中国省会支持中文及英文描述搜索如subdivisions="北京" |
| city="changsha" | 搜索相关城市资产 | 中国城市支持中文及英文描述搜索如city="长沙" |
证书搜索
| 语法 | 说明 | 注 |
|---|---|---|
| ssl="google" | 搜索ssl证书存在"google"字符串的资产 | 常常用来提过产品名及公司名搜索对应目标 |
| ssl.cert.fingerprint="F3C98F223D82CC41CF83D94671CCC6C69873FABF" | 搜索证书相关指纹资产 | |
| ssl.chain_count=3 | 搜索ssl链计数资产 | |
| ssl.cert.alg="SHA256-RSA" | 搜索证书支持的签名算法 | |
| ssl.cert.issuer.cn="pbx.wildix.com" | 搜索用户证书签发者通用域名名称 | |
| ssl.cert.pubkey.rsa.bits=2048 | 搜索rsa_bits证书公钥位数 | |
| ssl.cert.pubkey.ecdsa.bits=256 | 搜索ecdsa_bits证书公钥位数 | |
| ssl.cert.pubkey.type="RSA" | 搜索证书的公钥类型 | |
| ssl.cert.serial="18460192207935675900910674501" | 搜索证书序列号 | |
| ssl.cipher.bits="128" | 搜索加密套件位数 | |
| ssl.cipher.name="TLS_AES_128_GCM_SHA256" | 搜索加密套件名称 | |
| ssl.cipher.version="TLSv1.3" | 搜索加密套件版本 | |
| ssl.version="TLSv1.3" | 搜索证书的ssl版本 | |
| ssl.cert.subject.cn="example.com" | 搜索用户证书持有者通用域名名称 | |
| ssl.jarm="29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa" | 搜索相关jarm内容的资产 | |
| ssl.ja3s=45094d08156d110d8ee97b204143db14 | 查找与特定JA3S指纹相关的资产 |
IP及域名信息相关搜索
| 语法 | 说明 | 注 |
|---|---|---|
| ip="8.8.8.8" | 搜索指定IPv4地址相关资产 | |
| ip="2600:3c00::f03c:91ff:fefc:574a" | 搜索指定IPv6地址相关资产 | |
| cidr="52.2.254.36/24" | 搜索IP的C段资产 | cidr="52.2.254.36/16"为IP的B段资产,cidr="52.2.254.36/8"为IP的A段资产,如cidr="52.2.254.36/16"cidr="52.2.254.36/8" |
| org="北京大学"或者organization="北京大学" | 搜索相关组织(Organization)的资产 | 用来定位大学、结构、大型互联网公司对应IP资产 |
| isp="China Mobile" | 搜索相关网络服务提供商的资产 | 可结合org数据相互补充 |
| asn=42893 | 搜索对应ASN(Autonomous system number)自治系统编号相关IP资产 | |
| port=80 | 搜索相关端口资产 | 目前不支持同时开放多端口目标搜索 |
| hostname="google.com" | 搜索相关IP"主机名"的资产 | |
| domain="baidu.com" | 搜索域名相关的资产 | 用来搜索域名和子域名数据 |
| icp.number="京ICP备10040895号-40" | 搜索通过域名关联的ICP备案号包含"京ICP备10040895号-40"的网站资产 | 用来搜索备案域名资产 |
| icp.name="知道创宇" | 搜索ICP备案企业名称包含"知道创宇"的资产 | 用来搜索企业备案域名资产 |
| banner="FTP" | 搜索协议报文相关的数据 | 用于搜索非HTTP协议报文数据 |
| http.header="http" | 搜索HTTP响应头相关的数据 | 用于搜索HTTP响应头的数据 |
| http.header_hash="27f9973fe57298c3b63919259877a84d" | 通过HTTP响应头计算的hash值进行搜索 | |
| http.header.server="Nginx" | 搜索HTTP响应头中server数据 | 用于搜索HTTP响应头中Server的数据 |
| http.header.version="1.2" | 搜索HTTP响应头中的服务版本号 | |
| http.header.status_code="200" | 搜索HTTP响应头中的状态码 | 搜索HTTP响应状态码为200的资产或其他状态码,如302、404等 |
| http.body="document" | HTML正文进行查询搜索 | |
| http.body_hash="84a18166fde3ee7e7c974b8d1e7e21b4" | HTML正文计算的hash值搜索 |
指纹相关搜索
| 语法 | 说明 | 注 |
|---|---|---|
| app="Cisco ASA SSL VPN" | 搜索思科ASA-SSL-VPN的设备 | 更多的app规则请参考[object Object],在搜索框输入"思科"等关键词会有相关app提示 |
| service="ssh" | 搜索对应服务协议的资产 | 常见服务协议包括:http、ftp、ssh、telnet等等(其他服务可参考搜索结果域名侧栏聚合展示) |
| device="router" | 搜索路由器相关的设备类型 | 常见类型包括router(路由器)、switch (交换机)、storage- misc(存储设备)等等(其他类型可参考搜索结果域名侧栏聚合展示) |
| os="RouterOS" | 搜索相关操作系统 | 常见系统包括Linux、Windows、RouterOS、IOS、JUNOS等等(其他系统可参考搜索结果域名侧栏聚合展示) |
| title="Cisco" | 搜索html内容里标题中存在"Cisco"的数据 | |
| industry="政府" | 搜索行业类型相关的资产 | 常见的行业类型包括科技、能源、金融制造业等等(其他类型可结合org数据相互补充) |
| product="Cisco" | 搜索组件信息包含Cisco的资产 | 支持主流资产组件搜索 |
| protocol="TCP" | 搜索传输协议为TCP的资产 | 常见的传输协议有TCP、UDP、TCP6、SCTP |
| is_honeypot="True" | 筛选是否包含蜜罐资产 |
时间节点区间搜索
| 语法 | 说明 | 注 |
|---|---|---|
| after="2020-01-01" && port="50050" | 搜索更新时间为"2020-01-01"以后端口为"50050"以后的资产 | 时间过滤器需组合其他过滤器使用 |
| before="2020-01-01" && port="50050" | 搜索更新时间在"2020-01-01"以前端口为"50050"以前的资产 | 时间过滤器需组合其他过滤器使用 |
Dig
| 语法 | 说明 | 注 |
|---|---|---|
| dig="baidu.com 220.181.38.148" | 搜索相关dig内容的资产 |
Iconhash
| 语法 | 说明 | 注 |
|---|---|---|
| iconhash="f3418a443e7d841097c714d69ec4bcb8" | 通过 md5 方式对目标数据进行解析,根据图标搜索相关内容的资产 | 搜索包含"google"图标的相关资产 |
| iconhash="1941681276" | 通过 mmh3 方式对目标数据进行解析,根据图标搜索相关内容的资产 | 搜索包含"amazon"图标的相关资产 |
Filehash
| 语法 | 说明 | 注 |
|---|---|---|
| filehash="0b5ce08db7fb8fffe4e14d05588d49d9" | 通过上传方式进行查询,根据解析的文件数据搜索相关内容的资产 | 搜索包含"Gitlab"解析的相关资产 |
- ZoomEye-API 支持API-KEY验证方式,每个账号在其个人资料页面下方会找到
API-KEY的字符串,将该字符串填入到 ZoomEye-API 的API-KEY字段即可,您可以从 这里 获取 API-KEY。
获取用户信息、订阅详细信息和当前积分情况。
POST /v2/userinfo
# Bash
curl -X POST https://api.zoomeye.org/v2/userinfo -H "API-KEY: $YOUR_API_KEY"{
"code": 60000,
"message": "success",
"data": {
"username": "abc",
"email": "user@example.com",
"phone": "+1234567890",
"created_at": "2013-01-15T08:00:00Z",
"subscription": {
"plan": "Premium",
"end_date": "2024-01-20T00:00:00Z",
"points": "30000",
"zoomeye_points": "10000000"
}
}
}| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| code | integer | 响应代码 |
| message | string | 响应消息 |
| data | object | 用户信息和订阅详细信息 |
| username | string | 用户名 |
| string | 用户邮箱地址 | |
| phone | string | 用户电话号码 |
| created_at | string(date-time) | 用户创建时间 |
| subscription | object | 用户订阅信息 |
| plan | string | 订阅计划 |
| end_date | string(date-time) | 订阅结束日期 |
| points | string | 可用的普通积分,您也可以从 这里 查看 |
| zoomeye_points | string | 可用的权益积分,您也可以从 这里 查看 |
根据查询条件获取网络资产信息。
POST /v2/search
# Bash
curl -L 'https://api.zoomeye.org/v2/search' -H "API-KEY: $YOUR_API_KEY" \
-d '{
"qbase64": "dGl0bGU9ImNpc2NvIHZwbiIK",
"page": 1
}'| 参数名称 | 参数类型 | 是否为必填项 | Description |
|---|---|---|---|
| qbase64 | string | true | Base64 编码的查询语句。更多信息,请参阅相关参考-base64编码转换 |
| fields | string | false | 返回的字段,用逗号分隔;默认:ip, port, domain, update_time。更多信息,请参阅接口返回字段释义 |
| sub_type | string | false | 数据类型,支持 v4、v6 和 web;默认为 v4。 |
| page | integer | false | 默认为第1页,按照更新时间排序。 |
| pagesize | integer | false | 每页查询数量,默认是10条,最大是10,000条/页。 |
| facets | string | false | 统计项,如果有多个,用逗号分隔;支持 country、subdivisions、city、product、service、device、os 和 port。 |
| ignore_cache | boolean | false | 是否忽略缓存。false,支持商业版及以上用户。 |
{
"code": 60000,
"message": "success",
"total": 163139107,
"query": "title=\"cisco vpn\"",
"data": [
{
"url": "https://1.1.1.1:443",
"ssl.jarm": "29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa",
"ssl.ja3s": "45094d08156d110d8ee97b204143db14",
"iconhash_md5": "f3418a443e7d841097c714d69ec4bcb8",
"robots_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",
"security_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",
"ip": "1.1.1.1",
"domain": "www.google.com",
"hostname": "SPACEX",
"os": "windows",
"port": 443,
"service": "https",
"title": ["GoogleGoogle appsGoogle Search"],
"version": "1.1.0",
"device": "webcam",
"rdns": "c01031-001.cust.wallcloud.ch",
"product": "OpenSSD",
"header": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",
"header_hash": "27f9973fe57298c3b63919259877a84d",
"body": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",
"body_hash": "84a18166fde3ee7e7c974b8d1e7e21b4",
"banner": "SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3",
"update_time": "2024-07-03T14:34:10",
"header.server.name": "nginx",
"header.server.version": "1.8.1",
"continent.name": "欧洲",
"country.name": "德国",
"province.name": "黑森州",
"city.name": "法兰克福",
"lon": "118.753262",
"lat": "32.064838",
"isp.name": "aviel.ru",
"organization.name": "SERVISFIRST BANK",
"zipcode": "210003",
"idc": 0,
"honeypot": 0,
"asn": 4837,
"protocol": "tcp",
"ssl": "SSL Certificate Version: TLS 1.2 CipherSuit: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256...",
"primary_industry": "金融",
"sub_industry": "银行",
"rank": 60
}
]
}查询接口支持海量字段,如ip、port、domain、update_time等
| 字段名称 | 类型 | 描述 | 权限 |
|---|---|---|---|
| ip | string | IP 地址(web 资产时不完整时使用) | 所有用户 |
| domain | string | 域名 | 所有用户 |
| url | string | 资产的完整 URL(用于 web 资产) | 所有用户 |
| ssl.jarm | string | SSL JARM 指纹 | 所有用户 |
| ssl.ja3s | string | SSL JA3S 指纹 | 所有用户 |
| iconhash_md5 | string | icon 图像的 MD5 值 | 专业版及以上用户 |
| robots_md5 | string | robots.txt 文件的 MD5 值 | 商业版及以上用户 |
| security_md5 | string | 安全设置文件的 MD5 值 | 商业版及以上用户 |
| hostname | string | 主机名信息 | 所有用户 |
| os | string | 操作系统信息 | 所有用户 |
| port | integer | 端口号 | 所有用户 |
| service | string | 提供的应用协议(例如 HTTP、SSH) | 所有用户 |
| title | list | 网页标题 | 所有用户 |
| version | string | 组件版本信息 | 所有用户 |
| device | string | 设备名称 | 所有用户 |
| rdns | string | 反向 DNS 信息 | 所有用户 |
| product | string | 产品组件信息 | 所有用户 |
| header | string | HTTP 响应头信息 | 所有用户 |
| header_hash | string | 从 HTTP 响应头计算的哈希值 | 专业版及以上用户 |
| banner | string | 服务横幅信息 | 所有用户 |
| body | string | HTML 正文内容 | 商业版及以上用户 |
| body_hash | string | 从 HTML 正文计算的哈希值 | 专业版及以上用户 |
| update_time | string | 资产更新时间 | 所有用户 |
| header.server.name | string | HTTP 响应头中的 server 名称 | 所有用户 |
| continent.name | string | 所在大洲名称 | 所有用户 |
| country.name | string | 所在国家名称 | 所有用户 |
| province.name | string | 所在省份名称 | 所有用户 |
| city.name | string | 所在城市名称 | 所有用户 |
| isp.name | string | ISP 名称 | 所有用户 |
| organization.name | string | 组织信息名称 | 所有用户 |
| zipcode | integer | 邮政编码 | 所有用户 |
| idc | string | 是否为 IDC(0 表示否,1 表示是) | 所有用户 |
| lon | string | 地理位置经度 | 所有用户 |
| lat | string | 地理位置纬度 | 所有用户 |
| asn | string | 自治系统编号 | 所有用户 |
| protocol | string | 传输层协议(例如 TCP、UDP) | 所有用户 |
| honeypot | integer | 是否为蜜罐(0 表示否,1 表示是) | 所有用户 |
| ssl | string | SSL x509 证书信息 | 所有用户 |
| primary_industry | string | 主行业信息 | 商业版及以上用户 |
| sub_industry | string | 子行业信息 | 商业版及以上用户 |
| rank | integer | 资产重要性排名,分值越大重要性越高。 | 商业版及以上用户 |
将查询条件转换为 base64 编码,并将其作为 qbase64 参数传递给 API。
#bash
echo 'title="knownsec"' | base64
