SpiderFoot 开源情报(OSINT)自动化工具详细部署教程
SpiderFoot 开源情报(OSINT)自动化工具详细部署教程
本教程将基于 smicallef/spiderfoot 项目,详细介绍如何在多种操作系统上部署这款强大的OSINT侦察工具。
1. SpiderFoot 简介
SpiderFoot 是一款开源的自动化情报收集工具,它的目标是自动化地收集关于目标(IP地址、域名、电子邮件等)的情报。它集成了超过 200 个模块,可以查询各种公共数据源(如搜索引擎、社交网络、威胁情报平台等),帮助安全人员、渗透测试者或企业了解自身的攻击面。
2. 部署方式与选择
根据您的需求和环境,可以选择以下几种主流部署方式:
| 部署方式 | 适用场景 | 优点 |
|---|---|---|
| 源码安装 (推荐) | 大多数Linux/macOS系统,需要高度自定义 | 官方支持,模块齐全,便于开发 |
| Kali Linux 安装 | Kali Linux 用户 | 预置或通过apt快速安装,系统集成度高 |
| Docker 部署 | 熟悉容器化,追求快速部署和环境隔离 | 一键运行,环境干净,易于迁移 |
| Windows 部署 | Windows 环境下的使用 | 通过Python运行,适合习惯Windows操作界面的用户 |
3. 详细部署步骤
方式一:源码安装 (适用于 Ubuntu/Debian 及多数 Linux)
此方式最为灵活,推荐作为首选。
第一步:环境准备
确保您的系统已安装 Python 3.8 或更高版本。可以使用以下命令检查:
1 | python3 --version |
建议使用虚拟环境,避免依赖冲突。
1 | python3 -m venv ~/spiderfoot-env |
第二步:下载源码
通过 git 克隆项目仓库(或下载稳定版本的压缩包)。
1 | git clone https://github.com/smicallef/spiderfoot.git |
第三步:安装依赖
项目所需的Python库都在 requirements.txt 文件中。国内用户可临时使用镜像源加速。
1 | pip install -r requirements.txt |
如果在安装 cryptography 等底层库时遇到问题,可尝试先单独安装或升级相关包。
第四步:启动服务
使用 sf.py 脚本启动Web界面。-l 参数指定监听的地址和端口,默认为 127.0.0.1:5001。
1 | python3 sf.py -l 127.0.0.1:5001 |
第五步:访问界面
在浏览器中打开 http://127.0.0.1:5001 即可开始使用。
方式二:在 Kali Linux 中安装
Kali Linux 本身可能已预装 SpiderFoot。如果没有,安装非常简便。
方法 A:使用 apt 安装(推荐)
这是最快速、最稳定的方法,Kali 的软件源会处理好所有依赖。
1 | sudo apt update |
安装后,直接在终端输入 spiderfoot -l 127.0.0.1:5001 即可启动。
方法 B:使用 pip 安装
1 | pip install spiderfoot |
方式三:使用 Docker 部署
如果希望快速部署且不污染主机环境,Docker 是绝佳选择。社区提供了多种镜像,例如 joshuapfritz/spiderfoot。
第一步:拉取并运行容器
以下命令会以后台模式运行容器,将宿主机的 5001 端口映射到容器的 5001 端口,并将数据持久化到当前目录的 spiderfoot-data 文件夹。
1 | docker run -d --name spiderfoot \ |
第二步:访问界面
在浏览器中打开 http://127.0.0.1:5001。
进阶:使用 Docker Compose 部署完整服务栈
更复杂的部署(如包含数据库、任务队列、监控等)可以使用 docker-compose.yml 文件进行编排。这种方式适合生产环境或需要弹性扩展的场景。
1 | # 复制配置文件 |
访问地址会根据您启用的配置(profile)有所不同,核心服务UI在 http://localhost:3000。
方式四:在 Windows 上部署
SpiderFoot 没有官方的 .exe 可执行文件,需要以 Python 脚本方式运行。
第一步:安装 Python
从官网下载并安装 Python 3.9 或兼容版本。务必勾选 “Add Python to PATH” 选项。安装完成后重启电脑。
第二步:获取源码
从 GitHub 下载源码压缩包并解压,例如解压到 C:\Tools\SpiderFoot。
1 | git clone https://github.com/smicallef/spiderfoot.git C:\Tools\SpiderFoot |
第三步:安装依赖
进入解压后的目录,在命令行中运行:
1 | cd C:\Tools\SpiderFoot |
第四步:启动服务
在SpiderFoot目录下运行 sf.py,指定监听地址为 127.0.0.1:5001。
1 | python sf.py -l 127.0.0.1:5001 |
然后在浏览器访问 http://127.0.0.1:5001 即可。
4. 首次启动与安全配置
无论哪种方式成功启动后,首次使用前建议确认以下几点:
- 监听地址:
127.0.0.1是安全的默认值,请不要为了方便将其改为0.0.0.0或公网地址,除非您完全了解暴露风险。 - 数据存储:扫描结果会保存在本地(如
spiderfoot.db),其中可能包含敏感信息,请妥善管理。 - API 密钥:许多模块需要配置第三方服务的 API Key 才能工作。请在 Web 界面的设置中配置,并将这些 Key 视作密码妥善保管,切勿提交到公共代码仓库。
5. 开始你的第一次扫描
- 在浏览器中打开 SpiderFoot Web 界面
http://127.0.0.1:5001。 - 点击 “New Scan” 按钮。
- 输入你要调查的目标(例如一个域名
example.com),选择目标类型。 - 根据需要选择要启用的模块。对于初学者,可以先从基础的 DNS、WHOIS、子域名枚举等模块开始,而不是一次性开启所有模块,这样结果更可控且易于理解。
- 点击 “Run Scan”,扫描便会开始。你可以在界面上实时查看进度、发现的事件(Events)以及它们之间的关联关系图。





