一,工具简介
tcptop工具按主机和端口统计吞吐量。
它能够实时地监控和分析网络上的TCP连接,提供关于哪些主机和端口正在使用最多的网络带宽的信息。这对于网络管理员和系统调优人员来说是非常有用的,因为它可以帮助他们快速识别出网络上的高流量源,进而进行相应的优化或处理。
tcptop
的工作原理是通过动态追踪内核中的TCP相关函数,收集关于TCP连接吞吐量的数据,并按照吞吐量进行排序和显示。它可以根据需要显示IPv4和IPv6的TCP连接信息,并可以按照发送或接收的吞吐量进行排序。此外,tcptop
还可以显示与每个TCP连接相关的进程信息,如进程ID和进程名,这有助于进一步了解哪些应用程序正在使用网络带宽。
二,代码示例
#!/usr/bin/env python
from __future__ import print_function
from bcc import BPF
from bcc.containers import filter_by_containers
import argparse
from socket import inet_ntop, AF_INET, AF_INET6
from struct import pack
from time import sleep, strftime
from subprocess import call
from collections import namedtuple, defaultdict
# arguments
def range_check(string):
value = int(string)
if value < 1:
msg = "value must be stricly positive, got %d" % (value,)
raise argparse.ArgumentTypeEr