如何通过netstat命令判断是否遭受Dos攻击?遭到DDoS该如何缓解?

  1. 云栖社区>
  2. 博客>
  3. 正文

如何通过netstat命令判断是否遭受Dos攻击?遭到DDoS该如何缓解?

墨者安全 2019-03-06 16:06:55 浏览2016
展开阅读全文
作为一个服务器运维人员,相信都遇到过服务器卡顿、延迟这种现象,原因有可能是脚本出错、程序BUG、服务器配置错误等,还有一种常见的可能是有人针对服务器发起了DDoS攻击,导致服务器拥堵或直接崩溃。DDos攻击是最常见的一种网络攻击方式,主要是通过控制大量僵尸网络肉鸡对服务器发送请求,导致服务器资源耗尽或者网络堵塞,使正常用户无法访问。今天墨者安全就来说说如何使用netstat命令判断服务器是否遭受Dos攻击?遭到DDoS又该如何缓解?

70457d49837b5c91967e47cd8122b886feb9de62

netstat命令的作用主要是用来查询和显示网络连接、接口统计、伪连接等,常见的查询命令有以下几种:

netstat -n -p | grep SYN_REC | sort -u
列出所有连接过的IP地址。

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令计算每个主机连接到本机的连接数。

netstat -na
该命令将显示所有活动的网络连接。

netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
列出所有发送SYN_REC连接节点的IP地址。

netstat -an | grep :80 | sort
显示所有80端口的网络连接并排序。这里的80端口是http端口,所以可以用来监控web服务。如果看到同一个IP有大量连接的话就可以判定单点流量攻击了。

netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
检查 ESTABLISHED 连接并且列出每个IP地址的连接数量。

netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
列出所有连接到本机80端口的IP地址和其连接数。80端口一般是用来处理HTTP网页请求。

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出所有连接到本机的UDP或者TCP连接的IP数量。

netstat -n -p|grep SYN_REC | wc -l
这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5。 当有Dos攻击或者邮件炸弹的时候,这个值相当的高。尽管如此,这个值和系统有很大关系,有的服务器值就很高,也是正常现象。

b4e9132b07c3d66358047e67ccd6e39d4935e5cf

如何通过netstat命令缓解DDOS攻击呢?

一旦获得攻击服务器的IP地址就可以使用以下命令拒绝此IP的所有连接。
iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
注意,你需要将 $IPADRESS 替换成需要拒绝连接的IP地址。执行完以上命令后,使用以下命令结束所有的httpd连接以清理系统。
killall -KILL httpd

然后执行以下命令重启httpd服务。
service httpd start           #RedHat 系统 
/etc/init/d/apache2 restart   #Debian 系统

6fa6dd9852b34177d4bc4a4c217549eb160de443

当然通过netstat命令只能缓解部分DDoS攻击,而且还很有可能造成大量误封正常访客。所以墨者安全还是建议最好通过专业的网络安全公司部署DDoS高防IP,对恶意攻击流量进行清洗,隐藏服务器源IP,确保源站稳定运行。

网友评论

登录后评论
0/500
评论
墨者安全
+ 关注