FWQ
详解linux查看TCP连接IP统计小程序代码
这篇文章详解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 …