您的位置:首页 > 理论基础 > 计算机网络

Linux网络相关查询脚本

2016-04-21 22:31 579 查看

转载

1.查看TCP连接状态

netstat-nat|awk'{print$6}'|sort|uniq-c|sort-rn
netstat-n|awk'/^tcp/{++S[$NF]};END{for(ainS)printa,S[a]}'或
netstat-n|awk'/^tcp/{++state[$NF]};END{for(keyinstate)printkey,"\t",state[key]}'
netstat-n|awk'/^tcp/{++arr[$NF]};END{for(kinarr)printk,"\t",arr[k]}'
netstat-n|awk'/^tcp/{print$NF}'|sort|uniq-c|sort-rn
netstat-ant|awk'{print$NF}'|grep-v'[a-z]'|sort|uniq-c

(以上每一行实现的效果基本相同,在此列出不同的写法,方便对脚本写法的更深理解)

2.查找请求数请20个IP(常用于查找攻来源)

netstat-anlp|grep80|greptcp|awk'{print$5}'|awk-F:'{print$1}'|sort|uniq-c|sort-nr|head-n20
netstat-ant|awk'/:80/{split($5,ip,":");++A[ip[1]]}END{for(iinA)printA[i],i}'|sort-rn|head-n20

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

tcpdump-ieth0-tnndstport80-c1000|awk-F"."'{print$1"."$2"."$3"."$4}'|sort|uniq-c|sort-nr|head-20

4.查找较多time_wait连接

netstat-n|grepTIME_WAIT|awk'{print$5}'|sort|uniq-c|sort-rn|head-n20

5.找查较多的SYN连接

netstat-an|grepSYN|awk'{print$5}'|awk-F:'{print$1}'|sort|uniq-c|sort-nr|more

6.根据端口列进程

netstat-ntlp|grep80|awk'{print$7}'|cut-d/-f1

7.查看有多少个PHP-CGI进程活动

netstat-anp|grepphp-cgi|grep^tcp|wc-l

8.查看PHP-CGI占用内存的总数

total=0;foriin`ps-Cphp-cgi-orss=`;dototal=$(($total+$i));done;echo"PHP-CGIMemoryusage:$totalkb"

作者:老蔡»链接:http://lcbk.net/linux/1423.html作为运维人员我们经常需要看下Centos服务器的当前并发数,来了解下服务器当前是否达到并发瓶颈。
那么如何查看呢?使用下面的命令可以分组查看各种连接状态。

netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'

返回结果:


SYN_RECV2(SYN连接请求收到2个等待确认)
ESTABLISHED1(有1个正常数据传输状态)
TIME_WAIT62(等待结束的请求62个)


可返回的所有状态解释:


CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉


如果只想看正常的并发连接,使用如下命令:

netstat-nat|grepESTABLISHED|wc-l


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐
章节导航