好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

一个用来统计当前linux连接某个端口的IP数目的语


一个用来统计当前linux连接某个端口的IP数目的语句

 

为了要分析连接到当前linux的某个端口,比如80的所有外来IP的数,并且要来个排序 

和统计,可以这样: 

  netstat -tn 2>/dev/null | grep :80 |grep "ESTABLISHED"| awk '{print $5}' | cut -d: -f 4 | sort | uniq -c | sort -nr | head 

  www.2cto.com  

下面注意来分析: 

 

1)netstat -tn 2>/dev/null 

参数t,只显示tcp连接  -n:只显示数字,则会显示入下的形式: 

 

  tcp        0      0 64.91.*.*:80            114.198.236.100:12763       TIME_WAIT   

tcp        0      0 64.91.*.*:80            175.136.226.244:51950       TIME_WAIT   

tcp        0      0 64.91.*.*:80            175.136.226.244:51951       TIME_WAIT   

tcp        0      0 64.91.*.*:23            202.127.210.2:14517         TIME_WAIT   

tcp        0      0 64.91.*.*:80            149.238.193.121:65268       TIME_WAIT   

tcp        0      0 64.91.*.*:80            114.198.236.100:44088       ESTABLISHED 

tcp        0      0 64.91.*.*:80            175.136.226.244:51952       TIME_WAIT 

  www.2cto.com  

2)但是只要established的,则grep  "ESTABLISHED" 

 

3)然后再AWK一下: 

::ffff:   114.198.236.100:12763  

::ffff: 175.136.226.244:51950 

::ffff: 175.136.226.244:51951 

::ffff: 149.238.193.121:65268 

::ffff: 114.198.236.100:44088 

::ffff: 175.136.226.244:51952 

 

4)然后注意用cut,提取内容,CUT的用法见: 
 

  http://www.2cto.com/os/201208/152057. html  

cut -d : -f 4 

  这里用:分隔符号,结果为: 

114.198.236.100 

175.136.226.244 

175.136.226.244 

149.238.193.121 

114.198.236.100 

175.136.226.244 

  www.2cto.com  

5) 然后再排序,group一下,然后按连接次数最多的排在前面 

  ,最后甚至可以head一下,完成了 

3 175.136.226.244 

2 114.198.236.100 

1 149.238.193.121 

甚至再wc -l一下,得出当前连接80端口的estabalished的外部IP的总数 
 

查看更多关于一个用来统计当前linux连接某个端口的IP数目的语的详细内容...

  阅读:50次