FOFA 搜索语法使用指南
FOFA 搜索语法使用指南
FOFA 是一个强大的网络空间搜索引擎,可以帮助用户查找互联网上的各种资产和服务。以下是详细的 FOFA 搜索语法说明及示例,帮助你更好地利用这一工具。
基本搜索操作符
| 字符/操作符 | 作用描述 | 示例 |
|---|---|---|
ip= | 限定目标 IP 地址。 | ip="8.8.8.8" 查找特定 IP 地址 |
host= | 限定目标主机名或域名。 | host="example.com" 查找特定域名 |
port= | 限定目标端口号。 | port="80" 查找开放 80 端口的服务 |
title= | 限定网页标题中包含的关键词。 | title="登录" 查找标题中包含 "登录" 的网页 |
banner= | 限定服务横幅(Banner)中包含的关键词。 | banner="Apache" 查找服务横幅中包含 "Apache" 的服务 |
header= | 限定 HTTP 响应头中包含的关键词。 | header="Server: nginx" 查找响应头中包含 "Server: nginx" 的服务 |
body= | 限定网页内容中包含的关键词。 | body="欢迎使用" 查找网页内容中包含 "欢迎使用" 的网页 |
cert= | 限定 SSL/TLS 证书中包含的关键词。 | cert="*.example.com" 查找证书中包含 "*.example.com" 的服务 |
country= | 限定目标所在的国家。 | country="CN" 查找位于中国的资产 |
region= | 限定目标所在的地区。 | region="北京市" 查找位于北京市的资产 |
city= | 限定目标所在的城市。 | city="北京" 查找位于北京的资产 |
isp= | 限定目标的互联网服务提供商。 | isp="中国电信" 查找由中国电信提供的服务 |
protocol= | 限定目标使用的协议类型(如 http, https, ssh, ftp 等)。 | protocol="https" 查找使用 HTTPS 协议的服务 |
app= | 限定目标应用名称。 | app="WordPress" 查找运行 WordPress 的服务 |
component= | 限定目标组件名称。 | component="Tomcat" 查找使用 Tomcat 组件的服务 |
os= | 限定目标操作系统。 | os="Windows" 查找运行 Windows 操作系统的资产 |
device= | 限定目标设备类型(如 web, iot, server 等)。 | device="web" 查找 Web 服务器 |
after= | 限定结果的时间范围(创建时间在指定日期之后)。 | after="2024-01-01" 查找 2024 年 1 月 1 日之后的资产 |
before= | 限定结果的时间范围(创建时间在指定日期之前)。 | before="2023-12-31" 查找 2023 年 12 月 31 日之前的资产 |
高级搜索技巧
使用布尔逻辑
-
AND
限定多个条件必须同时满足。- 示例:
ip="8.8.8.8" AND port="80"查找 IP 为 8.8.8.8 且开放 80 端口的服务
- 示例:
-
OR
限定多个条件中的任意一个满足即可。- 示例:
port="80" OR port="443"查找开放 80 或 443 端口的服务
- 示例:
-
NOT或-
排除特定条件。- 示例:
port="80" NOT banner="Apache"或port="80" -banner="Apache"查找开放 80 端口但服务横幅不包含 "Apache" 的服务
- 示例:
使用通配符
-
*
代表任意数量的字符。- 示例:
title="*登录*"查找标题中包含 "登录" 的所有变体
- 示例:
使用正则表达式
-
~
使用波浪线~来表示正则表达式匹配。- 示例:
title=~"登录.*页面"查找标题中包含 "登录" 后跟任意字符再跟 "页面" 的网页
- 示例:
使用数值范围
-
..
使用两个点号..来表示数值范围。- 示例:
port=80..90查找开放 80 到 90 端口的服务
- 示例:
使用时间范围
-
after=和before=
限定结果的时间范围。- 示例:
after="2024-01-01" before="2024-12-31"查找 2024 年内的资产
- 示例:
组合使用
你可以将多个操作符组合起来使用,以进一步缩小搜索范围。例如,如果你想要查找位于中国的、使用 Apache 作为 Web 服务器且开放 80 端口的 Web 服务器,可以这样写:
- 示例:
country="CN" AND port="80" AND banner="Apache"
实用提示
-
引号
""
使用引号来精确匹配短语。- 示例:
"全球气候变化"
- 示例:
-
()
使用括号来分组复杂的查询条件。- 示例: `(port="80" OR port="443")
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

