菜单

安装与使用

相关源文件

本文档提供了安装和使用 Sherlock 的详细说明,Sherlock 是一款用于通过用户名在社交网络上查找社交媒体账户的工具。有关底层架构和 Sherlock 内部工作原理的信息,请参阅核心架构

安装方法

Sherlock 可以通过多种方法安装,方便不同平台和偏好的用户使用。

Python 包安装

安装 Sherlock 的推荐方法是使用 Python 的包管理器

pipx install sherlock-project

或者,您可以使用 pip

pip install sherlock-project

来源:docs/README.md31

Docker 安装

Sherlock 可以作为 Docker 容器运行

docker run -it --rm sherlock/sherlock

来源:docs/README.md32

系统包管理器

官方软件包

dnf install sherlock-project

社区维护的软件包适用于

  • Debian (≥ 13)
  • Ubuntu (≥ 22.10)
  • Homebrew
  • Kali Linux
  • BlackArch

来源:docs/README.md33-35

注意:ParrotOS 和 Ubuntu 24.04 的第三方维护软件包似乎已损坏。这些系统的用户应改用 pipx/pip 或 Docker。

来源:docs/README.md25-27

基本用法

Sherlock 的主要功能是检查某个用户名是否存在于多个社交网络中。

搜索单个用户名

sherlock user123

结果将存储在以用户名命名的文本文件中(例如,user123.txt)。

来源:docs/README.md42-44

搜索多个用户名

sherlock user1 user2 user3

每个用户名的结果将存储在单独的文本文件中。

来源:docs/README.md46-51

命令行选项

Sherlock 提供了许多命令行选项来自定义其行为。这些选项按功能类别组织

来源:docs/README.md54-99

命令参考表

以下是所有可用命令行选项的完整表格

选项描述
用户名要在社交网络中检查的一个或多个用户名
--version显示版本信息和依赖项
--verbose, -v, -d, --debug显示额外的调试信息和指标
--folderoutput FOLDER, -fo FOLDER如果使用多个用户名,将结果保存到此文件夹
--output FILE, -o FILE如果使用单个用户名,将结果保存到此文件
--tor, -t通过 Tor 网络发出请求(需要安装 Tor)
--unique-tor, -u每次请求使用新的 Tor 电路(增加运行时长)
--csv创建逗号分隔值 (CSV) 文件
--xlsx创建 Excel (XLSX) 电子表格文件
--site SITE_NAME将分析限制在指定的站点(可多次使用)
--proxy PROXY_URL, -p PROXY_URL通过代理发出请求(例如,socks5://127.0.0.1:1080)
--json JSON_FILE, -j JSON_FILE从 JSON 文件或有效的在线 JSON 文件加载数据
--timeout TIMEOUT等待响应的秒数(默认:60)
--print-all输出未找到用户名的站点
--print-found仅输出找到用户名的站点
--no-color不对终端输出着色
--browse, -b在默认浏览器中打开找到的账户
--local, -l强制使用本地的 data.json 文件
--nsfw包含检查默认列表中的 NSFW 站点

来源:docs/README.md54-99

高级用法

用户名模式匹配

Sherlock 支持使用 {?} 模式检查相似用户名,该模式会被替换为 _-.

sherlock user{?}name

这将检查 user_nameuser-nameuser.name

来源:docs/README.md65-66

网络配置

使用代理

Sherlock 可以通过代理路由请求

sherlock --proxy socks5://127.0.0.1:1080 username

来源:docs/README.md89-90

使用 Tor 实现匿名性

对于匿名搜索,Sherlock 可以通过 Tor 网络路由请求

sherlock --tor username

为了最大限度的匿名性(每次请求使用新电路)

sherlock --unique-tor username

注意:使用 Tor 要求您的系统已安装并运行 Tor 服务。

来源:docs/README.md79-83

自定义站点选择

限制站点

仅搜索特定站点

sherlock --site twitter --site instagram username

来源:docs/README.md87-88

包含 NSFW 站点

在搜索中包含 NSFW 站点

sherlock --nsfw username

来源:docs/README.md99

输出自定义

Sherlock 支持多种输出格式

  • 纯文本(默认)
  • CSV:--csv
  • Excel:--xlsx

组合格式示例

sherlock --csv --xlsx username

来源:docs/README.md84-86

浏览器集成

直接在浏览器中打开找到的账户

sherlock --browse username

来源:docs/README.md97

自定义站点数据

您可以使用包含站点定义的自定义 JSON 文件

sherlock --json custom_sites.json username

或者,强制使用本地的 data.json 文件

sherlock --local username

来源:docs/README.md91-98

故障排除

常见问题与解决方案

问题解决方案
限流使用 --timeout 来增加等待时间
IP 封锁使用 --tor--unique-tor 轮换 IP 地址
误报/漏报使用 --verbose 查看详细的请求/响应信息
依赖错误确保所有要求都已安装,或使用 Docker
安装问题对于 Ubuntu 24.04 和 ParrotOS,请使用 pipx/pip 或 Docker

输出文件问题

如果您的输出文件遇到问题,请检查

  1. 输出目录中的文件系统权限
  2. 可用磁盘空间
  3. 输出格式是否被 .gitignore 模式忽略

来源:.gitignore30-38

实际示例

基本用户名侦察

sherlock username

这将在所有支持的网络中搜索“username”,并将结果保存到“username.txt”。

全面调查

sherlock --csv --xlsx --folderoutput ./investigation user1 user2 user3

这将搜索多个用户名,并将结果以多种格式保存到“investigation”文件夹中。

sherlock --unique-tor --timeout 120 sensitive_username

这将通过 Tor 执行搜索,每次请求使用新的电路并延长超时时间。

针对特定平台的集中搜索

sherlock --site twitter --site instagram --site github --print-found username

这仅搜索 Twitter、Instagram 和 GitHub,并且只显示找到的账户。

来源:docs/README.md42-99