我想为每个 ip DROP 200 多个请求以防止 ddos 攻击。这是我用来检测每个 ip 请求数的命令:
netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud)
现在我想将所有发出超过 200 个请求的 ip 地址添加到 IPtables 中,以便 DROP 输入和输出。
我有一个这样的日志文件:
Frq:15 IP:0.0.0.0 Date: 2014-03-21 12:19:31 AM
Frq:9 IP:198.252.206.25 Date: 2014-03-21 12:19:31 AM
Run Code Online (Sandbox Code Playgroud)
现在我用 awk 得到一列 ip 地址:
cat /tmp/test | awk '{print $2}'|awk '{gsub("IP:", "");print}'
Run Code Online (Sandbox Code Playgroud)
结果是:
0.0.0.0
198.252.206.25
Run Code Online (Sandbox Code Playgroud)
我想将此 ip 地址添加到 iptables 以从 INPUT DROP 但我不知道如何
谢谢朋友。