KALI应用篇(一)压力测试
方法论
在简单了解了Linux的发展史并掌握了Linux的系统&操作逻辑后,KALI手册的第一课,就是如何进行有效的压力测试。在七层模型(OSI)中,压力测试通常会测试传输层和网络层,以保证系统的三要素(机密性、完整性、可用性)。
压力测试有着不同的测试原理,同时也有着不同的方法和工具。总的来说,大概可以分成三种,即1、LOT(专用设备、物联网设备)压力测试
2、基于IP传输协议的WAN压力测试
3、基于SIP\TCP\的互联网压力测试
在我阅读KALI手册时,我发现一个很重要的问题:作者使用一块蛋糕的各个层次来讲解OSI七层模型,特别的晦涩难懂,于是我还是参考了许多CSDN上大佬的讲解,如有理解不当之处,还请原谅。
以下一段文字引用自KALI使用手册
你需要保证正在使用系统的安全,无论是你还是系统都应该有被测试的权限。无论看起来多么简单的测试,总是有可能造成损害。
接下来是KALI的一个小彩蛋:
工具篇
fragroute
一个很老的程序,采用最简单的规则:生成一些虚假的数据,然后拆分成许多数据包(可能是首尾不相连的,首尾重复的,或者其他任何一种上下连接方式),随后发往用户指定的IP地址,观察系统能否正确的处理这些碎片包的偏移量。
在使用此工具时,最理想的情况是目标主机没有受到任何有用的数据,这不是最终的目的,压力测试的最终目的只是收集信息。
fragroute配置:
ip_chaff dub 7 //字段生存时间7
ip_frag 64 new //IP数据包字节分段为64位
drop random 33 //丢包概率33%
dup random 40 //随机复制数据包概率40%
order random // 执行
print // 打印细节
此配置理想情况下,数据到达被测试端点时,不会存在任何内容。相关细节会显示出来,从而说明对收到的数据包执行的操作。使用fragroute -f frag.rules 192.168.XX.XX命令执行发送指令,规则文件的名称是可以改变的。
通常,此方法只用来测试单个系统,要测试本地网络中的片段,可以向目标网络发送ping命令来发送请求,使用规则文件的fragroute输出。
fragroute -f frag.rules 192.168.XX.XX
hping3
此工具可以再命令行上进行制作数据包,并进行IP和传输表头字段的自动填充。hping3可以不需要任何等待时间就可以实现洪水攻击,该工具可以自动德、快速的发送尽可能多的流量。
hping3 --flood -S -p 80 192.168.XX.XX //使用hping3,使用SYN消息,通过80端口向目标主机进行洪水攻击
我在台式机上运行hping3,对我的笔记本电脑进行了一次测试。在攻击开始后,我的笔记本电脑网络完全没有响应,但是系统资源的占用并不高。同时,网络的占用量也并没有达到我的预期值(最高占用5M/S,我使用的是超六类网线,带宽为500M)。原因是,操作系统中保留了包含传输控制协议(TCP)协议的内存,为了使系统表现良好并且能够完成连接,系统使用半开连接插槽。如果这些插槽数量用完,那么系统就不会接受新的连接,包括来自合法客户端的连接。所以,系统完全能够处理SYN洪水。但是我的网络端口确实遭受了很强的冲击,完全无法联网,说明比网络层我想象的要脆弱的多。
inviteflood
使用inviteflood通过SIP协议进行洪水攻击。
inviteflood eth0 XXX.COM 192.168.XX.XX 150000 //指定invitefloo作为发送信息的端口,目标为SIP服务器用户名,随后与之相关的域名,发送150000个请求
因为SIP是一个VoIP协议,所以我们的目标需要是一套配置了用户名的服务器,如果不知道用户名,可以用目标系统的IP地址,那么命令中会出现两个相同的IP地址。
Pentmenu
高集成的自动化工具总是能提高我们的效率。Pentmenu是GitHub上的一个开源的集成化测试工具,KALI并没有收录,需要去GitHub上自行下载资源包。
https://github.com/GinjaChris/pentmenu
随后使用unzip命令解压压缩包,记住解压后的目录,并调用最高管理员权限,一步步找到pentmenu所在的文件夹,使用is文件打开其中的shell script文件即可进入程序
或者,直接文件管理器打开文件夹,把script文件拖进终端回车,效果相同。
随后选择第二项,Dos攻击,会列出可用的攻击模式。
简单介绍一下这些模式:
1:Echo报文洪水,发送大量的ICMP请求报文(ICMP ECHO)信息给目标主机,目标主机会回应一个reply报文。在此过程中,会占用大量CPU资源,从而导致服务器瘫痪。
2:著名的黑护士攻击,攻击者曾在2017年使用15M的带宽打瘫了思科防火墙。通过每秒发送40,000至50,000个类型和代码均为3的ICMP报文,致使服务器的负载过重。
3:SYN洪水,向服务器发送大量的伪造的IP报文,占满服务器的半连接插槽(SYN连接队列),从而导致服务器不能处理其他请求。
4:ACK洪水,向目标主机发送带ACK标志位的TCP报文,目标主机会监测报文是否合法,是则回复端口开放,不是则不作回应。
5:RST复位洪水。攻击者伪造一个路由B,当合法路由A(同时也是被攻击者)向服务器发送TCP连接请求报文时,立刻向A发送复位请求,这时A会立刻释放连接并清空缓存,导致永远也连接不上服务器。
6:XMAS洪水,与前几个相同,但是发送所有的TCP标记
7:UDP洪水,将UDP数据包发送到指定的IP和端口
8:SSL DOS攻击,使用OpenSSL尝试DOS目标。
9:完全不清楚作用
10:完全不清楚作用
11:使用hping3从选择的目标主机IP启动多个TCP SYN扫描,这不是攻击
12:通过向不存在的域发送大量DNS查询对您的DNS进行压力测试。
KALI应用篇(一)压力测试相关推荐
- 压力测试及缓存服务器
第一篇 WEB压力测试 一.常用工具 常用压力测试工具:ab,httpd_load,webbench,seige. 仅仅作为测试使用,与实际能力区别也挺大的. 比较好的测试工具:惠普公司的loadru ...
- Web性能测试篇:AB 压力测试
目录 1. 压力测试的概念\定义 2. AB的起源 3. 运行平台区分(Windows\Linux|Mac) 4. 你的第一个AB GET请求脚本 5. AB发起POST.PUT请求 6. AB附带有 ...
- android测试篇(四)android专项测试之压力测试
前言 抄袭文章来源:Android App专项测试-压力测试篇 小伙伴们大家好,今天主要分享的主题是Android App专项测试.如何进行Android App专项测试压力测试呢?我们主要通过And ...
- 【Jmeter基础篇】03:如何进行post接口压力测试
目前网络上有很多很多Jmeter的压力测试使用指南,但是在实际使用过程中,很多朋友会遇到许多并不处于理想状态的情况,比如某些参数不知道应该往哪里放,具体怎么分析测试结果等等. 所谓压力测试,实质就是让 ...
- 转载:Jmeter压力测试教程(入门篇)
前言 Jmeter 是Apache组织开发的基于Java的压力测试工具,开源并且支持多个操作系统,是一款很好的HTTP测试工具.本篇文章主要的目的是帮助没有接触过Jmeter的人快速上手,迅速掌握Jm ...
- Portable Virtual Box+Kali Linux+Docker+WRK做压力测试
需求:在Windows下安装Linux虚拟机,并安装docker,在docker镜像中安装WRK并进行"压力测试".主要考量是:(1)Windows下使用Linux,并进行前期的压 ...
- jmeter压力测试_如何使用Jmeter进行压力测试?这篇入门讲解拿去不谢!
一.下载安装jmeter 这里不多说了,大家可以自行下载. 二.运行jmeter.bat 在bin目录下,使用管理员方式运行jmeter.bat 随之会打开jmeter的GUI界面,注意不要关闭运行的 ...
- 测试nignx php请求并发数,Nginx 高级篇(八)ab 压力测试即 nginx 的性能统计模块...
我们总得要对自己的网站或者接口做压力测试的,总不能写好了代码不做测试就上线啊,谁知道你的网站或者接口能承受多少的并发和访问量,压力测试我们可以使用apache的ab小工具来搞或者使用github上提供 ...
- Android App专项测试-压力测试篇
小伙伴们大家好,今天主要分享的主题是Android App专项测试.如何进行Android App专项测试压力测试呢?我们主要通过Android平台的一门工具Monkey.在学习本门课程之前,如果你具 ...
- jmeter并发测试教程_JMeter压力测试并发测试(入门篇)
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...
最新文章
- 题解 P4692 【[Ynoi2016]谁的梦】
- 智能计算机和智能化网络结论,人工智能技术中计算机网络技术的应用
- 僵尸进程的生成以及几种避免方法
- python英语翻译-python制作英语翻译小工具代码实例
- jsp动作元素include学习
- spring转发和重定向
- 以HANA为核心 SAP实时数据平台详解
- Oracle常用知识总结
- 使用Numpy和Opencv完成图像的基本数据分析(Part II)
- case class和trait
- php图像处理原生函数,php图像处理函数imagecopyresampled的用法
- 我的YUV播放器MFC小笔记:设置picture控件背景为黑色、窗口缩放
- 若依框架修改器的使用教程
- 格兰杰检验的基本步骤_Toda-Yamamoto 格兰杰因果检验 TY-Granger方法
- 装修后才知道的79件事
- PDF Reader XI 闪退+安装组件错误代码提示1935最完美最靠谱的解决方案
- linux ffmpeg 合并视频文件,使用ffmpeg合并视频
- mysql 8 commen table expression 树查询
- 云宏广东省中医院虚拟化管理平台
- vue.js 的学习之路