如何使用netstat命令判断服务器是否遭受Dos攻击?遭到DDoS又该如何缓解?
作为一个服务器运维人员,相信都遇到过服务器卡顿、延迟这种现象,原因有可能是脚本出错、程序BUG、服务器配置错误等,还有一种常见的可能是有人针对服务器发起了DDoS攻击,导致服务器拥堵或直接崩溃。DDoS攻击是最常见的一种网络攻击方式,主要是通过控制大量僵尸网络肉鸡对服务器发送请求,导致服务器资源耗尽或者网络堵塞,使正常用户无法访问。今天柚子云就来说说如何使用netstat命令判断服务器是否遭受Dos攻击?遭到DDoS又该如何缓解? 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攻击或者邮件炸弹的时候,这个值相当的高。尽管如此,这个值和系统有很大关系,有的服务器值就很高,也是正常现象。
如何通过netstat命令缓解DDOS攻击呢? |