通常来讲,服务器很是慢可能缘由是多方面的,有多是配置错误,脚本错误或者是一些奇诡的硬件。固然也有多是有人对你的服务器进行 Dos (拒绝服务攻击)或者 DDOS (分布式拒绝服务攻击)。 web
通常来讲,服务器很是慢可能缘由是多方面的,有多是配置错误,脚本错误或者是一些奇诡的硬件。固然也有多是有人对你的服务器进行 Dos (拒绝服务攻击)或者 DDOS (分布式拒绝服务攻击)。 apache
Dos攻击或者DDos攻击目的是使服务器或者网络资源耗尽,使其余用户没法使用。通常来讲,这种攻击主要针对重要的网站或服务,好比银行、信用卡支付网关甚至是根域名服务器。Dos攻击主要经过强制目标主机重启或大量消耗其主机资源,使得目标主机没法提供服务或者妨害主机和用户之间的通讯的手段,使得主机没法提供正常的服务的。 服务器
在本文中你将知道如何在终端中使用netstat命令判断服务器是否遭受Dos攻击。 网络
netstat命令的用户手册描述其做用是用来显示网络链接、路由表、接口统计、伪链接和组播成员的。 tcp
一些例子和解释 分布式
- netstat -na
该命令将显示全部活动的网络链接。 网站
- netstat -an | grep :80 | sort
显示全部80端口的网络链接并排序。这里的80端口是http端口,因此能够用来监控web服务。若是看到同一个IP有大量链接的话就能够断定单点流量攻击了。 spa
- netstat -n -p|grep SYN_REC | wc -l
这个命令能够查找出当前服务器有多少个活动的 SYNC_REC 链接。正常来讲这个值很小,最好小于5。 当有Dos攻击或者邮件炸弹的时候,这个值至关的高。尽管如此,这个值和系统有很大关系,有的服务器值就很高,也是正常现象。 rest
- netstat -n -p | grep SYN_REC | sort -u
列出全部链接过的IP地址。 code
- netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
列出全部发送SYN_REC链接节点的IP地址。
- netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令计算每一个主机链接到本机的链接数。
- netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
列出全部链接到本机的UDP或者TCP链接的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网页请求。
如何减小DOS攻击
一旦你得到攻击服务器的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 系统