perl写的tcp连接数

简介:

 perl程序显示本机的tcp连接数例子

 
  1. #!/usr/bin/perl 
  2.  
  3. my $_cmd="netstat -an|grep -v unix"
  4. my @_output=`$_cmd`; 
  5.  
  6. my $_estab      = 0
  7. my $_listen     = 0
  8. my $_timewait   = 0
  9. my $_timeclose  = 0
  10. my $_finwait1   = 0
  11. my $_finwait2   = 0
  12. my $_synsent    = 0
  13. my $_synrecv    = 0
  14. my $_closewait  = 0
  15.  
  16. foreach (@_output) { 
  17.         $_estab++       if /ESTABLISHED/; 
  18.         $_listen++      if /LISTEN/; 
  19.         $_timewait++    if /TIME_WAIT/; 
  20.         $_timeclose++   if /TIME_CLOSE/; 
  21.         $_finwait1++    if /FIN_WAIT1/; 
  22.         $_finwait2++    if /FIN_WAIT2/; 
  23.         $_synsent++     if /SYN_SENT/; 
  24.         $_synrecv++     if /SYN_RECV/; 
  25.         $_closewait++   if /CLOSE_WAIT/; 
  26. print " established:$_estab\n listen:$_listen\n timewait:$_timewait\n timeclose:$_timeclose\n finwait1:$_finwait1\n finwait2:$_finwait2\n synsent:$_synsent\n synrecv:$_synrecv\n closewait:$_closewait\n"; 

运行结果如下

以上运行结果等效于

netstat -an|awk '/^tcp/{++A[$NF]}END{for(a in A) print a,A[a]}'



本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1011578,如需转载请自行联系原作者

相关文章
|
负载均衡 网络协议 算法
一台服务器​最大并发 tcp 连接数多少?65535?
一台服务器​最大并发 tcp 连接数多少?65535?
2745 0
一台服务器​最大并发 tcp 连接数多少?65535?
|
监控 网络协议 Java
netstat统计的tcp连接数与⁄proc⁄pid⁄fd下socket类型fd数量不一致的分析
新blog地址: http://hengyunabc.github.io/netstat-difference-proc-fd-socket-stat/ 最近,线上一个应用,发现socket数缓慢增长,并且不回收,超过警告线之后,被运维监控自动重启了。
2008 0
|
网络协议 负载均衡
单机单网卡最大tcp长连接数真的是65535吗?
很早微博上一直讨论比较多的问题,这里转载个知乎的答案:单机单网卡最大tcp长连接数真的是65535吗? 作者:许怀远 链接:https://www.zhihu.com/question/66553828/answer/244313925 来源:知乎 著作权归作者所有。
1488 0
|
网络协议 Unix Linux
|
网络协议 安全 Linux