Sherlock 用户名追踪工具
Sherlock 是一款用 Python 编写的开源 OSINT 命令行工具,可根据用户名在 400 多个社交网络中批量检索账号是否存在,结果可导出为文本、CSV、XLSX 或 JSON,广泛用于安全研究与信息收集。
过去 7 天收获 2 颗 Star
爱鲜报评分
0 人评分
95k
星数
否
中文
Python
主语言
是
活跃
315
贡献者
人工分析
EDITORIAL推荐理由
项目星标近 10 万,是 OSINT 领域事实上的标准工具之一,站点数据由社区持续维护,覆盖面广。纯命令行、依赖少,配合 pipx 或 Docker 即可快速上手,适合安全从业者与开发者日常使用。
适用场景
- 渗透测试前期信息收集与资产画像
- 红队侦察阶段确认目标社交账号分布
- 数字取证与事件调查中的账号关联分析
- 个人品牌保护:检查用户名在各平台的占用情况
- 安全教学与 OSINT 工具链演示
优点
- 覆盖 400+ 社交站点,社区持续新增与修正
- 支持多用户名批量查询,输出 txt/CSV/XLSX/JSON 多种格式
- 提供代理、超时、站点筛选、NSFW 开关等实用参数
- 安装方式丰富:pipx、pip、uv、Docker、dnf 及多种发行版包
- MIT 协议开源,代码结构清晰,便于二次开发与集成
缺点
- 结果基于 HTTP 响应特征判断,存在误报与漏报可能
- 部分站点有反爬或限流,需配置代理与合理超时
- 第三方维护的 ParrotOS、Ubuntu 24.04 包目前不可用
- 仅做账号存在性探测,不提供内容抓取或深度分析
- 使用需遵守目标平台条款与当地法律法规
Sherlock 是什么
Sherlock 是一个用 Python 编写的开源 OSINT(公开情报)命令行工具,输入一个或多个用户名,它会在 400 多个社交网络 上逐一探测对应账号是否存在,并把命中的链接整理输出。项目在 GitHub 上拥有近 10 万星标,是信息收集领域最常用的工具之一。
核心能力
- 批量查询:一次传入多个用户名,逐个站点检测。
- 多格式输出:默认生成与用户名同名的 txt 文件,也可导出 CSV、XLSX、JSON。
- 站点筛选:通过
--site只检测指定站点,减少无关请求。 - 网络控制:支持
--proxy走代理、--timeout调整超时,应对限流与网络受限环境。 - 结果浏览:
--browse可直接在默认浏览器打开所有命中链接。 - 本地数据:
--local强制使用本地data.json,便于离线或自定义站点列表。
安装方式
官方推荐使用 pipx(也可用 pip 或 uv),或直接运行 Docker 镜像:
pipx install sherlock-project
# 或
docker run -it --rm sherlock/sherlock
注意:第三方维护的 ParrotOS 与 Ubuntu 24.04 软件包目前存在问题,这些系统建议改用
uv/pipx/pip或 Docker。
基本用法
# 查询单个用户名
sherlock user123
# 查询多个用户名
sherlock user1 user2 user3
# 只查指定站点并导出 CSV
sherlock user123 --site GitHub --site Reddit --csv
命中的账号会写入以用户名命名的文本文件(如 user123.txt),方便后续整理。
适用与边界
Sherlock 适合渗透测试前期侦察、红队信息收集、数字取证辅助以及个人用户名占用检查。它只判断账号是否存在,不做内容抓取或深度画像;由于判定依赖各站点响应特征,结果可能存在误报或漏报,建议结合人工复核。使用时请遵守目标平台服务条款与当地法律法规。
项目生态
项目采用 MIT 协议,站点清单由社区通过 PR 持续维护,官网提供安装、使用与贡献文档,并有活跃的贡献者社区,适合作为 OSINT 工具链中的基础组件进行二次开发。
评论
- 暂无评论,来写第一条吧。