Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3516932
  • 博文数量: 349
  • 博客积分: 5771
  • 博客等级: 大校
  • 技术积分: 4191
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-06 11:52
个人简介

it

文章分类

全部博文(349)

文章存档

2019年(2)

2018年(2)

2017年(1)

2016年(2)

2015年(18)

2014年(36)

2013年(69)

2012年(100)

2011年(62)

2010年(57)

分类: 网络与安全

2014-09-26 11:52:17

在调试awstats的时候,突然发现负载变高,还以为是awstats哪里出了问题,检查进程没发现awstats的任何进程,

开始检查连接,发现并发达到了50多,作为一个日ip只有1、200的小博客,并发不可能这么高,经过一番检查,封掉了一些ip,负载正常了,

下面记录一下常用的一些命令,以备不时之需:

VPS被攻击,记录下常用的检查命令

查看80端口连接数:

netstat -nat|grep -i "80" |wc -l

对连接的IP按连接数量进行排序:

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

用tcpdump嗅探80端口的访问看看谁最高:

tcpdump -i eth0 -tnn dst port 80 -c 1000

iptables屏蔽ip:

#如果只是想屏蔽IP的话“3、开放指定的端口”可以直接跳过。 #屏蔽单个IP的命令是 iptables -I INPUT -s 123.45.6.7 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令 iptables -I INPUT -s 123.0.0.0/8 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令 iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是 iptables -I INPUT -s 123.45.6.0/24 -j DROP

对于web服务器(Nginx、Apache等)来说,并发连接数是一个比较重要的参数,下面就通过netstat命令和awk来查看web服务器的并发连接数以及TCP连接状态。

$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(key in S) print key,"\t",S[key]}' FIN_WAIT2 38 CLOSING 3 SYN_RECV 1 CLOSE_WAIT 1 TIME_WAIT 261 ESTABLISHED 71 LAST_ACK 2 FIN_WAIT1 9
CLOSED          无连接是活动的或正在进行 
LISTEN          服务器在等待进入呼叫 
SYN_RECV        一个连接请求已经到达,等待确认 
SYN_SENT        应用已经开始,打开一个连接 
ESTABLISHED     正常数据传输状态/当前并发连接数 
FIN_WAIT1       应用说它已经完成 
FIN_WAIT2       另一边已同意释放 
ITMED_WAIT      等待所有分组死掉 
CLOSING         两边同时尝试关闭 
TIME_WAIT       另一边已初始化一个释放 
LAST_ACK        等待所有分组死掉

ESTABLISHED参数后面的值就是当前系统的并发连接数了。

转载至:

阅读(2723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~