websocket 压力测试_打造最强移动测试平台

笔者今年换掉了服役N年的旧手机,新手机12G的RAM,比自用的本子内存都大,如果只是玩游戏感觉不能完全发挥出全部机能,但又因为怕影响日常使用没有进行root,经过一番折腾,发现即使不root也不影响把它变成一款测试利器,有同类需求的可以参考此文。

5ba3b13aad066b22623a4ea469e389e3.png

安卓虚拟机

移动应用测试肯定是需要一个root环境,很多人选择用安卓模拟器,笔者为了使用WSL2启用了Hyper-V,导致与绝大多数的安卓模拟器冲突,从此告别安卓模拟器。笔者也尝试用了VirtualXposed、太极等免root的Xposed框架,发现兼容性不是太好,app容易闪退崩溃。后来发现安卓平台也有虚拟机,目前共有VMOS、光速虚拟机、X8沙箱三款产品。其中VMOS分普通版和Pro版,Pro版非会员支持选择ROM,也可以导入网友提供的ROM,其他虚拟机皆内置ROM无法修改。

经过笔者一番测试,对比如下

VMOSVMOS PRO光速虚拟机X8沙箱
内存占用186MB233MB188MB181MB
提供root提供提供提供提供
提供XP提供提供不支持提供
提供Play提供提供提供
程序兼容
安卓版本5.1.15.1.1 / 7.1.27.1.25.1.1
是否含广告视频广告
权限要求电话、位置、相机、录音、存储电话、位置、存储、录音、存储

综合来说,光速虚拟机最快,干净无广告,遗憾的是目前版本不支持xposed框架,VMOS Pro自带rom兼容性比较差,使用酷安网友提供的ROM兼容性较好,而且关闭所有应用权限也不影响虚拟机使用,很不错。

想一下手机里跑个虚拟的安卓系统,带root环境且与本机隔离,简直是移动测试的最佳方式。

下图是笔者四个虚拟机同时小窗开启的,独立互不冲突,加起来内存占用可能还不到1G,毫无压力。

d4687dbd554b3568d702ac6b27366db7.png

Kali Nethunter

官方文档提供一种NetHunter Rootless的方式,即免root安装,同样也是支持KeX的,所以可以实现下图的效果,外接显示器获得完整的桌面体验。

9206fde55839106cfcd404b5c3d323a9.png

与其他版本的Nethunter差别参见下图,能够实现绝大部分功能。

FeatureNetHunter RootlessNetHunter LiteNetHunter
App StoreYesYesYes
Kali cliYesYesYes
All Kali packagesYesYesYes
KeXYesYesYes
Metasploit w/o DBYesYesYes
Metasploit with DBNoYesYes
NetHunter AppNoYesYes
Requires TWRPNoYesYes
Requires RootNoNoYes
WiFi InjectionNoNoYes
HID attacksNoNoYes

主要原理基于Termux+Kex实现的,Termux真的是一款神器,一款不需要Root的神器,具体介绍参见国光前辈的文章https://www.freebuf.com/geek/170510.html

NethunterRootless安装方法可以参考官方文档https://www.kali.org/docs/nethunter/nethunter-rootless/

建议termux通过f-droid下载https://f-droid.org/packages/com.termux/

实际效果如下图,具体就不展开讲了,国光大佬那篇文章写的很详细

ad9ff6461f1140fb6099beebc044a899.png

题外话,wsl2现在也支持kex了,效果如下图,美滋滋!https://www.kali.org/docs/wsl/win-kex/

ec6ca3f0541c0ea6c64852ced244d52e.png

Docker环境

虚拟的安卓有了,虚拟的kali有了,想搭靶机了,能不能有个Docker呢,答案是肯定的!

虽然Termux很强大,可以安装各种linux,但基于termux版linux还是不能运行Docker,需要Termux上装Qemu虚拟机,Qemu装alpine linux,这个时候才是原汁原味的x86 linux。

这种套娃的操作可能会劝退不少人,幸运的是有人把Termux+Qemu+Alpine整合好了,名为alpine-term,开箱即用,安装一个apk打开就是配置完全的alpine linux,项目地址为:https://github.com/xeffyr/alpine-term/releases

你需要做的只是手动装一个docker

#更新apk软件源apk update#安装dockerapk add docker#使docker开机启动rc-update add docker#开启docker服务service docker start#后台启动setsid containerdsetsid dockerd

内置用户alpine初始配置存在一些限制,可以使用sudo -s 切换root用户操作。

docker起来后还需要手动配置下Qemu的网络映射,在termux导航栏选择QEMU,执行以下操作添加端口映射。

#映射手机10022端口到虚拟机22端口(qemu)hostfwd_add tcp::10022-:22#删除到10022的端口映射(qemu)hostfwd_remove tcp::10022#查看端口映射和网络连接(qemu)info usernet

详细帮助文档参见https://xeffyr.github.io/alpine-term/docs/help.html

代理抓包

最后推荐一个移动端的抓包工具HttpCanary,支持HTTP、HTTPS、HTTP2和WebSocket等多种协议。基于NetBare框架的虚拟网关-拦截器设计,可以非常方便的对单个app进行抓包、修改、重放等操作。完全脱离电脑对某个app进行抓包分析。详细使用可参考作者写的系列文章https://juejin.im/post/6844903745562607624

结束

到这里本文就结束了,希望能起到抛砖引玉的效果,如果你还有更好用的移动平台安全工具,欢迎在评论区补充。

a64bc3446eea77ae4209e0d820a8604f.gif

精彩推荐

412e59731b059cba433ff1e9de2517fe.png a6e8fc04925450fffdf103cdb984edae.png ea41e5514522ad499a4b886c28892ba9.png

e7619b2411ac685d94200e075a5daf23.png

fb0f25d7b152826dbaf31fe0df604c25.png3a8c04154cc508297dcc3942c1f26fe4.png

3ca86d87378777e71e1f5cc042b65a3e.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebSocket压力测试是用于评估和验证WebSocket服务器的性能和可靠性的过程。它可以帮助开发人员确定服务器在不同负载条件下的性能表现,并找出潜在的性能瓶颈。 以下是一些常见的WebSocket压力测试工具和方法: 1. Autobahn|Python:这是一个流行的WebSocket测试套件,使用Python编写。它提供了一个完整的测试框架,包括客户端和服务器端的实现。您可以使用Autobahn|Python创建具有不同负载条件的测试脚本,并对WebSocket服务器进行压力测试。 2. wrk:这是一个高性能的HTTP压力测试工具,也可以用于WebSocket压力测试。尽管它是一个HTTP工具,但可以通过自定义脚本与WebSocket服务器建立连接并发送消息。 3. Locust:这是一个可扩展的性能测试工具,可以用于WebSocket压力测试。它使用Python编写,并支持通过编写自定义脚本来模拟大量用户同时连接到WebSocket服务器。 4. JMeter:这是一个广泛使用的性能测试工具,主要用于HTTP和WebSocket压力测试。通过使用JMeter的WebSocket插件,您可以轻松地创建和执行WebSocket压力测试计划。 在执行WebSocket压力测试时,您可以通过模拟多个并发连接、发送大量消息、增加负载等方式来模拟真实的负载条件。您还可以监视服务器的性能指标,如响应时间、吞吐量和错误率,以评估服务器的性能表现。 请注意,在进行WebSocket压力测试时,确保您已经获得了服务器端的许可,并且测试不会对服务器和网络造成不必要的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值