一、这是什么
Sherlock 是一个开源的命令行工具:你给它一个用户名,它就去 400 多个社交网站和网络平台上逐个查询,告诉你这个用户名在哪里注册过账号,并把找到的账号链接汇总成一份结果文件。它在 2026 年 11 月 8 日登上 GitHub 当日热门榜第 1 名,核实时主仓库已有约 10.36 万个 star,当日新增约 2,373 个,许可证为 MIT。
这个项目从 2018 年就开始维护了,是开源情报(OSINT)领域最常用的用户名搜索工具之一。它的工作原理很直接:内置了一份覆盖 400 多个站点的规则清单(data.json),对每个站点按规则构造出「用户名对应的个人主页地址」,再逐个请求验证该页面是否存在,最后汇总成报告。整个过程不需要你注册任何账号,也不需要 API 密钥。
它适合这些人:想确认自己的用户名有没有在不记得的网站上注册过的人;做品牌保护、想查自己的品牌名或用户名有没有被冒用的人;做安全研究、需要快速核查一组用户名分布情况的人;以及对开源情报工具感兴趣、想亲手跑一遍的人。
二、开始前先确认
- 先装好 Python 3:Sherlock 是 Python 写的工具,本机需要有 Python 3 才能安装。打开终端执行
python3 --version,能印出版本号即可;没有的话先去 Python 官网下载安装。 - 建议装 pipx:官方推荐用 pipx 安装(比 pip 更不容易污染系统环境)。没有 pipx 也可以用 pip 或 uv,效果一样。
- 只查自己或有正当理由的用户名:查自己的用户名、自己的品牌名,或者经授权做安全核查,这是这个工具的正当用途。不要拿它去搜别人的真实身份信息、做人肉搜索或骚扰跟踪。
- 结果要逐个核实:Sherlock 只是按规则判断「这个地址存在」,同名不同人、已被注销又被回收的用户名都可能造成误报。看到结果后,一定要逐个点开链接确认。
- 默认不查 NSFW 站点:不加参数时,Sherlock 会跳过内置清单里的 NSFW 站点;只有加上
--nsfw才会包含它们。 - 查得多、速度取决于网络:一次搜索要请求 400 多个站点,默认每个请求最多等 60 秒,完整跑完通常需要几分钟,耐心等它跑完。
三、操作步骤
步骤 1:安装 Sherlock
官方推荐用 pipx 安装,在终端执行:
pipx install sherlock-project没有 pipx 的话,用 pip 也一样(建议加 --user,装到用户目录):
pip install --user sherlock-projectmacOS 用户也可以用 Homebrew 安装:
brew install sherlockFedora 用户可以直接用系统包管理器:
sudo dnf install sherlock-project装好后验证一下,执行:
sherlock --version能印出 Sherlock: Find Usernames Across Social Networks (Version 0.16.0) 之类的版本信息,就说明安装成功,可以开始用了。

图 1:用 pipx 安装 Sherlock 并验证版本的示意。图片为 AI 生成的操作示意图,实际界面以终端输出为准。
步骤 2:第一次搜索——查一个用户名
最简单的用法就是直接在命令后面跟用户名,例如查 user123:
sherlock user123Sherlock 会逐个查询 400 多个站点,终端实时滚动显示每个站点的结果:前面标 [+] 的表示找到了账号,后面会附上链接;标 [-] 的表示这个用户名在该站点不存在。跑完后,当前目录下会生成一个 user123.txt,里面保存了所有找到的账号链接。
想一次查多个用户名也很简单,空格隔开就行:
sherlock user1 user2 user3多用户名时,每个用户名的结果会分别保存成对应的 txt 文件。
还有一个很实用的小技巧:用户名里可以用 {?} 做通配符,Sherlock 会自动把 {?} 换成 _、-、. 再各查一遍,帮你覆盖用户名的常见变体:
sherlock user{?}123
图 2:搜索一个用户名,终端实时显示各站点的查询结果的示意。图片为 AI 生成的操作示意图,实际界面以终端输出为准。
步骤 3:限定站点、导出结果、提高效率
默认全量搜索要跑 400 多个站点,比较耗时。下面这几个参数能让你用得更顺手:
只查指定站点:用 --site 限定只查某几个站点,可以重复使用:
sherlock --site GitHub --site Twitter user123导出 CSV 或 Excel:加 --csv 生成 CSV 文件,加 --xlsx 生成 Excel 文件,方便后续筛选和存档:
sherlock --csv --xlsx user123只显示找到的结果:默认会输出全部站点的查询情况,只想看找到的账号时加上 --print-found:
sherlock --print-found user123调超时时间:某个站点响应慢、老是超时时,可以用 --timeout 调大等待时间(单位是秒,默认 60):
sherlock --timeout 120 user123在浏览器里打开全部结果:想逐个点开核实时,加上 --browse,跑完后会自动在默认浏览器里打开所有找到的账号页面:
sherlock --browse user123用代理:网络受限、需要走代理时,用 --proxy 指定代理地址:
sherlock --proxy socks5://127.0.0.1:1080 user123不想安装也能用 Docker:本机不想装 Python 环境时,直接跑官方镜像,一次性搜索不需要安装任何东西:
docker run --rm -t sherlock/sherlock user123
图 3:限定站点并导出 CSV/Excel 结果的示意。图片为 AI 生成的操作示意图。
四、恢复办法
Sherlock 只是一个命令行工具,不改系统设置,不留后台进程,遇到问题基本都能马上回到干净状态:
- 终端提示
sherlock: command not found:安装没成功或安装路径不在 PATH 里。先确认pipx install sherlock-project是否成功执行;用 pip 安装时确认加了--user,并检查~/.local/bin是否在 PATH 中。 - 终端提示
pipx: command not found:本机没有 pipx,改用pip install --user sherlock-project安装,或先安装 pipx 再重试。 - 搜索中途大量站点超时:先检查本机网络是否正常;单个站点超时可以加
--timeout 120放宽等待时间;也可以先用--site只查几个重点站点,确认工具本身工作正常。 - 结果文件找不到:默认结果保存在执行命令时的当前目录下,文件名为
<用户名>.txt;用--csv或--xlsx时会额外生成同名 csv/xlsx 文件。检查一下是不是在别的目录下执行的命令。 - 想换个用户名重新查:直接换用户名再跑一次命令即可,旧的结果文件不会被自动删除,需要手动清理。
- 不想用了:pipx 安装的执行
pipx uninstall sherlock-project;pip 安装的执行pip uninstall sherlock-project;Docker 方式本身不留任何东西,删除生成的 txt/csv 文件即可。
五、注意事项(必读)
- 只查自己或有正当理由的用户名:自己的用户名、自己的品牌名、经授权的安全核查,这是正当用途。不要用它去搜别人的真实身份、做人肉搜索、骚扰或跟踪他人。
- 结果必须逐个核实:Sherlock 只判断「这个地址存在」,同名不同人、已注销又被回收的用户名都会造成误报。不要把搜索结果直接当成「这个人就是这个账号的主人」。
- 遵守各平台的服务条款:Sherlock 是按公开规则请求各站点的公开页面,频繁、大批量查询可能触发站点的限流或封禁。合理使用,不要短时间内高频刷请求。
- 默认不含 NSFW 站点:不加参数时 NSFW 站点不在检查范围内;只有明确加上
--nsfw才会包含它们。 - 不要只看数量:一次搜索 400 多个站点,跑完需要几分钟;只关心重点平台时,先用
--site限定范围,速度会快很多。 - 它还很新、变化快:虽然项目从 2018 年就开始维护,但站点规则清单一直在更新,个别站点的规则可能失效或调整,遇到与本教程不一致的地方,以官方 README 与文档为准。
- 查询结果只保存在本地:找到的账号链接默认写进当前目录的 txt 文件,不会上传到任何地方;用完记得妥善保管或删除。
六、官方资源链接
- GitHub 项目:https://github.com/sherlock-project/sherlock
- 官方网站:https://sherlockproject.xyz
- 安装文档:https://sherlockproject.xyz/installation/
- 使用文档:https://sherlockproject.xyz/usage/
七、常见问题
Sherlock 是免费的吗?
是。项目采用 MIT 许可证,开源免费;查询的是各站点的公开页面,不需要注册账号,也不需要 API 密钥。
一次搜索要多久?
取决于网络状况。默认要逐个请求 400 多个站点,每个请求最多等 60 秒,完整跑完通常需要几分钟;用 --site 限定站点可以大幅缩短时间。
结果保存在哪里?
默认保存在执行命令时的当前目录下,文件名为 <用户名>.txt;加 --csv 或 --xlsx 会额外生成同名表格文件。
它能查到手机号、邮箱或真实姓名吗?
不能。Sherlock 只查「这个用户名在哪些网站上存在」,不查手机号、邮箱、真实姓名等个人信息,也不会绕过登录去看非公开内容。
查到的账号一定是同一个人吗?
不一定。不同人在不同网站上可能用同一个用户名,Sherlock 只判断地址存在,不做身份关联。务必逐个点开链接核实。
没有 Python 能用吗?
能。用 Docker 方式,不需要安装 Python:docker run --rm -t sherlock/sherlock user123,一次搜索、即用即走。
{?} 通配符怎么用?
用户名里写 {?},Sherlock 会自动把它分别替换成 _、-、. 再各查一遍,例如 sherlock user{?}123 会覆盖 user_123、user-123、user.123 三种变体。
它和直接在搜索引擎里搜用户名有什么不同?
搜索引擎只能搜到被收录的公开页面;Sherlock 是按内置规则逐个站点主动验证,对没有被搜索引擎收录的小众站点也一样能查到,而且结果会汇总成一份文件,方便存档和核对。
