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 -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
参考网址:https://blog.csdn.net/u012386311/article/details/119595452
版权声明
本文仅代表作者观点,不代表博信信息网立场。