利用Shell 腳本解決DDOS攻擊問題
思路:主要利用 awk ,if結(jié)構(gòu),sort,uniq
#!/bin/bash FilePath="access.log" awk '{print $1}' $FilePath | sort -rn | uniq -c >ip_count.log cat ip_count.log | while read text ####讀取文件內(nèi)容,以行為單位 do echo $text count=`echo $text | awk '{print $1}' ` ip=`echo $text | awk '{print $2}'` if [ $count -gt 20 ] then if iptables -L | grep $ip ###判斷是否已經(jīng)在iptables 中 then echo "ip地址存在iptables中,不添加 " else echo "添加ip地址到iptables" iptables -A INPUT -s $ip -j DROP && echo $ip >>ip_drop.log /etc/init.d/iptables save &> /dev/null ###使iptables 生效 /etc/init.d/iptables restart &> /dev/null fi else echo "未到達(dá)標(biāo)準(zhǔn),不添加到iptables" fi done
最后,我們可以把腳本添加到定時(shí)任務(wù)(crontab)里去,定時(shí)執(zhí)行,這樣就可以實(shí)現(xiàn)動(dòng)態(tài)添加了。
以上所述是小編給大家介紹的利用Shell 腳本解決DDOS攻擊問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng)
本篇文章給大家介紹Linux下如何安裝Run文件格式NVIDIA顯卡驅(qū)動(dòng),主要設(shè)計(jì)到linux下安裝run文件格式nvidia顯卡驅(qū)動(dòng)方面的知識(shí)點(diǎn),對(duì)linux下安裝run文件格式nvidia顯卡驅(qū)動(dòng)感興趣的朋友可以參考下本文2015-10-10Linux Shell中三種引號(hào)的用法及區(qū)別
Linux Shell中有三種引號(hào),分別為雙引號(hào)(" ")、單引號(hào)(' ')以及反引號(hào)(` `)。那么這三種引號(hào)有什么區(qū)別呢?下面腳本之家小編給大家介紹下用法及區(qū)別,需要的的朋友參考下2017-03-03Shell腳本中判斷輸入?yún)?shù)個(gè)數(shù)的方法
這篇文章主要介紹了Shell腳本中判斷輸入?yún)?shù)個(gè)數(shù)的方法,使用內(nèi)置變量$#即可實(shí)現(xiàn)判斷輸入了多少個(gè)參數(shù),需要的朋友可以參考下2014-10-10shell腳本快速創(chuàng)建格式化磁盤與詳細(xì)操作步驟
這篇文章主要介紹了shell腳本快速創(chuàng)建格式化磁盤與詳細(xì)操作步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01shell學(xué)習(xí)教程獲取命令行參數(shù)示例
這篇文章主要介紹了shell學(xué)習(xí)中的基礎(chǔ)知識(shí)的獲取命令行參數(shù)示例,需要的朋友可以參考下2014-03-03shell周期差量備份文件夾的實(shí)現(xiàn)代碼
這篇文章主要介紹了shell周期差量備份文件夾的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12