Linux监測某一时刻对外的IP连接情况

相信大家都熟悉netstat命令吧,这里就主要採用此命令。网上流传的DDoS Deflate工具就是採用IP数量来统计对外连接数,然后结合Iptables的方法来实现某个IP增加黑名单和解禁某IP

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
当中採用的命令。有明显的不足,如没有推断是否为本地连接127.0.0.1或随意地址标识0.0.0.0或空的情况,也没有去掉netstat输出的前两行文字头。且应该降序输出

我自己的版本号:

netstat -ant |sed '1,2 d'| awk '{print $5}' | sort | cut -d: -f1 |awk '{if($1!="0.0.0.0" && $1!="" && $1!="127.0.0.1"){print $1}}'| uniq -c |sort -nr

输出为

 2 173.194.72.95
      1 98.254.64.168
      1 91.189.89.144
      1 91.122.59.53
      1 82.208.89.58
      1 81.7.14.114
      1 70.112.226.65
      1 180.76.22.33
      1 143.215.130.46
      1 126.107.72.9
      1 117.79.93.218

设定一个阙值value。若某一时刻。某个对外连接的某个IP1总数超过这个value,则以(IP1,starttime)增加黑名单。然后iptables -t filter -A INPUT  -s IP1 DROP.

posted @ 2018-03-15 12:13  zhchoutai  阅读(393)  评论(1编辑  收藏  举报