python流量监控_用python中的pcapy实现网络流量监控

本文介绍了一个使用Python的pcapy库创建的简单网络流量监控器,用于获取每秒字节数(B/s)和总数据传输速率(B)。然而,在通过FTP进行文件传输测试时,监控器未能准确测量总传输量,总是比实际文件大小小很多。作者分享了源代码并寻求改进的建议。
摘要由CSDN通过智能技术生成

我写了一个简单的网络流量监视器来获得B/s和/或总数据传输率(B)。然而,当我用ftp(使用Total Commander)传输一个文件来测试它时,我不能让它把Total transfer作为文件大小来衡量。它总是比实际尺寸小得多。

我不确定我是不是做错了什么。。

我设置的BPF过滤器是dst

下面是我的源代码:import threading

import sys

import pcapy

import time

import logging as logger

class NetMonitor(threading.Thread):

_timeout = 1

@classmethod

def get_net_interfaces(cls):

return pcapy.findalldevs()

def __init__(self, device, bpf_filter):

threading.Thread.__init__(self)

self.active = True

self._net_monitor = pcapy.open_live(device, 65535, 0, 1000) #self.timeout * 1000)

self._net_monitor.setfilter(bpf_filter)

#self.dumper = self.net_monitor.dump_open("pkt_dump.txt")

self._current_bytes_rate = 0

self.total_transfer = 0 # total number of Bytes transfered

#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值