smsBomb 短信轰炸机快速上手指南:从安装到彩色日志调试
【免费下载链接】smsBomb短信💣炸🐔项目地址: https://gitcode.com/gh_mirrors/sms/smsBomb
你有没有好奇过:公开仓库里泄漏的短信服务商密钥,到底还能不能用?smsBomb(短信轰炸机)能给你一个完整的实操答案:传入一个手机号,阿里云、腾讯云、网易等多家短信商同时发出验证码短信,每一次请求成功与否都实时、彩色地打印在终端里。对想练手短信接口对接、做 API 安全研究的人来说,这是一份非常具体的“试卷”。
一句话看懂短信轰炸原理:只是在“借钥匙” 🔑
底层逻辑很朴素:一些开发者把短信服务商的密钥(app_key、app_secret)明文写进了公开仓库。smsBomb 从本地配置文件里读出这些密钥,照着各家官方 API 的签名规则,用requests(一个 Python 的 HTTP 请求库)冒充密钥的主人,发出一条条“合法”的短信请求。
换句话说,它自己没有短信通道,只做两件事:读钥匙、签名发送。对短信服务商而言,它看起来就是个正常用户在发消息。
项目自带 11 家服务商插件,都在smsBomb/plugins/目录,一个文件对应一家厂商:
| 插件 | 服务商 | 备注 |
|---|---|---|
| aliyun | 阿里云短信 | 内置节点里最稳的一家 |
| tencent | 腾讯云短信 | 必须走模板才能发送 |
| netease | 网易短信 | |
| cl253 | 创蓝253 | 支持自定义内容 |
| yunpian | 云片短信 | |
| miaodi | 秒滴云 | |
| juhe | 聚合数据 | |
| luosimao | 螺丝帽 | |
| ucp | 云之讯 | |
| smsbao | 短信宝 | 支持自定义内容 |
| normal | 通用通道 | 可对接任何小众服务商 |
安装 smsBomb 环境:三条命令就位
先说版本要求:Python 3.6 及以上,2.x 跑不起来。机器上有多套 Python 的话,用 PyEnv 或 Anaconda 管理更省心。
git clone https://gitcode.com/gh_mirrors/sms/smsBomb cd smsBomb pip install -r requirements.txt命令行版只有两个依赖:requests和coloredlogs(负责让终端日志带上颜色)。想顺便试试图形界面版,再补装一份:
pip install -r requirements-gui.txt装完记住两个关键位置就行:
config/sms.json—— 节点清单,相当于一本“钥匙名册”smsBomb/plugins/—— 一家服务商一个发送插件
第一次跑通 smsBomb:最短的可运行命令
python -m smsBomb -t 13800138000 -n 3-t是目标号码,-n是攻击次数,先跑 3 次试试水。
几秒之内,终端会开始滚动彩色日志。一行日志就四段:级别、时间、模块名、行号。你能清楚看到选了哪家服务商、拼了什么请求、对方返回了什么 JSON。成功次数凑够后,输出一句“攻击完毕,成功: X 次, 失败: Y 次”,收工。
如果终端安静得只有一两行,那是因为默认日志级别偏高。加一个-v能看到进度,加-vv能看到请求明细,逐级来。
拆解 smsBomb 核心能力:加权调度与自动刹车
这些机制都集中在核心逻辑文件smsBomb/smsBomb.py里。不用通读全文,看懂四点就够理解它的调度设计。
加权随机调度:让靠谱的通道出场率更高
配置里每个节点可以带一个权重(weight,默认 1)值。每发一条短信之前不排队轮流来,而是“按权重摊成一张表,再随机抽一个”——权重大的节点被抽中的概率更高。
效果就是:把火力集中在靠谱的通道上,不稳定的节点少露脸。
失败降权与自动刹车:失败不拉黑,坏透了才止损
节点请求失败后不会被立刻删除,而是权重扣一。连续失败几次,权重降到 0,之后就再也不会被抽中——这就是降权。如果所有节点都归零,程序会把“阵亡名单”翻出来重新试,一个都不放弃。
止损线也在。失败率阈值写死在95%:超过就判定整体失败、自动收手,避免拿着坏节点空转烧流量。这个自动刹车省了不少冤枉路。
节点配置 sms.json:怎么读、怎么补
配置文件是一个 JSON 数组,每个元素就是一个可用节点,核心字段如下:
| 字段 | 含义 | 必须 |
|---|---|---|
| product | 产品名,决定走smsBomb/plugins/下哪个插件 | 是 |
| desc | 描述,给人看的 | 否 |
| auth | 服务商密钥,k-v 结构,键名依赖厂商 | 否 |
| payloads | 需要提交的请求参数,依赖厂商 | 否 |
| api | 请求地址,不写就用插件内置的默认地址 | 否 |
| method | 请求方式,默认 GET | 否 |
| weight | 权重,默认 1,为 0 表示不可用,越大越容易被选中 | 否 |
| enable_custom_msg | 是否支持-m自定义内容,默认 false | 否 |
一个完整的阿里云节点长这样:
{ "product": "aliyun", "desc": "阿里云短信", "auth": { "app_key": "你的AccessKey", "app_secret": "你的Secret" }, "payloads": { "template_code": "SMS_xxx", "sign_name": "你的签名", "template_params": {"code": "123456"} }, "weight": 1 }想新增节点?README 里给了代码搜索语法,照着搜公开的密钥泄漏信息,把auth和payloads补齐,塞进数组即可。
进度回调 cb:几行代码接上自己的进度条
SmsBomb.start()接受一个回调函数cb,每轮都会报四个数:成功数、失败数、总数、是否结束。GUI 版的进度条就是这么接上的。做二次开发时,自己写一个也只要几行:
def on_progress(success, failed, total, finished=False): print(f"进度: {success}/{total}", end="\r") bomb.start(cb=on_progress)smsBomb 命令行参数速查:8 个参数覆盖全部用法
| 参数 | 作用 | 默认 |
|---|---|---|
-t / --target | 目标手机号(必填) | 无 |
-n / --times | 成功攻击次数 | 10 |
-p / --product | 指定某一家服务商,如-p netease | 全部节点随机 |
-c / --config | 配置文件路径 | config/sms.json |
--process | 并发进程数 | 5 |
-m / --message | 自定义短信内容(仅对enable_custom_msg节点生效) | 无 |
-x / --proxy | http/https 代理 | 自动读环境变量HTTP_PROXY/HTTPS_PROXY |
-v/-vv/-vvv | 日志详细程度,v 越多越细 | 无 |
其中-m最容易踩坑:比如腾讯云只允许模板发送,你传了自定义内容也不会发出去。只有节点配置里标了"enable_custom_msg": true(如短信宝、创蓝253),-m的内容才会真正生效。
smsBomb 进阶玩法:多进程、代理与 GUI
- 多进程提速:默认 5 个进程同时干活,
--process 10可以调高。程序会自动取“进程数”和“攻击次数”中的较小值,不会开出比任务还多的人手。 - 代理掩护:
-x http://127.0.0.1:7890指定代理;不传的话自动读HTTP_PROXY和HTTPS_PROXY环境变量。 - GUI 模式:一条
python -m smsBomb.gui,填号码、次数、服务商、进程数、代理,点 Attack!,进度条就开始走。
作者在 README 里自己标注了 Kivy GUI 并未经过严格测试。正经调试,还是建议回命令行。
smsBomb 避坑指南:现象-原因-对策速查
| 现象 | 原因 | 对策 |
|---|---|---|
| 报错“短信轰炸机配置不可为空” | config/sms.json里没有可用节点 | 检查文件路径、数组是否为空、JSON 是否合法 |
| 日志打印“无此插件:XXXPlugin,跳过” | product和插件名对不上 | 核对拼写与大小写,应与smsBomb/plugins/下文件名一致 |
| 进度卡在 0%,失败率飙升 | 密钥过期或接口变更 | 换一批新配置;README 明确说了内置配置除阿里云外大多已失效 |
加了-v还是看不到请求体 | 级别不够,-vv才出请求明细,-vvv最全 | 逐级加 v |
| GUI 窗口打不开 / 日志不显示 | Kivy 框架本身不稳 | 回命令行排查 |
收尾:一行命令跑起来
git clone https://gitcode.com/gh_mirrors/sms/smsBomb cd smsBomb pip install -r requirements.txt python -m smsBomb -t 13800138000 -n 3 -v彩色日志滚起来、最后打印“攻击完毕”的那一刻,你就已经走完了“配置 → 插件 → 调度 → 请求 → 日志”的全流程。想再深挖,建议读smsBomb/smsBomb.py(调度与降权逻辑)和smsBomb/plugins/aliyun.py(HMAC-SHA1 签名范例),注释全是中文,读起来没压力。
本项目仅用于学习研究,请勿用于违法用途。
【免费下载链接】smsBomb短信💣炸🐔项目地址: https://gitcode.com/gh_mirrors/sms/smsBomb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考