linux 查看TCP连接IP统计小程序

#!/usr/bin/env python
#coding:utf8
import commands
import time
import sys

def main(count_list):
    print "数量\t\tIP地址 \t\t\t连接状态"
    for i in  count_list:
        for x in i.split():
            if len(x) > 14:
                print "%s \t"% x,
            else:
                print "%s \t\t" % x,
        print

if __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("\n")
                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("\n")
                main(count_list)
                time.sleep(5)
                print
                print "-----------------------------------------------------"
        except:
            pass

执行结果

[[email protected]]# 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

或者可以跟参数

[[email protected]]# 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
时间: 2024-11-08 18:55:49

linux 查看TCP连接IP统计小程序的相关文章

实例:linux查看和操作IP路由表方法

实例:linux查看和操作IP路由表方法 听语音 | 浏览:2933 | 更新:2015-10-17 10:07 | 标签:linux 1 2 3 4 5 6 7 分步阅读 Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.本文将以实例讲解linux查看和操作IP路由表方法,外网SSH访问内网LINUX. 方法/步骤

WordCount:字符统计小程序

WordCount:字符统计小程序 github地址: https://github.com/Kassation/WordCount 任务1:分析整理需求, 完成PSP表格 分析整理需求: 首先分析基本功能: 1. 统计字符数:空格,制表符,换行符均算作字符 2. 统计单词数:由空白符和逗号分隔开的字符串算作单词 3. 统计行数:由换行符分隔开的字符串算作一行 所以暂时模块化出三个函数,分别来进行不同的统计并直接返回输出的字符串. 然后需要实现读取命令行中的参数的功能,基本思路是,先获取-c.-

linux 系统优化tcp连接

提高服务器的负载能力,是一个永恒的话题.在一台服务器CPU和内存资源额定有限的情况下,最大的压榨服务器的性能,是最终的目的.要提高Linux系统下的负载能力,可以先启用Apache的Worker模式(参考我写的< Ubuntu下配置Apache的Worker模式 >一文),来提高单位时间内的并发量.但是即使这么做了,当网站发展起来之后,连接数过多的问题就会日益明显.在节省成本的情况下,可以考虑修改 Linux的内核TCP/IP参数,来最大的压榨服务器的性能.当然,如果通过修改内核参数也无法解决

对Linux下TCP连接相关配置的优化记录(转载)

1.Linux系统设置优化,vi /etc/sysctl.conf,添加以下内容 Sysctl.conf代码   fs.file-max = 65535 kernel.pid_max = 65536 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_timestsmps = 0 net.ipv4.tcp_tw_reuse = 1 net.ipv

微信百度合作?在百度也可以统计小程序|极限工坊淘小咖

近期随着百度移动统计通过多年,沉淀下来的分析方法论正式赋能微信小程序,从此,App.百度小程序.微信小程序等多端数据可以在一处查看! 以后,你可以通过百度统计查看到微信小程序全方位的数据. 囊括6大模块分析,包括用户分析.使用分析.场景分析.留存分析.转化分析.分享传播. 数据主要有以下方面: 用户类指标:新用户数.老用户数.用户平均启动次数.使用时长.新用户/老用户占比-- 活跃类指标:日.周.月活跃用户,和流失的活跃的用户-- 留存类指标:留存用户数.日/周/月留存率 页面类指标:UV.PV

python--代码统计小程序

有人说,大学生在校期间要码够10W行代码,也有人说,看的不是写代码的行数,而是修改代码的行数... 不管谁说,说的人都挺牛的 咳,首先给自己定个小目标吧,5W行代码!成天写代码,啥时候到5W呢?为了更准确的衡量自己,写了一个代码统计行数的小程序,初学编程的可以借鉴下,从开始统计自己的代码行数 程序很简单,遍历代码文件的行数,将行数变量存放在本地文件中,可以在加个时间戳 1 #coding=gbk 2 import os 3 import time 4 5 seq = '' 6 n = 0 7 t

java 小程序查看器 启动:未初始化小程序 解决方法

欢迎大家转载.为保留作者成果,转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载.假设你没有积分.能够联系我索要! 在执行java程序的时候突然出现启动:未初始化小程序,  百度了一大堆资料都没有解决方式.但程序还是要用啊.依照又一次建立project的步骤又一次来吧.总之肯定是某个地方出现了错误! 依据多次尝试最终找到了解决方法.不知道你们的和我的是不是相同的原因引起的.方法例如以下: 1.右击project----属性,如图: 2.依

[linux]关于ucontext库的一个小程序的注释 @ C语言

在维基百科https://en.wikipedia.org/wiki/Setcontext里面有以下一段程序,理解了这个小程序,基本上对ucontext这个执行上下文切换的库也能理解个差不多. #include <stdio.h> #include <ucontext.h> #include <unistd.h> int main(int argc, const char *argv[]){ ucontext_t context; getcontext(&con

代码统计小程序

目录 关于os.work 关于 sys.argv 代码统计程序 关于os.work import os res = os.walk(r'D:\LearnPython\program2') #for path, _, file_list in res: #print(path)#提取出根目录下所有的文件夹 #print(file_list)#提取出文件夹里所有的文件 for _,i,_ in res: print(i)#一层一层打印出所有文件夹的名字 关于 sys.argv 在cmd中运行时如果.