Linux 系统如何通过 netstat 命令查看连接数判断攻击

# 很多时候我们会遇到服务器遭受cc或syn等攻击,如果发现自己的网站访问异常缓慢且流量异常。可以使用系统内置netstat命令 简单判断一下服务器是否被攻击。常用的netstat命令

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

#netstat -na

查看同时连接到哪个服务器IP比较多,cc攻击用。使用双网卡或多网卡可用。

# netstat -an|awk  '{print $4}'|sort|uniq -c|sort -nr|head

查看哪些IP连接到服务器连接多,可以查看连接异常IP。

#netstat -an|awk -F: '{print $2}'|sort|uniq -c|sort -nr|head

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

#netstat -an | grep :80 | sort    

这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5。 当有Dos攻击或的时候,这个值相当的高。但是有些并发很高的服务器,这个值确实是很高,因此很高并不能说明一定被攻击。

#netstat -n -p|grep SYN_REC | wc -l   

列出所有连接过的IP地址。

#netstat -n -p | grep SYN_REC | sort -u   

列出所有发送SYN_REC连接节点的IP地址。

#netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

使用netstat命令计算每个主机连接到本机的连接数。

#netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 

列出所有连接到本机的UDP或者TCP连接的IP数量。

#netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n  

检查 ESTABLISHED 连接并且列出每个IP地址的连接数量。

#netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr 

列出所有连接到本机80端口的IP地址和其连接数。80端口一般是用来处理HTTP网页请求。

#netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1  

显示连接80 端口前10的ip,并显示每个IP的连接数。这里的80端口是http端口,所以可以用来监控web服务。如果看到同一个IP有大量连接的话就可以判定单点流量攻击了。

#netstat -antp | awk '$4 ~ /:80$/ {print $4" "$5}' | awk '{print $2}'|awk -F : {'print $1'} | uniq -c | sort -nr | head -n 10
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!