学堂 学堂 学堂公众号手机端

Linux系统通过netstat命令查看连接数

lewis 4年前 (2021-03-07) 阅读数 5 #技术

应用场景:很多时候服务器会遭受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​​

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门