<% dim ModuleName,InfoID,ChannelShortName,CorrelativeArticle,InstallDir,ChannelDir,Keyword,PageTitle,ArticleIntro,Articlecontent Keyword=stripHTML("Linux ,DDoS ,CC") PageTitle=stripHTML("Linux 服务器被 DDoS / CC 时应急的封 IP 方法") ArticleIntro=stripHTML("") Articlecontent=stripHTML("通过 netstat 获取  如果攻击者攻击的是你的 Web 服务的话,默认是80端口,我们就可以使用下面的代码!  如果攻击的不是80端口的话,将下面的两个数…") ModuleName = stripHTML("netadmin") InfoID = stripHTML("219864") ChannelShortName=stripHTML("网管") InstallDir=stripHTML("http://www.77169.com/") ChannelDir=stripHTML("netadmin") %> Linux 服务器被 DDoS / CC 时应急的封 IP 方法 - 华盟网 - http://www.77169.com
您现在的位置: 华盟网 >> 网管 >> Linux >> 正文

Linux 服务器被 DDoS / CC 时应急的封 IP 方法

2015/12/7 作者:佚名 来源: www.hx99.net
导读 <% if len(ArticleIntro)<3 then Response.Write Articlecontent 'Response.Write "Articlecontent" else Response.Write ArticleIntro 'Response.Write "ArticleIntro" end if %>

  通过 netstat 获取

  如果攻击攻击的是你的 Web 服务的话,默认是80端口,我们就可以使用下面的代码!

  如果攻击的不是80端口的话,将下面的两个数字80改为你被攻击的端口即可!

  如果你需要显示多条记录,请自己手动将head -n20调大即可

  netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20 | netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

  通过 tcpdump 获取

  在使用之前,请确保您的系统已经安装了 tcpdump 。

  Debian / Ubuntu 系列快速安装如下

  apt-get install -y tcpdump

  安装后,使用下面的代码即可。

  需要注意的是,-i eth0指的是你主网卡,如果你是 OpenVZ 的虚拟机的话,就改成您的网卡名venet0

  同样你需要设置的是,port 80设置你被攻击的端口,-c 1000指 tcpdump 需要统计的记录数,他会在达到这个数之后显示结果。head -20设置你要显示的记录条数

  tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

  封禁 IP

  通过上面的步骤,我们已经知道是谁在攻击我们了,现在我们就可以将他们拉入iptables禁止他们连接到服务器了。

  封禁单个 IP

  iptables -I INPUT -s 211.1.2.1 -j DROP

  封禁一个 IP 段

  iptables -I INPUT -s 211.1.2.0/16 -j DROP