手机号查QQ号怎么用?phone2qq新手完整指南
【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq
忘记QQ号、想通过手机号查QQ号的时候,phone2qq就是干这个的:发几组协议包,只要对方号码开了"手机号登录",终端就会打印出对应的QQ号。会跑python3命令就能用,改一行代码的事。
三步拿到第一个查询结果
📦 先确认机器上有Python 3(终端输入python3 --version看一眼),然后克隆仓库:
git clone https://gitcode.com/gh_mirrors/ph/phone2qq cd phone2qq打开qq.py,找到最后那行print(login.getQQ('10000000000')),把'10000000000'换成你要查的号码——建议先用自己绑定的号码试:
print(login.getQQ('13800138000'))然后运行:
python3 qq.py几秒钟后终端会打印结果:正常时是一个8~10位的QQ号;如果打出False,说明这次没查到号码,对照下面的避坑指南处理。
把单次查询、批量和结果保存用起来
查单个号码:30秒搞定
最基础的用法就是上面那套:改一行代码里的号码,重新跑一遍。下次想查别的号,再改再跑,全程不复杂。
批量查询一串号码
qq.py里有一段被注释掉的批量示例,思路是循环一个号段,只打印命中的结果。自己有一串号码要查的话,可以照这个套路写:
import time for num in ['13800138000', '13900139000']: qq = login.getQQ(num) if qq: print('%s >> %s' % (num, qq)) time.sleep(3)⚠️time.sleep(3)别省,查询之间留够间隔,不要连续发包。
别让查询结果只留在屏幕上
运行输出可以顺手存下来,最省事的方式是重定向:
python3 qq.py > result.txt批量场景下,建议把代码里的print换成往.csv里逐行写,后面用表格打开就是整份查询记录。
三分钟看懂它的原理
🧩 这个"手机号查QQ号"的做法,是模拟QQ客户端"手机号登录"的握手过程,全程和QQ服务器(UDP 8000端口)走两步:
- 0825步:把手机号报给服务器,拿到一个临时令牌
- 0826步:带着令牌查询绑定的QQ号,从服务器应答里取回号码
- 所有收发内容都用TEA算法加密,
tea.py里的encrypt/decrypt就是干这个的
qq.py负责拼包、收发和主流程。想深挖的话,顺着login0825、login0826两个函数看拼包逻辑就够了,核心就是这些。
四种最常见的失败情况
1. 运行后打印False或没有输出原因:号码没绑定QQ,或该账号没开"手机号登录";也检查下号码是不是完整11位。 解法:先用自己绑定的号码验证一遍;查别人的号码失败,先确认手机号本身。
2. 卡住很久,完全没有回应原因:UDP 8000端口出不去,被防火墙或公司网络拦了。 解法:换个手机热点试试,或确认网络允许UDP出站。
3. 打印 "0825 error!"原因:服务器没返回预期数据包。更常见的原因是协议过时——README自己也注明该方法2016年可能已失效。 解法:先在确认网络正常的环境排除干扰;如果长期不通,建议把项目当作学习QQ登录协议的样例,别指望它常驻可用。
4. 批量查到一半开始全失败原因:高频连续发包触发了频率限制。 解法:把间隔保持3秒以上,批次量调小,分几次跑。
提一个issue或第一个PR
项目采用Apache-2.0许可(见 LICENSE 文件)。README很坦诚地写了"代码有点乱",所以你能把注释理顺、把协议修好,或者补一段使用文档,提交PR都是很好的切入点;没把握修的话,把你遇到的报错原样提个issue,也是贡献。
下一步:克隆仓库,把号码改成自己的,跑一遍python3 qq.py,看到第一个结果。
【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考