您的位置:首页 > 运维架构 > Linux

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

2014-11-06 14:28 309 查看
查看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参数后面的值就是当前系统的并发连接数了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息