Linux 指令简单将攻击IP列入iptables 限制范围

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2008/02/23/linuxzhilingjiandanjianggongjiiplieruiptablesxianzhifanwei.html

来自CU的高人.http://php.twomice.net/bbs/viewthread.php?tid=39

netstat -an | grep -v LISTEN | awk ‘{print $5}’ | awk ‘BEGIN { FS=”:” } { Num[$1]++ } END { for(i in Num) if(Num[i]>8) { print i} }’ | xargs -i[] iptables -I INPUT -s [] -j DROP

红色部分为设定值,这条句子会自动将netstat -an 中查到的来自同一IP的超过一定量的连接的列入禁止范围,红色部分为阀值

暂无留言

我要留言
  • 1 F

    我国著名历史学家  |  2008/02/23 00:10 上午  

    也用曾经有过类似脚本,在cron中定期运行,然后2小时解封。
    但是剔除了来自baidu爬虫和google爬虫的IP。
    而且封一个C段
    剔除搜索引擎ip之后的数据在ip.txt里保存如下格式的ip地址段:
    211.95.208.0/24
    219.78.190.0/24
    64.7.220.0/24
    68.163.195.0/24

    #!/bin/sh
    IPSRC=`cat ip.txt`
    for i in $IPSRC;do
    /sbin/iptables -A INPUT -s $i -j REJECT
    done

    我这用的是iptables -A
    注意-A和-I的区别,不要让-A …REJECT 在一个更宽泛的ACCEPT之后,否则无效

(必填)
(必填,绝不公开)