Python检测和防御DOS攻击的最简单方法

作者:qq_45616828 时间:2022-04-12 17:23:19 

Python检测和防御DOS攻击的最简单方法

Python检测和防御DOS攻击的最简单方法

一、在CentOS上安装Python3

1.下载Python3.10源代码文件

下载地址:https://www.python.org/downloads/source/

2.运行以下命令行完成安装

mkdir /usr/local/python3
tar -zxvf Python-3.10.0.tgz
cd Python-3.10.0
./configure --prefix=/usr/local/python3
make
make install

Python检测和防御DOS攻击的最简单方法

3.确认是否安装成功

/usr/local/python3/bin/python3
import time
print(time.strftime("%Y-%m-%d %H:%M:%S"))
import random
print(random.randint(100,200))
exit()

Python检测和防御DOS攻击的最简单方法

Python检测和防御DOS攻击的最简单方法

4.设置环境变量

Python检测和防御DOS攻击的最简单方法

Python检测和防御DOS攻击的最简单方法

vi ~/.bashrc

#添加该语句
alias python3=/usr/local/python3/bin/python3
alias pip3=/usr/local/python3/bin/pip3
alias python3=/usr/local/python3/bin/python3
alias pip3=/usr/local/pyuthon3/bin/pip3
source ~/.bashrc

5.配置pip国内镜像源

Python检测和防御DOS攻击的最简单方法

[global]
index-url=https://pypi.douban.com/simple
trusted-host = pypi.douban.com

二、理解各个命令的含义

1.uptime

Python检测和防御DOS攻击的最简单方法

2.netstat

Python检测和防御DOS攻击的最简单方法

Python检测和防御DOS攻击的最简单方法

3.ss

Python检测和防御DOS攻击的最简单方法

4.firewall-cmd

Python检测和防御DOS攻击的最简单方法

打开防火墙80端口:firewall-cmd --add-port=80/tcp

5.sysctl

Python检测和防御DOS攻击的最简单方法

三、利用Python实现DDOS入侵检测

1.采集TCP连接数据

# 4、采集连接数量最多的IP地址
def get_most_ip():
   result = os.popen('netstat -ant | grep :80').read()
   line_list = result.split('\n')
   ip_list = []
   for line in line_list:
       try:
           temp_list = line.split()
           ip = temp_list[4].split(':')[0]
           ip_list.append(ip)
       except:
           pass

dict = Counter(ip_list)
   most_ip = dict.most_common(1)
   return most_ip[0][0]

# 5、调用firewall-cmd防火墙命令封锁攻击源IP地址
def firewall_ip(ip):
   result = os.popen(f"firewall-cmd --add-rich-rule='rule family=ipv4 source address={ip} port port=80 protocol=tcp reject'").read()
   if 'success' in result:
       print(f"已经成功将可疑攻击源 {ip} 进行封锁,流量将不再进入.")
   else:
       print(f"对可疑攻击源 {ip} 进行封锁时失败,转为人工处理.")

#解除封锁:firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.80.21 port port=80 protocol=tcp reject'

来源:https://blog.csdn.net/qq_45616828/article/details/127765446

标签:Python,DOS,攻击
0
投稿

猜你喜欢

  • PHP使用观察者模式处理异常信息的方法详解

    2023-10-19 15:53:30
  • 简单谈谈JS中的正则表达式

    2023-07-22 00:50:22
  • Python_查看sqlite3表结构,查询语句的示例代码

    2021-01-24 22:35:06
  • Python利用pythonping处理ping的示例详解

    2023-08-12 00:28:45
  • python中图像通道分离与合并实例

    2021-04-02 00:09:48
  • django drf框架中的user验证以及JWT拓展的介绍

    2023-12-31 21:14:11
  • 小议javascript设计模式

    2009-10-09 13:31:00
  • z-blog文章摘要图文混排

    2009-02-28 13:49:00
  • 如何利用ASP实现邮箱访问

    2007-09-29 12:27:00
  • tensorflow 大于某个值为1,小于为0的实例

    2023-06-12 03:00:43
  • 如何理解python对象

    2022-09-04 06:58:54
  • 关于自动化测试框架pytest的Fixture固件

    2023-10-16 00:02:50
  • Python Web框架Tornado运行和部署

    2021-04-14 09:17:57
  • ASP常用函数:IsBlank()

    2008-09-28 13:21:00
  • python matplotlib中文显示参数设置解析

    2022-11-18 14:11:41
  • linux下mysql开启远程访问权限 防火墙开放3306端口

    2024-01-24 10:59:14
  • mysql实现按照某个时间段分组统计

    2024-01-14 21:18:36
  • PyCharm关闭碍眼的波浪线图文详解

    2023-07-27 08:47:53
  • python实现的登录与提交表单数据功能示例

    2021-04-28 21:16:38
  • python数据可视化之matplotlib.pyplot基础以及折线图

    2023-03-04 22:10:01
  • asp之家 网络编程 m.aspxhome.com