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

目录
  • 一、在CentOS上安装Python3
    • 1.下载Python3.10源代码文件
    • 2.运行以下命令行完成安装
    • 3.确认是否安装成功
    • 4.设置环境变量
    • 5.配置pip国内镜像源
  • 二、理解各个命令的含义
    • 1.uptime
    • 2.netstat
    • 3.ss
    • 4.firewall-cmd
    • 5.sysctl
  • 三、利用Python实现DDOS入侵检测
    • 1.采集TCP连接数据

一、在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

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()

4.设置环境变量

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国内镜像源

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

二、理解各个命令的含义

1.uptime

2.netstat

3.ss

4.firewall-cmd

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

5.sysctl

三、利用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'

到此这篇关于Python检测和防御DOS攻击的文章就介绍到这了,更多相关PythonDOS攻击内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现的防DDoS脚本

    这篇博可以说连开场白都可以省掉了,之所以被DDoS,并不是因为惹了疯狗被追着咬,而是因为VC悲剧之后流量全到simplecd来了. 不仅如此,一些笨蛋们在抓站,一些笨蛋们在用迅雷下载,100Mbps的端口居然已经满负荷运作十几个小时了,这是什么概念?100Mbps满负荷1天,流量就是1000G,这样下去不用多久,我就可以等着上百刀的罚单了,泪飙. 此外,100Mbps的速度使得硬盘都快转不动了,严重拖累网站的响应速度,卡得我欲仙欲死啊真是.想当年VC挂了一天,被抓站的家伙们搞得一个礼拜半残废状态

  • 对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. 使用Popen模块产生新的process 现在大部分人都喜欢使用Popen.Popen方法不会打印出cmd在linux上执行的信息.的确,Popen非常强大,支持多种参数和模式.使用前需要from subprocess import Popen, PIPE.但是Popen函数有一个缺陷,就是它是一个阻塞的方

  • Python实现DDos攻击实例详解

    SYN 泛洪攻击 SYN泛洪攻击是一种比较常用的Dos方式之一.通过发送大量伪造的 TCP 连接请求,使被攻击主机资源耗尽(通常是 CPU 满负荷或内存不足)的攻击方式 我们都知道建立 TCP 连接需要三次握手.正常情况下客户端首先向服务器端发送SYN报文,随后服务端返回以SYN+ACK报文,最后客户端向服务端发送ACK报文完成三次握手 而SYN泛洪攻击则是客户端向服务器发送SYN报文之后就不再响应服务器回应的报文.由于服务器在处理 TCP 请求时,会在协议栈留一块缓冲区来存储握手的过程,当然如

  • python版DDOS攻击脚本

    于是就找到了我之前收藏的一篇python的文章,是关于ddos攻击的一个脚本,正好今天有空,就实践下了. 附上源码pyDdos.py: #!/usr/bin/env python import socket import time import threading #Pressure Test,ddos tool #--------------------------- MAX_CONN=20000 PORT=80 HOST="www.baidu.com" PAGE="/in

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

    目录 一.在CentOS上安装Python3 1.下载Python3.10源代码文件 2.运行以下命令行完成安装 3.确认是否安装成功 4.设置环境变量 5.配置pip国内镜像源 二.理解各个命令的含义 1.uptime 2.netstat 3.ss 4.firewall-cmd 5.sysctl 三.利用Python实现DDOS入侵检测 1.采集TCP连接数据 一.在CentOS上安装Python3 1.下载Python3.10源代码文件 下载地址:https://www.python.org

  • Python Django框架防御CSRF攻击的方法分析

    本文实例讲述了Python Django框架防御CSRF攻击的方法.分享给大家供大家参考,具体如下: 项目名/settings.py(项目配置,csrf中间件配置): MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware

  • python脚本实现数据导出excel格式的简单方法(推荐)

    实习期间,服务器的一位师兄让我帮忙整理一下服务器的log数据,最终我用Python实现了数据的提取并将其用Excel格式导出.下面是我Python实现的源码,可以自动遍历某一文件目录下的所有文本文件,并将总的数据导出到Excel文件中,导出为Excel格式这样就比较方便统计了. //实现将目录下所有文件格式为.txt的文件进行遍历统计,如果是别的格式直接将下面的.txt改为你所需要的格式后缀就可以了,比较方便. //过程就是先将所有的文件中的内容提取出来写入到一个新文件中,然后再从新文件中提取数

  • ADSL防御黑客攻击的十大方法

    目前,使用ADSL的用户越来越多,由于ADSL用户在线时间长.速度快,因此成为黑客们的攻击目标.现在网上出现了各种越来越详细的"IP地址库",要知道一些ADSL用户的IP是非常容易的事情.要怎么保卫自己的网络安全呢?不妨看看以下方法. 一.取消文件夹隐藏共享 如果你使用了Windows 2000/XP系统,右键单击C盘或者其他盘,选择"共享",你会惊奇地发现它已经被设置为"共享该文件夹",而在"网上邻居"中却看不到这些内容,这

  • 在Python 3中实现类型检查器的简单方法

    示例函数 为了开发类型检查器,我们需要一个简单的函数对其进行实验.欧几里得算法就是一个完美的例子: def gcd(a, b): '''Return the greatest common divisor of a and b.''' a = abs(a) b = abs(b) if a < b: a, b = b, a while b != 0: a, b = b, a % b return a 在上面的示例中,参数 a 和 b 以及返回值应该是 int 类型的.预期的类型将会以函数注解的形式

  • python将中文数字转化成阿拉伯数字的简单方法

    正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = "在一九四九年新中国成立比一九九零年低百分之五点二人一九九六年击败俄军,取得实质独立" pattrern1 = '[零一二三四五六七八九]{4,}' pattrern2 = '[〇一二三四五六七八九零壹贰叁肆伍陆柒捌玖貮两]{4,}' time1 = re.findall(pattrern1,m0)#转化数字 提取年份如:'1949', '1990', '1996' 这里给出许多正则表达式的样例:

  • python使用yield压平嵌套字典的超简单方法

    我们经常遇到各种字典套字典的数据,例如: nest_dict = { 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': {'f': 4} }, 'g': {'h': 5}, 'i': 6, 'j': {'k': {'l': {'m': 8}}} } 有没有什么简单的办法,把它压扁,变成: { 'a': 1, 'b_c': 2, 'b_d': 3, 'b_e_f': 4, 'g_h': 5, 'i': 6, 'j_k_l_m': 8 } 你肯定想到了使用递归来解决这个问题,那

  • 详解python 破解网站反爬虫的两种简单方法

    最近在学爬虫时发现许多网站都有自己的反爬虫机制,这让我们没法直接对想要的数据进行爬取,于是了解这种反爬虫机制就会帮助我们找到解决方法. 常见的反爬虫机制有判别身份和IP限制两种,下面我们将一一来进行介绍. (一) 判别身份 首先我们看一个例子,看看到底什么时反爬虫. 我们还是以 豆瓣电影榜top250(https://movie.douban.com/top250) 为例.` import requests # 豆瓣电影榜top250的网址 url = 'https://movie.douban

  • 防御DDoS攻击实用指南 守住你的网站

    一.为何要DDoS? 随着Internet互联网络带宽的增加和多种DDoS黑客工具的不断发布,DDoS拒绝服务攻击的实施越来越轻易,DDoS攻击事件正在成上升趋势.出于商业竞争.打击报复和网络敲诈等多种因素,导致很多IDC托管机房.商业站点.游戏服务器.聊天网络等网络服务商长期以来一直被DDoS攻击所困扰,随之而来的是客户投诉.同虚拟主机用户受牵连.法律纠纷.商业损失等一系列问题,因此,解决DDoS攻击问题成为网络服务商必须考虑的头等大事. 二.什么是DDoS? DDoS是英文Distribut

  • 基于DoS攻击的随机数据包标记源跟踪算法

    作者:饥饿加菲猫(QQ120474) iojhgfti@hotmail.com 摘要: 针对互联网上日益猖獗的拒绝服务攻击(DoS),分析了传统的随机数据包标记算法的性能缺陷,提出一种新的基于散列消息鉴别码的返回跟踪算法HPPM,通过分析其性能指标,说明该算法提高了返回跟踪DoS攻击的效率和准确性. 感谢帮过我的几个高手袁哥[nsfocus], sunwear[E.S.T] , isno[xfocus] , scz[nsfocus] 1.引言 拒绝服务攻击,简称DoS(Denial-of-Ser

随机推荐