g87616758 发表于 2018-8-31 10:11:33

perl写的tcp连接数

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


[*]#!/usr/bin/perl
[*]
[*]my $_cmd="netstat -an|grep -v unix";
[*]my @_output=`$_cmd`;
[*]
[*]my $_estab      = 0;
[*]my $_listen   = 0;
[*]my $_timewait   = 0;
[*]my $_timeclose= 0;
[*]my $_finwait1   = 0;
[*]my $_finwait2   = 0;
[*]my $_synsent    = 0;
[*]my $_synrecv    = 0;
[*]my $_closewait= 0;
[*]
[*]foreach (@_output) {
[*]      $_estab++       if /ESTABLISHED/;
[*]      $_listen++      if /LISTEN/;
[*]      $_timewait++    if /TIME_WAIT/;
[*]      $_timeclose++   if /TIME_CLOSE/;
[*]      $_finwait1++    if /FIN_WAIT1/;
[*]      $_finwait2++    if /FIN_WAIT2/;
[*]      $_synsent++   if /SYN_SENT/;
[*]      $_synrecv++   if /SYN_RECV/;
[*]      $_closewait++   if /CLOSE_WAIT/;
[*]}
[*]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}'
  


页: [1]
查看完整版本: perl写的tcp连接数