这篇文章详解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
登录后复制

以上就是详解linux查看TCP连接IP统计小程序代码的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部