• 1
  • 2
  • 3
  • 4
  • 5
Linux操作系统运维问题 首 页  »  帮助中心  »  云服务器  »  Linux操作系统运维问题
Linux 服务器netstat命令查看连接数判断攻击行为
发布日期:2015-12-18 21:12:33

  如发现自己的网站流量异常且访问异常缓慢。可使用系统内置netstat命令,简单判断服务器有没有被攻击。

  常用的netstat命令如下:

  #netstat -na

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

  #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 -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

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

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

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

  #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

  #netstat -an | grep :80 | sort

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

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

  #netstat -antp | awk '$4 ~ /:80$/ {print $4" "$5}' | awk '{print $2}'|awk -F : {'print $1'} | uniq -c | sort -nr | head -n 10

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

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

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