尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

手机号查QQ号:命令行工具 phone2qq 一次跑通的完整复盘

手机号查QQ号:命令行工具 phone2qq 一次跑通的完整复盘 手机号查QQ号命令行工具 phone2qq 一次跑通的完整复盘【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq月末最后一天一位做客服主管的朋友找我对账二十几个手机号要逐一确认绑定的QQ号平台后台没有现成导出人工逐个试要耗掉大半个下午。最后帮他跑通的是一个叫phone2qq的开源小工具——在命令行里完成「手机号查QQ号」半小时内全部核对完毕。这篇把我当时的完整过程复盘出来怎么装、怎么改、批量怎么跑、原理怎么理解以及哪些坑必须绕开。phone2qq 是什么能解决什么问题一句话版本它是一个纯 Python3 的命令行小工具通过加密通信协议向腾讯服务器发起绑定关系查询输入手机号返回它绑定的QQ号。项目本体只有两个核心文件干净到没有第三方依赖痛点phone2qq 的解法手机上一个个试、等验证码命令行直接出结果无验证码环节图形界面操作繁琐、难以脚本化纯命令 可导入的类方便二次封装结果没法沉淀归档返回结果可写入文件供后续处理逻辑像黑盒全部源码开放加密与报文可逐行审阅需要注意一个前提该方案依赖对方开启了「手机号登录」能力并非所有号码都能查到这一点后面避坑部分会细说。查询前的环境检查工具只依赖 Python 标准库socket、hashlib、struct 等开箱即用先确认本机有 Python3python3 --version接着把项目拉到本地git clone https://gitcode.com/gh_mirrors/ph/phone2qq cd phone2qq目录结构非常好认qq.py是主程序与查询入口tea.py是 TEA 加解密算法的实现README.md是作者留下的说明。看代码前先扫一遍 README 是好习惯里面往往藏着关键提示。单条查询的完整走读运行起来很简单直接执行python3 qq.py它会带着内置测试号跑一遍流程并打印结果。真正要查自己的号码有两种改法直接改qq.py里print(login.getQQ(10000000000))这一行的号码或者在自己写的脚本里导入它把它当库用from qq import QQLogin login QQLogin() result login.getQQ(13800138000) print(result) # 成功返回QQ号失败返回 False整个过程的输入→过程→输出很清晰传入手机号后程序连续发起两次网络握手代码里的login0825与login0826拿到结果后解包成功打印QQ号失败则返回False。全程无人工干预几秒内出结果。批量查询手机号对应QQ一小段循环源码末尾有一段被注释掉的批量示例。更稳妥的做法是把自己整理好的号码清单放进一个文本文件逐行读取查询并加上间隔避免请求过密import time from qq import QQLogin login QQLogin() for num in open(phones.txt): num num.strip() qq login.getQQ(num) if qq: print(%s %s % (num, qq)) time.sleep(0.5)运行后把输出重定向到文件就得到一份可归档的「手机号—QQ号」对照清单之后拿 Excel 或脚本再做统计都行。批量场景建议小批次多轮跑而不是一次塞几千个号进去猛冲。原理通俗版TEA加密与两次握手不想读源码也能理解它干了什么两个类比就够了。第一件事是加密。tea.py实现的是腾讯自家协议里用的 TEA 算法可以想象成一套分块保险箱把数据按 8 字节一组装进箱子、逐组加密箱子的钥匙密钥由协议约定。报文在网络上传输时是密文没有钥匙的人看到的就是一堆乱码。想深入了解细节可以直接翻tea.py全文只有几十行加解密对称逻辑相当直白。第二件事是两次握手。login0825先发一包自我介绍向服务器换取临时的 token、服务器时间和服务器IPlogin0826再拿着这些凭证连同手机号信息正式发起查询。类比成办事窗口第一次去取号登记身份第二次才递交正式材料。用的是 UDP 协议UDP 像寄明信片——寄出去不一定保证送到所以丢包时自然需要重试。新手最容易踩的四个坑坑一方法可能已失效。README 末尾作者留了句实在话「该方法可能已经失效2016.04.14」。这是多年前协议的实现服务器接口若已调整查询会失败。遇到一直返回 False先别怀疑自己操作错了。坑二号码没开「手机号登录」。查询机制依赖这个开关对方未开启就无法返回绑定关系这与工具本身无关。坑三只支持大陆手机号。号段、协议字段都是按国内号码设计的其他地区的号码不在覆盖范围内。坑四高频请求会翻车。UDP 本身不保证送达短时间内猛刷同一号码或连续打大批量请求极易触发服务端限流或丢包。批量务必加间隔、分轮次失败项单独记录后重试。合规与安全使用的边界这个工具涉及个人敏感信息必须把边界说清楚它只应被用于你本人或获得明确授权的号码核查例如员工入职时自报的绑定信息核对、自己名下账号的找回验证、测试环境造数。查询结果不得外传更不能拿去拼凑号段做营销或骚扰。手机号与QQ的对应关系属于个人信息在《个人信息保护法》框架下未经同意收集和使用都是越线行为。工具无罪用法有界——请把它当作理解协议与加密的技术样本而不是数据采集的捷径。还能往哪儿探索把QQLogin封装成带命令行参数的脚本比如支持--mobile传参、--file走文件清单给批量查询补上失败重试与限速逻辑再把结果输出成 CSV都是顺手能做的二次开发改动量不大。项目仓库里的README.md、qq.py、tea.py都在一个目录下边跑边对照源码比单纯背用法更能吃透这套协议交互。【免费下载链接】phone2qq项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表