【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_getloop = 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_getfor api in apis:try:reqFunc(api, phone)except:pass

总结

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

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

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

后话

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端微信小程序AES加密解密踩坑

项目场景: 今天蛮沮丧的,在和别人对接的时候aes加解密的时候踩了坑。今天有个同事请假了,所以本来他和别人对接的活,老大给了我,然后我就正式踏上了战战兢兢的对接之路。 1.一开始的时候对面先是问用的啥加密方法。这…

C_12练习题答案

一、单项选择题《本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) C 语言中程序的执行是从(D)A. 任意函数开始 B. 程序中的第一个函数开始 c.程序的第一条可执行语句开始 D. main函数开始 2,…

使用Guava轻松创建和管理不可变集合

第1章:引言 大家好,我是小黑。今天,我们来聊聊一个在Java编程里超有用的话题:使用Guava创建和管理不可变集合。首先,咱们得明白,什么是不可变集合。简单来说,不可变集合就是一旦创建就不能被修…

设计模式之-原型模式,快速掌握原型模式,通俗易懂的理解原型模式以及使用场景

系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用…

使用OpenCV DNN模块进行人脸检测

内容的一部分来源于贾志刚的《opencv4应用开发、入门、进阶与工程化实践》。这本书我大概看了一下,也就后面几章比较感兴趣,但是内容很少,并没有想像的那种充实。不过学习还是要学习的。 在实际工程项目中,并不是说我们将神经网络…

时间序列分析

常用数据集 2.monash数据集 官网链接 我们的存储库包含30个数据集,包括公开可用的时间序列数据集(不同格式)和由我们管理的数据集。 DatasetDomainNo: of SeriesMin. LengthMax. LengthCompetitionMultivariateDownloadSourceM1Multiple100115150YesNoYearly Quart…

MySQL语句练习题(持续更新~)

表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) --教师编号,教师姓名 –4.成绩表 Score(s_id,c_id,s_score) --…

【AI】人工智能复兴的推进器之机器学习

目录 一、机器学习的定义 二、机器学习的发展历程 2.1 萌芽期(20世纪50年代-60年代) 2.2 符号主义时期(20世纪60年代-80年代) 2.3 统计学习时期(20世纪90年代-21世纪初) 2.4 深度学习时期&#xff08…

深度剖析Ajax实现方式(原生框架、JQuery、Axios,Fetch)

Ajax学习 简介: ​ Ajax 代表异步 JavaScript 和 XML(Asynchronous JavaScript and XML)的缩写。它指的是一种在网页开发中使用的技术,通过在后台与服务器进行数据交换,实现页面内容的更新,而无需刷新整个…

高级算法设计与分析(六) -- 分支限界法

系列文章目录 高级算法设计与分析(一) -- 算法引论 高级算法设计与分析(二) -- 递归与分治策略 高级算法设计与分析(三) -- 动态规划 高级算法设计与分析(四) -- 贪心算法 高级…

RIPV1配置实验

查看路由器路由表: 删除手工配置的静态路由项: Route1->Config->static Remove删除路由项 删除Route3的路由项,方法同上删除Route2的路由项,方法同上 完成路由器RIP配置: Route1->Config->RIP->Ne…

lv12 根文件系统12

目录 1 根文件系统 2 BusyBox 3 实验九 3.1 在 busybox 官网下载 busybox 源码(这里我们下载 busybox-1.22.1.tar.bz2) 3.2 拷贝 busybox 源码包到 ubuntu 的家目录下,解压并进入其顶层目录 3.3 进入 busybox 配置界面(…

新零售模式:重新定义商业未来

随着科技的飞速发展,我们的生活方式正在经历着前所未有的变革。其中,新零售模式正逐渐成为商业领域的新热点,它正在重新定义我们的购物方式,并为企业带来更多的商业机会。 一、新零售模式概述 新零售模式是指将互联网、大数据、…

在 Windows 中关闭指定端口的方法

方法一&#xff1a;使用命令行&#xff08;Command Prompt&#xff09; 查找端口占用情况 打开命令提示符&#xff08;Command Prompt&#xff09;并输入以下命令来查找占用指定端口的进程&#xff1a; netstat -aon|findstr "<port_number>" 这里的 <p…

[已解决] Ubuntu远程桌面闪退+登录显示“远程桌面由于数据加密错误 , 这个会话将结束“

两个月前&#xff0c;由于跑代码在Ubuntu配置环境&#xff0c;乱七八糟的下载了很多东西&#xff0c;导致了一系列问题..... 问题1 Ubuntu远程桌面闪退 实验室有两台服务器&#xff0c;IP后三位分别为141和142&#xff0c;其中141在输入密码后立即闪退&#xff0c;142可以正常…

Linux下 自定义多线程并发快速压缩解压缩脚本

文章目录 自定义多线程压缩解压缩脚本使用 Linux下 自定义多线程并发快速压缩解压缩脚本 Linux下常用的tar工具无法支持并行 压缩和解压&#xff0c;对于大量小文件的解压缩&#xff0c;可借助pigz工具实现多线程并行工作&#xff0c;实现更为高效的压缩和解压缩。 自定义多线…

【分享】4个方法打开PDF文件

PDF是很多人工作中经常使用的电子文档格式&#xff0c;但是可能有些刚接触的小伙伴不知道用什么工具来打开PDF文件&#xff0c;今天小编就来分享一下4种常用的工具。 1. 使用浏览器 只要有电脑基本都会安装一到两款浏览器&#xff0c;其实浏览器也可以用来打开PDF文件。 只需…

B2122 单词翻转

B2122 单词翻转 [B2122 单词翻转]&#xff08;https://www.luogu.com.cn/problem/B2122?contestId150480 B2122 单词翻转 题意 输入一串字符&#xff0c;将它倒着输出&#xff0c;但是&#xff0c;单词之间要换行&#xff0c;才能输出。 思路 先写for循环&#xff0c;在往上…

python 用OpenCV 将图片转视频

import os import cv2 import numpy as npcv2.VideoWriter&#xff08;&#xff09;参数 cv2.VideoWriter() 是 OpenCV 中用于创建视频文件的类。它的参数如下&#xff1a; filename&#xff1a;保存视频的文件名。 fourcc&#xff1a;指定视频编解码器的 FourCC 代码&#xf…

经常使用的排序算法

一、直接插入排序 #include <stdio.h>void insert_sort(int arr[], int n){int i, j, tmp;for (i 1; i < n; i){tmp arr[i];j i - 1;while (j > 0 && arr[j] > tmp){ // 将要插入的元素与数组中的元素比较&#xff08;从后向前比&#xff09;arr[j …