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國內(nèi)鏡像源

[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ù)據(jù)
# 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、調(diào)用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"已經(jīng)成功將可疑攻擊源 {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攻擊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5
這篇文章主要介紹了python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
Python+Redis從零打造分布式鎖實戰(zhàn)示例
Redis作為一款高性能的內(nèi)存鍵值數(shù)據(jù)庫,憑借其支持原子操作、高并發(fā)和數(shù)據(jù)持久化等特性,非常適合用來實現(xiàn)分布式鎖,本文將詳細探討如何使用Python結合Redis從簡單到復雜地實現(xiàn)分布式鎖,并提供相應的示例代碼2024-01-01
python實現(xiàn)websocket的客戶端壓力測試
這篇文章主要為大家詳細介紹了python實現(xiàn)websocket的客戶端壓力測試,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06

