PHP前端开发

详解linux查看TCP连接IP统计小程序代码

百变鹏仔 5小时前 #前端问答
文章标签 详解

这篇文章详解linux查看tcp连接ip统计小程序代码

#!/usr/bin/env python#coding:utf8import commandsimport timeimport sysdef main(count_list):    print "数量		IP地址 			连接状态"    for i in  count_list:        for x in i.split():            if len(x) > 14:                print "%s 	"% x,            else:                print "%s 		" % x,        printif __name__ == '__main__':    if len(sys.argv) >1:        try:            while 1:                command_str = """netstat -tan | grep '""" + sys.argv[1] + """' |awk '{print $(NF-1),$NF}' | grep -E '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk -F [ :] '{print $(NF-2),$NF}' | awk '{ip[$0]++}END{for ( i in ip) print ip[i],i | "sort -nr | head -n 20" }' 2>/dev/null """                count_list =  commands.getstatusoutput(command_str)[1].split("")                main(count_list)                time.sleep(5)                print                print "-----------------------------------------------------"        except:            pass    else:        try:            while 1:                command_str = """netstat -tan|awk '{print $(NF-1),$NF}' | grep -E '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk -F [ :] '{print $(NF-2),$NF}' | awk '{ip[$0]++}END{for ( i in ip) print ip[i],i | "sort -nr | head -n 20" }' 2>/dev/null """                count_list =  commands.getstatusoutput(command_str)[1].split("")                main(count_list)                time.sleep(5)                print                print "-----------------------------------------------------"        except:            pass

执行结果

[root@duyunlong-100-70test]# tcpcheck 数量        IP地址                 连接状态313        172.16.6.11         ESTABLISHED         189        172.16.6.13         ESTABLISHED         176        172.16.6.12         ESTABLISHED         64         172.16.100.50       ESTABLISHED         50         172.16.100.51       ESTABLISHED         43         172.16.3.20         ESTABLISHED         31         172.16.1.64         ESTABLISHED         31         172.16.1.62         ESTABLISHED         31         172.16.1.61         ESTABLISHED         30         172.16.4.20         ESTABLISHED         30         172.16.3.81         ESTABLISHED         30         172.16.3.80         ESTABLISHED         30         172.16.3.66         ESTABLISHED         30         172.16.3.21         ESTABLISHED         30         172.16.1.65         ESTABLISHED         30         172.16.1.63         ESTABLISHED         30         172.16.1.60         ESTABLISHED         30         172.16.1.103        ESTABLISHED         30         172.16.1.102        ESTABLISHED         30         172.16.1.101        ESTABLISHED

或者可以跟参数

[root@duyunlong-100-70test]# tcpcheck TIME_WAIT数量        IP地址                 连接状态15         172.16.3.21         TIME_WAIT         15         172.16.3.20         TIME_WAIT         2          172.16.6.24         TIME_WAIT