菜单

概述

相关源文件

本页面全面介绍了 Sherlock Project,这是一个 OSINT(开源情报)工具,旨在通过用户名在 400 多个社交网络上查找社交媒体账户。有关详细的安装方法,请参阅安装和使用;有关贡献指南,请参阅贡献

什么是 Sherlock?

Sherlock 是一款命令行工具,允许用户同时在数百个社交网络上搜索特定用户名。该项目旨在通过检查给定用户名是否存在于各种平台上来帮助进行侦察和信息收集。

来源:pyproject.toml10-14 docs/README.md4-6

主要功能

  • 在 400 多个社交网络上搜索用户名
  • 多种输出格式(文本、CSV、Excel)
  • 支持代理和 Tor,实现匿名搜索
  • 异步处理,提高性能
  • 详细的错误检测,准确判断账户是否存在
  • Docker 部署选项,支持容器化操作

来源:docs/README.md54-99 pyproject.toml42-52

系统架构

Sherlock 遵循数据驱动架构,其核心引擎根据丰富的网站配置数据库处理用户名,以确定账户是否存在。

来源:pyproject.toml61 Dockerfile31

用户名搜索过程

Sherlock 的核心功能围绕着用户名搜索过程,该过程采用系统方法在各种社交网络中检查用户名。

来源:docs/README.md40-51

错误检测方法

Sherlock 采用复杂的错误检测机制,以准确判断特定平台上是否存在用户名。

部署选项

Sherlock 可以通过多种方式部署

部署方法命令备注
Python 包pipx install sherlock-project推荐给大多数用户
Dockerdocker run -it --rm sherlock/sherlock容器化部署
包管理器dnf install sherlock-project适用于某些 Linux 发行版

其他由社区维护的软件包可用于 Debian、Ubuntu、Homebrew、Kali 和 BlackArch。

来源:docs/README.md29-36 Dockerfile27

项目组织

Sherlock 项目的组织结构注重可维护性和可扩展性。

来源:pyproject.toml9-37 Dockerfile15-25

命令行界面

Sherlock 提供了一个全面的命令行界面,具有多种用于自定义搜索的选项

sherlock username [options]

主要选项包括

  • 输出格式 (--csv, --xlsx)
  • 网络选项 (--tor, --proxy)
  • 网站过滤 (--site SITE_NAME)
  • 结果控制 (--print-found, --print-all)

有关完整的选项列表,请参阅命令行界面

来源:docs/README.md54-99

项目历史与维护

Sherlock 最初由 Siddharth Dushantha 创建,现在由一个贡献者团队维护。

  • Paul Pfeister
  • Matheus Felipe
  • Sondre Karlsen Dyrnes

该项目通过定期更新站点数据库和功能改进而不断发展。

来源:pyproject.toml15-21 docs/README.md120-121

技术要求

Sherlock 需要:

  • Python 3.9 或更高版本
  • 多个依赖项,包括 requests、colorama 和 PySocks
  • 可选的 Tor 集成,用于匿名搜索

来源:pyproject.toml43-52

结论

Sherlock 是一款强大的 OSINT 工具,用于在社交网络上进行用户名侦察。其数据驱动的架构便于轻松扩展到新平台,而其灵活的错误检测方法则适应不同的网站实现。凭借多种部署选项和全面的文档,Sherlock 为社交媒体账户发现提供了一个易于访问且高效的解决方案。

有关核心架构和组件的更多详细信息,请参阅核心架构