📌 项目速览

属性 详情
项目名称 Sherlock
GitHub sherlock-project/sherlock
开发团队 Sherlock Project
核心定位 跨平台社交媒体账号追踪工具
Star 数 45k+ ⭐
License MIT
主语言 Python 3

一句话总结:Sherlock 是一款强大的 Python 命令行工具,可通过用户名在 390+ 个社交网络平台中查找对应的账号,是 OSINT(开源情报)领域的必备神器。


🎯 核心功能

1. 多平台账号搜索

支持 390+ 个社交网络平台:

  • 社交网络:Twitter/X、Facebook、Instagram、LinkedIn
  • 技术社区:GitHub、GitLab、Stack Overflow
  • 娱乐平台:YouTube、TikTok、Twitch、Spotify
  • 论坛社区:Reddit、Quora、Medium
  • 其他平台:Pinterest、Snapchat、Telegram 等

2. 批量搜索能力

# 搜索单个用户
sherlock user123

# 批量搜索多个用户
sherlock user1 user2 user3

# 指定特定平台
sherlock --site twitter --site instagram user123

3. 多种输出格式

格式 说明
Text 默认文本格式,终端直接显示
CSV 逗号分隔值,适合数据分析
XLSX Excel 格式,便于整理和分享
JSON 结构化数据,便于程序处理

4. 匿名搜索支持

  • Tor 代理--tor 参数支持 Tor 网络
  • 代理支持--proxy 支持 HTTP/SOCKS5 代理
  • 唯一 Tor 电路--unique-tor 每个请求使用新电路

🏗️ 技术架构

技术栈

组件 技术 说明
核心语言 Python 3.7+ 现代 Python 特性支持
HTTP 请求 requests / aiohttp 同步/异步网络请求
CLI 框架 argparse 命令行参数解析
数据格式 JSON 站点配置和结果存储
并发处理 asyncio / threading 提升查询效率

架构设计

┌─────────────────────────────────────────┐
│           Sherlock CLI                  │
│  ┌─────────┐ ┌─────────┐ ┌──────────┐  │
│  │ Argument│ │ Request │ │  Output  │  │
│  │ Parser  │ │ Handler │ │ Formatter│  │
│  └────┬────┘ └────┬────┘ └────┬─────┘  │
└───────┼──────────┼──────────┼─────────┘
        │          │          │
        ▼          ▼          ▼
   解析用户名   并发请求      格式化
   和参数      各平台 API    输出结果

核心模块

  1. sherlock.py:主程序入口,处理 CLI 参数
  2. sites.py:站点配置管理,加载 JSON 配置
  3. notify.py:通知功能,支持多种通知方式
  4. result.py:结果处理和格式化

✅ 优点分析

1. 覆盖广泛

  • 390+ 平台:涵盖主流社交媒体和技术社区
  • 持续更新:社区持续添加新平台支持
  • 全球覆盖:支持国内外主流平台

2. 开源免费

  • MIT 许可证:完全开源,可自由使用和修改
  • 社区活跃:45k+ Stars,贡献者众多
  • 文档完善:详细的使用文档和示例

3. 使用灵活

  • 多种安装方式:pip、Docker、源码安装
  • 多格式输出:Text、CSV、XLSX、JSON
  • 代理支持:Tor、HTTP、SOCKS5 代理

4. 性能优化

  • 异步支持:社区有 aiohttp 异步版本
  • 并发查询:多线程/多进程提升效率
  • 结果缓存:避免重复查询

⚠️ 缺点与局限

1. 误报问题

  • 假阳性:部分平台可能返回误导性结果
  • 新账号:刚注册的账号可能检测不到
  • 隐私设置:私密账号无法搜索

2. 平台限制

  • 反爬虫:部分平台有请求频率限制
  • API 变更:平台 API 变更需要更新适配
  • 地区限制:部分平台有地区访问限制

3. 法律风险

  • 隐私合规:使用时需遵守当地法律法规
  • 使用场景:仅限合法用途,禁止恶意使用
  • 数据保护:注意收集数据的存储安全

🆚 同类对比

工具 平台数 开源 特点 推荐指数
Sherlock 390+ 功能全面,社区活跃 ⭐⭐⭐⭐⭐
WhatsMyName 200+ Web 界面,易于使用 ⭐⭐⭐⭐
Namechk 100+ 商业工具,界面友好 ⭐⭐⭐
UserSearch 50+ 在线服务,简单快速 ⭐⭐⭐
Instant Username Search 100+ 实时搜索,界面简洁 ⭐⭐⭐⭐

Sherlock 的优势

  • 平台覆盖最广(390+)
  • 完全开源免费
  • CLI 工具,适合自动化
  • 社区活跃,持续更新

💡 适用场景

1. 网络安全领域

  • 渗透测试:信息收集阶段的用户名枚举
  • 社工测试:模拟攻击者的信息收集
  • 安全意识培训:演示用户名泄露风险

2. OSINT 调查

  • 数字足迹追踪:个人网络身份调查
  • 品牌保护:监测品牌相关账号
  • 舆情监控:追踪特定用户名相关动态

3. 个人用途

  • 用户名可用性检查:注册前检查是否被占用
  • 个人品牌管理:管理自己的网络身份
  • 失联好友查找:通过用户名寻找旧友

🚀 快速上手

安装

# 使用 pip 安装
pip install sherlock-project

# 或使用 pipx(推荐)
pipx install sherlock-project

# 使用 Docker
docker run -it --rm sherlock/sherlock

基础使用

# 搜索单个用户
sherlock user123

# 批量搜索
sherlock user1 user2 user3

# 输出 CSV 格式
sherlock --csv user123

# 使用 Tor 代理
sherlock --tor user123

# 指定特定平台
sherlock --site twitter --site instagram user123

高级用法

# 设置超时时间
sherlock --timeout 30 user123

# 打印所有结果(包括未找到的)
sherlock --print-all user123

# 浏览结果(自动打开浏览器)
sherlock --browse user123

# 包含 NSFW 站点
sherlock --nsfw user123

📊 总结评分

维度 评分 说明
功能性 ⭐⭐⭐⭐⭐ 390+ 平台支持,功能全面
易用性 ⭐⭐⭐⭐ 命令行工具,需要一定技术基础
性能 ⭐⭐⭐⭐ 支持异步和并发优化
社区活跃度 ⭐⭐⭐⭐⭐ 45k+ Stars,持续更新
文档质量 ⭐⭐⭐⭐ 文档完善,示例丰富

🎯 适合谁用?

网络安全从业者 - 渗透测试、社工测试
OSINT 研究员 - 开源情报收集、数字足迹调查
品牌保护人员 - 监测品牌相关账号
技术爱好者 - 学习 Python、了解 OSINT 工具

普通用户 - 如果只是偶尔查询,使用在线工具更简单
非法用途 - 严禁用于骚扰、人肉搜索等违法行为


🔗 相关链接

  • GitHub 仓库:https://github.com/sherlock-project/sherlock
  • 官方文档:https://sherlockproject.xyz/
  • PyPI 包:https://pypi.org/project/sherlock-project/

⚖️ 法律声明

⚠️ 重要提示:Sherlock 是一款强大的 OSINT 工具,仅限用于合法用途。使用时请遵守当地法律法规,尊重他人隐私。严禁用于骚扰、人肉搜索、网络暴力等违法行为。工具使用者需自行承担使用风险。


💬 一句话推荐:Sherlock 是 OSINT 领域的"瑞士军刀",390+ 平台覆盖、开源免费、社区活跃,是网络安全从业者和技术爱好者的必备工具!


本文基于 Sherlock 开源项目公开信息整理,如有更新请以官方文档为准。

推荐阅读:

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐