中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何寫腳本防cc攻擊

九三
161
2020-12-30 18:07:06
欄目: 網絡安全

如何寫腳本防cc攻擊

Shell腳本代碼如下:

#!/bin/bash

#Author:ZhangGe

#Desc:Auto Deny Black_IP Script.

#Date:2014-11-05

#取得參數$1為并發閾值,若留空則默認允許單IP最大100并發(實際測試發現,2M帶寬,十來個并發服務器就已經無法訪問了!)

if [[ -z $1 ]];then

num=50

else

num=$1

fi

#巧妙的進入到腳本工作目錄

cd $(cd $(dirname $BASH_SOURCE) && pwd)

#請求檢查、判斷及拉黑主功能函數

function check(){

iplist=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk -v str=$num '{if ($1>str){print $2}}'`

if [[ ! -z $iplist ]];

then

>./iplist/black_ip.txt

for black_ip in $iplist

do

#白名單過濾中已取消IP段的判斷功能,可根據需要自行修改以下代碼(請參考前天寫的腳本)

#exclude_ip=`echo $black_ip | awk -F"." '{print $1"."$2"."$3}'`

#grep -q $exclude_ip ./white_ip.txt

grep -q $black_ip ./white_ip.txt

if [[ $? -eq 0 ]];then

echo "$black_ip (white_ip)" >>./black_ip.txt

else

echo $black_ip >>./black_ip.txt

iptables -nL | grep $black_ip ||(iptables -I INPUT -s $black_ip -j DROP & echo "$black_ip `date +%Y-%m-%H:%M:%S`">>./iplist/denylog.txt & echo 1 >./sendmail)

fi

done

#存在并發超過閾值的單IP就發送郵件

if [[ `cat ./sendmail` == 1 ]];then sendmsg;fi

fi

}

#發郵件函數

function sendmsg(){

netstat -nutlp | grep "sendmail" >/dev/null 2>&1 || /etc/init.d/sendmail start >/dev/null 2>&1

echo -e "From: 發郵件地址@qq.com\nTo:收郵件地址@qq.com\nSubject:Someone Attacking your system!!\nIts Ip is" >./message

cat ./black_ip.txt >>./message

/usr/sbin/sendmail -f 發郵件地址@qq.com -t 收郵件地址@qq.com -i <./message

>./sendmail

}

#間隔10s無限循環檢查函數

while true

do

check

#每隔10s檢查一次,時間可根據需要自定義

sleep 10

done

0
凤冈县| 繁峙县| 南城县| 安达市| 泸州市| 福泉市| 溆浦县| 芦溪县| 青阳县| 山阳县| 洪湖市| 高邑县| 三都| 兴宁市| 合肥市| 新巴尔虎左旗| 武清区| 渝北区| 拜城县| 旌德县| 滨州市| 汉源县| 哈密市| 松滋市| 巨野县| 广丰县| 隆回县| 廉江市| 南城县| 和龙市| 焦作市| 仙居县| 武安市| 时尚| 永胜县| 府谷县| 怀安县| 姚安县| 贵港市| 土默特右旗| 邵阳县|