smsBomb 短信轰炸机快速上手指南:从安装到彩色日志调试
2026/8/22 9:45:36 网站建设 项目流程

smsBomb 短信轰炸机快速上手指南:从安装到彩色日志调试

【免费下载链接】smsBomb短信💣炸🐔项目地址: https://gitcode.com/gh_mirrors/sms/smsBomb

你有没有好奇过:公开仓库里泄漏的短信服务商密钥,到底还能不能用?smsBomb(短信轰炸机)能给你一个完整的实操答案:传入一个手机号,阿里云、腾讯云、网易等多家短信商同时发出验证码短信,每一次请求成功与否都实时、彩色地打印在终端里。对想练手短信接口对接、做 API 安全研究的人来说,这是一份非常具体的“试卷”。

一句话看懂短信轰炸原理:只是在“借钥匙” 🔑

底层逻辑很朴素:一些开发者把短信服务商的密钥app_keyapp_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

命令行版只有两个依赖:requestscoloredlogs(负责让终端日志带上颜色)。想顺便试试图形界面版,再补装一份:

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 里给了代码搜索语法,照着搜公开的密钥泄漏信息,把authpayloads补齐,塞进数组即可。

进度回调 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 / --proxyhttp/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_PROXYHTTPS_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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询