• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python如何查看系统网络流量的信息

python如何查看系统网络流量的信息

作者:daisy 字体:[增加 减小] 来源:互联网

daisy 通过本文主要向大家介绍了python 监控网络流量,网络流量分析系统,网络流量监控系统,网络流量控制系统,网络流量安全分析系统等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:

python net.py interface
</div>

其中interface为网卡名称,使用什么网卡,电脑有哪些网卡,可以使用

sudo ifconfig
</div>

进行查看。

Python实现的程序如下:

# coding:utf-8
import sys, time, os


'''
Inter-|  Receive                        | Transmit
 face |bytes  packets errs drop fifo frame compressed multicast|bytes  packets errs drop fifo colls carrier compressed
  lo:  28169   364  0  0  0   0     0     0  28169   364  0  0  0   0    0     0
 wlan1: 7432984  6018  0  0  0   0     0     0  681381  6115  0  0  0   0    0     0
vmnet1:    0    0  0  0  0   0     0     0    0   56  0  0  0   0    0     0
vmnet8:    0    0  0  0  0   0     0     0    0   55  0  0  0   0    0     0
 eth0:    0    0  0  0  0   0     0     0    0    0  0  0  0   0    0     0

'''

_unit_=['B','KB','MB','GB','TB']

def get_net_data(interface):
  for line in open('/proc/net/dev', 'r'):
    if line.split(':')[0].find(interface)>=0:
      return map(int, line.split(':')[1].split())

def convert_bytes_to_string(b):
  cnt = 0
  while b >= 1024.0:
    b = float(b) / 1024.0
    cnt += 1
  return '%.2f%s'%(b,_unit_[cnt])

if __name__ == '__main__':
  interface = sys.argv[1]
  while True:
    net_data = get_net_data(interface)
    receive_data_bytes = net_data[0]
    transmit_data_bytes = net_data[8]
    os.system('clear')
    print 'Interface:%s  -> Receive Data: %s  Transmit Data: %s'%(interface, convert_bytes_to_string(receive_data_bytes), convert_bytes_to_string(transmit_data_bytes))
    time.sleep(1)
</div>

程序入口从if name=='main'处开始,首先通过参数获取interface,然后调用get_net_data()函数获取流量信息,接下来都是一些数据处理的过程。

总结

以上就是这篇文章的全部内容了,希望对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

</div>

您可能想查找下面的文章:

  • python如何查看系统网络流量的信息
  • python如何查看系统网络流量的信息

相关文章

  • 讲解Python中for循环下的索引变量的作用域
  • 详解Python中表达式i += x与i = i + x是否等价
  • Python中实现两个字典(dict)合并的方法
  • Python操作列表的常用方法分享
  • Python中使用PyHook监听鼠标和键盘事件实例
  • 用Python编写一个简单的Lisp解释器的教程
  • python使用pymysql实现操作mysql
  • 使用python实现拉钩网上的FizzBuzzWhizz问题示例
  • Python常用模块用法分析
  • 双向RNN:bidirectional_dynamic_rnn()函数的使用详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 使用Python实现BT种子和磁力链接的相互转换
    • Django中处理出错页面的方法
    • python实现批量改文件名称的方法
    • Python中实现结构相似的函数调用方法
    • 深入理解NumPy简明教程---数组3(组合)
    • 在Python中关于中文编码问题的处理建议
    • 在Django的视图(View)外使用Session的方法
    • 初步认识Python中的列表与位运算符
    • Python中字符串的修改及传参详解
    • Python入门第1/10页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有