Python檢測和防御DOS攻擊的最簡單方法
更新時間:2022年11月11日 10:49:36 作者:qq_45616828
這篇文章主要介紹了Python檢測和防御DOS攻擊,首先講解在CentOS上安裝Python3,理解各個命令的含義,最后介紹了利用Python實現(xiàn)DDOS入侵檢測,需要的朋友可以參考下


一、在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.設置環(huán)境變量


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實現(xiàn)DDOS入侵檢測
1.采集TCP連接數(shù)據
# 4、采集連接數(shù)量最多的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攻擊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python 常用日期處理-- datetime 模塊的使用
這篇文章主要介紹了python 如何對日期進行處理,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2020-09-09
Python PyTorch 如何獲取 MNIST 數(shù)據
這篇文章主要介紹了Python PyTorch 如何獲取 MNIST 數(shù)據,通過示例代碼介紹了PyTorch 保存 MNIST 數(shù)據,PyTorch 顯示 MNIST 數(shù)據的操作方法,感興趣的朋友跟隨小編一起看看吧2024-04-04
微軟開源最強Python自動化神器Playwright(不用寫一行代碼)
這篇文章主要介紹了微軟開源最強Python自動化神器Playwright(不用寫一行代碼),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01
在Linux上安裝Python的Flask框架和創(chuàng)建第一個app實例的教程
這篇文章主要介紹了在Linux上安裝Python的Flask框架和創(chuàng)建第一個app實例,包括創(chuàng)建一個HTML模版和利用Jinja2模板引擎來做渲染的步驟,需要的朋友可以參考下2015-03-03

