• 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的Django框架的视图中使用Session的方法
  • 使用Python简单的实现树莓派的WEB控制
  • 详解在Python中处理异常的教程
  • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
  • 详解Python中的日志模块logging
  • 利用PyInstaller将python程序.py转为.exe的方法详解
  • Python的消息队列包SnakeMQ使用初探
  • 使用httplib模块来制作Python下HTTP客户端的方法
  • win与linux系统中python requests 安装
  • 从零学Python之入门(二)基本数据类型

文章分类

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

最近更新的内容

    • Python中的高级数据结构详解
    • Python基础入门之seed()方法的使用
    • Perl中著名的Schwartzian转换问题解决实现
    • python中pandas.DataFrame排除特定行方法示例
    • Python中的os.path路径模块中的操作方法总结
    • Python入门篇之编程习惯与特点
    • 在Python的while循环中使用else以及循环嵌套的用法
    • python多线程操作实例
    • python的tkinter布局之简单的聊天窗口实现方法
    • Python中.py文件打包成exe可执行文件详解

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

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