如何使用 netstat 命令验证 DDOS 入侵
一般来说,服务器非常慢可能原因是多方面的,有可能是配置错误,脚本错误或者是一些奇诡的硬件。当然也有可能是有人对你的服务器进行 Dos (拒绝服务攻击) 或者 DDOS (分布式拒绝服务攻击)。
Dos 攻击或者 DDos 攻击目的是使服务器或者网络资源耗尽,使其他用户无法使用。一般来说,这种攻击主要针对重要的网站或服务,比如银行、信用卡支付网关甚至是根域名服务器。Dos 攻击主要通过强制目标主机重启或大量消耗其主机资源,使得目标主机无法提供服务或者妨害主机和用户之间的通信的手段,使得主机无法提供正常的服务的。
在本文中你将知道如何在终端中使用 netstat 命令判断服务器是否遭受 Dos 攻击。
netstat 命令的用户手册描述其作用是用来显示网络连接、路由表、接口统计、伪连接和组播成员的。
一些例子和解释
netstat -na
该命令将显示所有活动的网络连接。
netstat -an | grep :80 | sort
显示所有 80 端口的网络连接并排序。这里的 80 端口是 http 端口,所以可以用来监控 web 服务。如果看到同一个 IP 有大量连接的话就可以判定单点流量攻击了。
netstat -n -p|grep SYN_REC | wc -l
这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于 5。 当有 Dos 攻击或者邮件炸弹的时候,这个值相当的高。尽管如此,这个值和系统有很大关系,有的服务器值就很高,也是正常现象。
netstat -n -p | grep SYN_REC | sort -u
列出所有连接过的 IP 地址。
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 系统
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论