本文为对 FOFA 官方语法说明文档 的整理与归纳,原文版权归 FOFA 所有。本文仅用于学习和研究,包含部分使用示例与扩展解读。
高级搜索
= | 匹配,=””时,可查询不存在字段或者值为空的情况。(正选) |
---|
!= | 不匹配,!=””时,可查询值不为空的情况。(反选) |
逻辑连接符 | 具体含义 |
== | 完全匹配,==””时,可查询存在且值为空的情况。() |
*= | 模糊匹配,使用*或者?进行搜索。 ?(问号(?)代表一个字符, 星号(*)代表0个或多个字符 |
&& | 与 |
|| | 或 |
() | 确认查询优先级,括号内容优先级最高。(如果查询表达式有多个与或关系,尽量在外面用()包含起来;) |
关于建站软件的搜索语法请参考:组件列表(需要加入VIP会员)
基础类(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 | 筛选是ipv4的资产 | ✓ | – | – |
## 标记类(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” | 筛选不是蜜罐的资产(专业版及以上) | ✓ | – | – |
协议类 (type=service)
语法 | 例句 | 用途说明 | =(匹配) | !=(反选) | *=(模糊匹配) |
---|
protocol | protocol=”quic” | 通过协议名称进行查询 | ✓ | ✓ | ✓ |
banner | banner=”users” | 通过协议返回信息进行查询 | ✓ | ✓ | – |
banner_hash | banner_hash=”7330105010150477363″ | 通过协议响应体计算的hash值进行查询(个人版及以上) | ✓ | ✓ | – |
banner_fid | banner_fid=”zRpqmn0FXQRjZpH8MjMX55zpMy9SgsW8″ | 通过协议返回信息结构计算的指纹值进行查询(个人版及以上) | ✓ | ✓ | – |
base_protocol | base_protocol=”udp” | 查询传输层为udp协议的资产 | ✓ | ✓ | – |
base_protocol=”tcp” | 查询传输层为tcp协议的资产 | ✓ | ✓ | – |
网站类(type=subdomain)
语法 | 例句 | 用途说明 | =(匹配) | !=(反选) | *=(模糊匹配) |
---|
title | title=”beijing” | 通过网站标题进行查询 | ✓ | ✓ | ✓ |
header | header=”elastic” | 通过响应标头进行查询 | ✓ | ✓ | – |
header_hash | header_hash=”1258854265″ | 通过http/https响应头计算的hash值进行查询 (个人版及以上) | ✓ | ✓ | ✓ |
body | body=”网络空间测绘” | 通过HTML正文进行查询 | ✓ | ✓ | – |
body_hash | body_hash=”-2090962452″ | 通过HTML正文计算的hash值进行查询 | ✓ | ✓ | – |
js_name | js_name=”js/jquery.js” | 通过HTML正文包含的JS进行查询 | ✓ | ✓ | ✓ |
js_md5 | js_md5=”82ac3f14327a8b7ba49baa208d4eaa15″ | 通过JS源码进行查询 | ✓ | ✓ | ✓ |
cname | cname=”customers.spektrix.com” | 通过别名记录进行查询 | ✓ | ✓ | ✓ |
cname_domain | cname_domain=”siteforce.com” | 通过别名记录解析的主域名进行查询 | ✓ | ✓ | ✓ |
icon_hash | icon_hash=”-247388890″ | 通过网站图标的hash值进行查询 | ✓ | ✓ | – |
status_code | status_code=”402″ | 筛选服务状态为402的服务(网站)资产 | ✓ | ✓ | – |
icp | icp=”京ICP证030173号” | 通过HTML正文包含的ICP备案号进行查询 | ✓ | ✓ | ✓ |
sdk_hash | sdk_hash=”Are3qNnP2Eqn7q5kAoUO3l+w3mgVIytO” | 通过网站嵌入的第三方代码计算的hash值进行查询 (商业版及以上) | ✓ | ✓ | – |
地理位置(Location)
语法 | 例句 | 用途说明 | =(匹配) | !=(反选) | *=(模糊匹配) |
---|
country | country=”CN” | 通过国家的简称代码进行查询 | ✓ | ✓ | – |
country=”中国” | 通过国家中文名称进行查询 | ✓ | ✓ | – |
region | region=”ZheJiang” | 通过省份/地区英文名进行查询 | ✓ | ✓ | – |
region=”浙江” | 通过省份/地区中文名进行查询 | ✓ | ✓ | – |
city | city=”Hangzhou” | 通过城市英文名进行查询 | ✓ | ✓ | – |
证书类(Certificate)
语法 | 例句 | 用途说明 | =(匹配) | !=(反选) | *=(模糊匹配) |
---|
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=”flase” | 筛选证书未过期的资产(个人版及以上) | ✓ | – | – |
jarm | jarm=”2ad2ad0002ad2ad22c2ad2ad2ad2ad2eac92ec34bcc0cf7520e97547f83e81″ | 通过JARM指纹进行查询 | ✓ | ✓ | ✓ |
tls.version | tls.version=”TLS 1.3″ | 通过tls的协议版本进行查询 | ✓ | ✓ | – |
tls.ja3s | tls.ja3s=”15af977ce25de452b96affa2addb1036″ | 通过tls的ja3s指纹进行查询 | ✓ | ✓ | ✓ |
cert.sn | cert.sn=”356078156165546797850343536942784588840297″ | 通过证书序列号进行查询 | ✓ | ✓ | – |
cert.not_after.after | cert.not_after.after=”2025-03-01″ | 筛选某证书到期日期后的证书 | ✓ | – | – |
cert.not_after.before | cert.not_after.before=”2025-03-01″ | 筛选某证书到期日期前的证书 | ✓ | – | – |
cert.not_before.after | cert.not_before.after=”2025-03-01″ | 筛选某证书生效日期后的证书 | ✓ | – | – |
cert.not_before.before | cert.not_before.before=”2025-03-01″ | 筛选某证书生效日期前的证书 | ✓ | – | – |
时间类(Last update time)
语法 | 例句 | 用途说明 | =(匹配) | !=(反选) | *=(模糊匹配) |
---|
after | after=”2023-01-01″ | 筛选某一时间之后有更新的资产 | ✓ | – | – |
before | before=”2023-12-01″ | 筛选某一时间之前有更新的资产 | ✓ | – | – |
after&before | after=”2023-01-01″ && before=”2023-12-01″ | 筛选某一时间区间有更新的资产 | ✓ | – | – |
独立IP语法(独立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 | ✓ | – | – |
参考来源
[1] FOFA官网. FOFA 语法说明. https://fofa.info/
作者:御衡
日期:2025-06-13