fofa语法

1- 查询语法参考

1.1- 基础类(General)

语法 示例 用途说明 = != *=
ip ip="1.1.1.1" 通过单一 IPv4 地址进行查询 -
ip="220.181.111.1/24" 通过 IPv4 C 段进行查询 -
ip="2600:9000:202a:2600:18:4ab7:f600:93a1" 通过单一 IPv6 地址进行查询 -
port port="6379" 通过端口号进行查询
domain domain="qq.com" 通过根域名进行查询
host host=".fofa.info" 通过主机名进行查询
os os="centos" 通过操作系统进行查询
server server="Microsoft-IIS/10" 通过服务器进行查询
asn asn="19551" 通过自治系统号进行搜索
org org="LLC Baxet" 通过所属组织进行查询
is_domain is_domain=true 筛选拥有域名的资产 - -
is_domain=false 筛选没有域名的资产 - -
is_ipv6 is_ipv6=true 筛选是 IPv6 的资产 - -
is_ipv6=false 筛选是 IPv4 的资产 - -

1.2- 标记类(Special Label)

语法 示例 用途说明 = != *=
app app="Microsoft-Exchange" 通过 FOFA 整理的规则进行查询 - -
fid fid="sSXXGNUO2FefBTcCLIT/2Q==" 通过 FOFA 聚合的站点指纹进行查询 -
product product="NGINX" 通过 FOFA 标记的产品名进行查询 -
category category="服务" 通过 FOFA 标记的分类进行查询 -
type type="service" 筛选协议资产 - -
type="subdomain" 筛选服务(网站类)资产 - -
cloud_name cloud_name="Aliyundun" 通过云服务商进行查询
is_cloud is_cloud=true 筛选是云服务的资产 - -
is_cloud=false 筛选不是云服务的资产 - -
is_fraud is_fraud=true 筛选是仿冒垃圾站群的资产(专业版及以上) - -
is_fraud=false 筛选不是仿冒垃圾站群的资产(默认筛选) - -
is_honeypot is_honeypot=true 筛选是蜜罐的资产(专业版及以上) - -
is_honeypot=false 筛选不是蜜罐的资产(默认筛选) - -

1.3- 协议类(type=service)

语法 示例 用途说明 = != *=
protocol protocol="quic" 通过协议名称进行查询
banner banner="users" 通过协议返回信息进行查询
base_protocol base_protocol="udp" 查询传输层为 UDP 协议的资产 -
base_protocol="tcp" 查询传输层为 TCP 协议的资产 -

1.4- 网站类(type=subdomain)

语法 示例 用途说明 = != *=
title title="beijing" 通过网站标题进行查询
header header="elastic" 通过响应标头进行查询
header_hash header_hash="1258854265" 通过 HTTP/HTTPS 响应头计算的哈希值进行查询 -
body body="网络空间测绘" 通过 HTML 正文进行查询 -
body_hash body_hash="-2090962452" 通过 HTML 正文计算的哈希值进行查询 -
js_name js_name="js/jquery.js" 通过 HTML 正文包含的 JS 文件进行查询
js_md5 js_md5="82ac3f14327a8b7ba49baa208d4eaa15" 通过 JS 源码进行查询 -
cname cname="ap21.inst.siteforce.com" 通过别名记录进行查询
cname_domain cname_domain="siteforce.com" 通过别名记录解析的主域名进行查询
icon_hash icon_hash="-247388890" 通过网站图标的哈希值进行查询 -
status_code status_code="402" 筛选服务状态为 402 的服务(网站)资产 -
icp icp="京ICP证030173号" 通过 HTML 正文包含的 ICP 备案号进行查询
sdk_hash sdk_hash=="Mkb4Ms4R96glv/T6TRzwPWh3UDatBqeF" 通过嵌入的第三方代码计算的哈希值进行查询 -

1.5- 地理位置(Location)

语法 示例 用途说明 = != *=
country country="CN" 通过国家的简称代码进行查询 -
country="中国" 通过国家中文名称进行查询 -
region region="Zhejiang" 通过省份/地区英文名称进行查询 -
region="浙江" 通过省份/地区中文名称进行查询(仅支持中国) -
city city="Hangzhou" 通过城市英文名称进行查询 -

1.6- 证书类

语法 示例 用途说明 = != *=
cert cert="baidu" 通过证书进行查询
cert.subject cert.subject="Oracle Corporation" 通过证书的持有者进行查询
cert.issuer cert.issuer="DigiCert" 通过证书的颁发者进行查询
cert.subject.org cert.subject.org="Oracle Corporation" 通过证书持有者的组织进行查询
cert.subject.cn cert.subject.cn="baidu.com" 通过证书持有者的通用名称进行查询
cert.issuer.org cert.issuer.org="cPanel, Inc." 通过证书颁发者的组织进行查询
cert.issuer.cn cert.issuer.cn="Synology Inc. CA" 通过证书颁发者的通用名称进行查询
cert.domain cert.domain="huawei.com" 通过证书持有者的根域名进行查询
cert.is_equal cert.is_equal=true 筛选证书颁发者和持有者匹配的资产 - -
cert.is_equal=false 筛选证书颁发者和持有者不匹配的资产 - -
cert.is_valid cert.is_valid=true 筛选证书是有效证书的资产 - -
cert.is_valid=false 筛选证书是无效证书的资产 - -
cert.is_match cert.is_match=true 筛选证书和域名匹配的资产 - -
cert.is_match=false 筛选证书和域名不匹配的资产 - -
cert.is_expired cert.is_expired=true 筛选证书已过期的资产 - -
cert.is_expired=false 筛选证书未过期的资产 - -
jarm jarm="2ad2ad0002ad2ad22c2ad2ad2ad2ad2eac92ec34bcc0cf7520e97547f83e81" 通过 JARM 指纹进行查询
tls.version tls.version="TLS 1.3" 通过 TLS 的协议版本进行查询 -
tls.ja3s tls.ja3s="15af977ce25de452b96affa2addb1036" 通过 TLS 的 JA3S 指纹进行查询

1.7- 时间类(Last update time)

语法 示例 用途说明 = != *=
after after="2023-01-01" 筛选某一时间之后有更新的资产 - -
before before="2023-12-01" 筛选某一时间之前有更新的资产 - -
after&before after="2023-01-01" && before="2023-12-01" 筛选某一时间区间有更新的资产 - -

1.8- 独立 IP 语法

语法 示例 用途说明 = != *=
port_size port_size="6" 筛选开放端口数量等于 6 个的独立 IP -
port_size_gt port_size_gt="6" 筛选开放端口数量大于 6 个的独立 IP - -
port_size_lt port_size_lt="12" 筛选开放端口数量小于 12 个的独立 IP - -
ip_ports ip_ports="80,161" 筛选同时开放不同端口的独立 IP - -
ip_country ip_country="CN" 通过国家的简称代码进行查询独立 IP - -
ip_region ip_region="Zhejiang" 通过省份/地区英文名称进行查询独立 IP - -
ip_city ip_city="Hangzhou" 通过城市英文名称进行查询独立 IP - -
ip_after ip_after="2021-03-18" 筛选某一时间之后有更新的独立 IP - -
ip_before ip_before="2019-09-09" 筛选某一时间之前有更新的独立 IP - -