【GitHub精选项目】短信系统测试工具:SMSBoom 操作指南

在这里插入图片描述

前言

本文为大家带来的是 OpenEthan 开发的 SMSBoom 项目 —— 一种用于短信服务测试的工具。这个工具能够发送大量短信,通常用于测试短信服务的稳定性和处理能力。在合法和道德的范畴内,SMSBoom 可以作为一种有效的测试工具,帮助开发者和系统管理员评估短信服务的性能。

然而,值得注意的是调 SMSBoom 的使用必须严格遵守法律法规和道德标准。错误使用此类工具不仅违反法律,而且可能导致严重的骚扰行为。因此,本文将仅聚焦于其在合法和道德框架下的使用,如压力测试和系统稳定性评估。

在这篇文章中,我们将探讨 SMSBoom 的安装、配置和合法使用方法,旨在为需要进行合法短信服务测试的专业人士提供指导。

项目地址:https://github.com/OpenEthan/SMSBoom


项目概览

SMSBoom 是一款专门设计用于发送大量短信的工具。其主要用途是为系统管理员和开发者提供一种手段来测试短信服务的负载能力和稳定性。通过模拟高流量短信发送,SMSBoom 能够帮助识别和解决短信服务平台在极端情况下可能遇到的问题。

该工具的核心特点包括其能够快速生成和发送大量短信,从而使用户能够评估短信服务的响应速度和处理能力。这在测试短信服务的稳定性、扩展性和可靠性时尤为重要。

具体的功能可以看项目所展示的 README 文档。

在这里插入图片描述

克隆项目

git clone

最简单的,在命令行工具数据以下命令即可,如下图所示:

git clone https://github.com/OpenEthan/SMSBoom

在这里插入图片描述

Download ZIP

当然,使用 Download ZIP 也是个不错的下载方式。

在这里插入图片描述




可以看到,这个效果是非常不错的!

在这里插入图片描述

使用指南

本项目由 Python 所编写,所以特别容易理解上手。
在前面将项目拷贝下来后,去到项目目录下,需要安装所需要的库。在命令行执行以下命令即可。

pip install -r requirement.txt

命令行版

接下来,我们去在命令行执行 python mssboom.py,可以看到以下画面。

在这里插入图片描述

  • 提示有4个可接收的命令,分别是
    1. asyncrun:以最快的方式请求接口,使用真正的异步处理方式,支持高并发。
    2. onerun:单线程模式,通常用于测试和调试。
    3. run:传入线程数和手机号,启动,支持同时测试多个手机号。
    4. update:从 GitHub 获取最新的接口和代码更新。

我们可以在命令行中输入 smsboom.py 后跟随一个命令和相应的选项和参数来执行不同的操作。例如,如果要使用 asyncrun 命令,可以执行类似以下的命令:

python smsboom.py asyncrun [OPTIONS] [ARGS]

另外还可以使用 --help 选项来获取有关每个命令的详细帮助信息,例如我们需要查看单线程模式,

python smsboom.py onerun --help

可以看到以下画面,
在这里插入图片描述

在真正要测试的时候,就可以使用来进行使用了。

python smsboom.py onerun --phone 13xxxxxxxxx

GUI版

在命令行中输入,

python smsboom_GUI.py 

就可以看到以下画面了,真正的简洁明了!

在这里插入图片描述

代码摘选

run 模式

run 模式默认是64线程,速度非常快!

@click.command()
@click.option("--thread", "-t", help="线程数(默认64)", default=64)
@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", multiple=True, type=str)
@click.option('--frequency', "-f", default=1, help="执行次数(默认1次)", type=int)
@click.option('--interval', "-i", default=60, help="间隔时间(默认60s)", type=int)
@click.option('--enable_proxy', "-e", is_flag=True, help="开启代理(默认关闭)", type=bool)
def run(thread: int, phone: Union[str, tuple], frequency: int, interval: int, enable_proxy: bool = False):
    """传入线程数和手机号启动测试,支持多手机号"""
    with ThreadPoolExecutor(max_workers=thread) as pool:
    	...
    	

asyncRun 模式

asyncRun 使用 asyncio 构建了异步任务,速度是嘎嘎快的!

@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True)
@click.command()
def asyncRun(phone):
    """以最快的方式请求接口(真异步百万并发)"""
    _api = load_json()
    _api_get = load_getapi()

    apis = _api + _api_get

    loop = asyncio.get_event_loop()
    loop.run_until_complete(runAsync(apis, phone))
    

onerun 模式

onerun 模式是简根据传入的手机号码作为测试,单线程。

@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True)
@click.command()
def oneRun(phone):
    """单线程(测试使用)"""
    _api = load_json()
    _api_get = load_getapi()

    apis = _api + _api_get

    for api in apis:
        try:
            reqFunc(api, phone)
        except:
            pass

总结

SMSBoom 是一个功能强大的工具,专为短信服务的压力测试和性能评估而设计。通过模拟高流量短信发送,它帮助用户在实际环境中测试和评估短信服务平台的稳定性和扩展性。该工具提供了多种运行模式,包括异步处理和单线程模式,以适应不同的测试需求。

在使用 SMSBoom 时,需要强调的是,这个工具应仅用于合法的测试和评估目的,如系统性能测试、软件开发中的压力测试等。非法或不道德的使用,例如发送垃圾短信或进行骚扰,是严格禁止的,并可能导致法律后果。

SMSBoom 项目的便捷性和高效性使它成一个有用工具,但它也是一把双刃剑。因此,鼓励所有用户在使用时遵循道德规范和法律要求,确保其应用仅限于正当和合法的场景。

后话

本次分享到此结束,
see you~~🎈🎈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/264788.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WebAssembly 的魅力:高效、安全、跨平台(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

项目应用多级缓存示例

前不久做的一个项目,需要在前端实时展示硬件设备的数据。设备很多,并且每个设备的数据也很多,总之就是数据很多。同时,设备的刷新频率很快,需要每2秒读取一遍数据。 问题来了,我们如何读取数据&#xff0c…

一文读懂Java中的设计模式——代理模式,以翻译场景举例,特别通俗易懂!

代理模式概念 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。目的:为其他对象提供一种代…

浅谈Guava Cache的参数使用

CacheLoader 用于数据加载方式比较固定且统一的场景,在缓存容器创建的时候就需要指定此具体的加载逻辑。通常开发中使用时我们需要继承CacheLoader类或写一个匿名实现类实现其load方法和reload方法 load方法 当执行get操作没有命中缓存或者判断缓存已经超出expir…

论文阅读——llava

Visual Instruction Tuning LLaVA 指令智能体分为两类:端到端的,通过LangChain[1]/LLM[35]协调各种模型的系统。 数据集生成用GPT辅助生成的,具体不写了。 模型结构: input image Xv LLM:Vicuna visual encoder&a…

芯片到底是怎么访问外设

微型计算机的组成:CPURAM硬盘等 什么是FLASH? FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NV…

系列一、GitHub搜索技巧

一、GitHub搜索技巧 1.1、概述 作为程序员,GitHub大家应该都再熟悉不过了,很多时候当我们需要使用某一项技能而又无从下手时,通常会在百度(面向百度编程)或者在GitHub上通过关键字寻找相关案例,比如我想学…

nodejs+vue+ElementUi医院预约挂号系统3e3g0

本医院预约挂号系统有管理员,医生和用户。该系统将采用B/S结构模式,使用Vue和ElementUI框架搭建前端页面,后端使用Nodejs来搭建服务器,并使用MySQL,通过axios完成前后端的交互 管理员功能有个人中心,用户管…

springMVC-异常处理

一、四种异常形式 在springmvc中,处理异常有四种形式 1.局部异常 2.全局异常 3.自定义异常 4.统一异常(统一提示异常) 作用:可以使浏览器不出现丑陋的500错误提示,而跳转到另外的错误提示页面 另外,自定义…

Linux——缓冲区

我在上篇博客留下了一个问题,那个问题就是关于缓冲区的问题,我们发现 文件有缓冲区,语言有用户级缓冲区,那么缓冲区到底是什么?,或者该怎 么认识缓冲区?这篇文章或许会让你有所认识,…

【ONE·MySQL || 基础介绍】

总言 主要内容:MySQL在Centos 7下的安装(主要学习相关指令语句,理解安装操作是在做什么)、对MySQL数据库有一个基础认识。 文章目录 总言0、MySQL的安装与卸载(Centos 7)0.1、MySQL的卸载0.1.1、卸载不必要…

MySQL数据库 触发器

目录 触发器概述 语法 案例 触发器概述 触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的soL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录&am…

XUbuntu22.04之跨平台音频编辑工具(平替Audition):ocenaudio(二百零二)

加粗样式 简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏&#…

FastDDS编译

Windows installation from binaries download 里面有二级菜单 view 安装后切换至目录 C:\Program Files\eProsima\fastrtps 2.12.1\examples\cpp\dds cmd打开此目录 mkdir build cd build cmake … //cmake …可以换成下面这句,这是官网的推荐 cmake -Bbuilde…

nn.LSTM个人记录

简介 nn.LSTM参数 torch.nn.lstm(input_size, "输入的嵌入向量维度,例如每个单词用50维向量表示,input_size就是50"hidden_size, "隐藏层节点数量,也是输出的嵌入向量维度"num_layers, "lstm 隐层的层数,默认…

R语言中使用ggplot2绘制散点图箱线图,附加显著性检验

散点图可以直观反映数据的分布,箱线图可以展示均值等关键统计量,二者结合能够清晰呈现数据蕴含的信息。 本篇笔记主要内容:介绍R语言中绘制箱线图和散点图的方法,以及二者结合展示教程,添加差异比较显著性分析&#xf…

[Angular] 笔记 6:ngStyle

ngStyle 指令: 用于更新 HTML 元素的样式。设置一个或多个样式属性&#xff0c;用以冒号分隔的键值对指定。键是样式名称&#xff0c;带有可选的 .<unit> 后缀&#xff08;如 ‘top.px’、‘font-style.em’&#xff09;&#xff0c;值为待求值的表达式&#xff0c;得到…

KingbaseV8R6单实例定时全量备份步骤

此场景为单机数据库节点内部备份&#xff0c;方便部署和操作&#xff0c;但备份REPO与数据库实例处于同一个物理主机&#xff0c;冗余度较低。 前期准备 配置ksql免密登录(必须) 在Kingbase数据库运行维护中&#xff0c;经常用到ksql工具登录数据库&#xff0c;本地免密登录…

钓鱼与木马实践(仅供参考不可实践)

声明:内容仅供学习&#xff0c;请勿违法使用&#xff0c;违者后果自负 一.部署云服务器 购买一台云服务器,Windows&#xff08; 中文 &#xff09;版本即可 华为云官网&#xff1a;https://www.huaweicloud.com/ 登录后进入控制台购买完成后远程登录云服务器 二.部署WEB运行…

Zookeeper的学习笔记

Zookeeper概念 Zookeeper是一个树形目录服务&#xff0c;简称zk。 Zookeeper是一个分布式的、开源的分布式应用程序的协调服务 Zookeeper提供主要的功能包括&#xff1a;配置管理&#xff0c;分布式锁&#xff0c;集群管理 Zookeeper命令操作 zk数据模型 zk中的每一个节点…
最新文章