Python 3.x python网络流量监视器

Python 3.x python网络流量监视器,python-3.x,network-programming,Python 3.x,Network Programming,我正在尝试编写一个可以监控网络流量的代码,是否有一种方法可以编写一个可以监控进出流量带宽并能够在python中查看实时带宽使用情况的代码?假设您使用Linux: 读取/sys/class/net/{INTERFACE\u NAME}/statistics/tx\u bytes&/sys/class/net/{INTERFACE\u NAME}/statistics/rx\u bytes以获取发送和接收的字节。然后你可以计算时间步长和瞧之间的差值:你有数据速率。 有关发送/接收文件的说明,请参阅

我正在尝试编写一个可以监控网络流量的代码,是否有一种方法可以编写一个可以监控进出流量带宽并能够在python中查看实时带宽使用情况的代码?

假设您使用Linux:

读取/sys/class/net/{INTERFACE\u NAME}/statistics/tx\u bytes&/sys/class/net/{INTERFACE\u NAME}/statistics/rx\u bytes以获取发送和接收的字节。然后你可以计算时间步长和瞧之间的差值:你有数据速率。 有关发送/接收文件的说明,请参阅

编辑: 快速而肮脏的实施只是为了展示想法:

导入时间 def传输速率偏差、方向、时间步长: 返回linux下接口的传输速率 dev:devicename 方向:接收到rx或发送tx timestep:以秒为单位测量的时间 path=/sys/class/net/{}/statistics/{}\u bytes.formatdev,方向 f=开放路径,r 字节\u before=intf.read f、 接近 time.sleeptimestep f=开放路径,r 字节\u after=intf.read f、 接近 返回字节数\u after-bytes\u before/timestep devname=wlo1 时间步长=2秒 打印传输速率devname、rx、timestep
欢迎来到堆栈溢出!你可以选择第一个,学习并创建一个例子。我们会更容易帮助你。请告诉我们到目前为止您已经尝试了什么。我有一个错误,因为我是python新手,我不知道问题出在哪里,是的,我正在使用。回溯最后一次调用:File monitor.py,第21行,在printtransmissionratedevname,rx,timestep File monitor.py,第10行,在transmissionrate f=openpath,r IOError:[Errno 2]没有这样的文件或目录:'/sys/class/net/wlo1/statistics/rx_bytes',那么您要么不使用linux,要么您的设备名不是wlo1。要获取设备名称,请在终端中键入ip链接。非常感谢senden9。它现在正在工作,您是对的。这是设备名称,您很好。我还有一个问题,是否可以实时查看数据使用流量。如果数字正在变化,我应该能够看到它们向上或向下移动?”怀利:如果它对你有用,请考虑对其进行正确的投票和/或标记正确的答案。该数字正好是发送/接收的字节数。我已经链接了上面的文档。