python如何查看系統網路流量的資訊,python網路流量

來源:互聯網
上載者:User

python如何查看系統網路流量的資訊,python網路流量

前言

流量資訊可以直接在/proc/net/dev中進行查看,筆者實現的程式使用命令:

python net.py interface

其中interface為網卡名稱,使用什麼網卡,電腦有哪些網卡,可以使用

sudo ifconfig

進行查看。

Python實現的程式如下:

# coding:utf-8import 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     0vmnet1:    0    0  0  0  0   0     0     0    0   56  0  0  0   0    0     0vmnet8:    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)

程式入口從if name=='main'處開始,首先通過參數擷取interface,然後調用get_net_data()函數擷取流量資訊,接下來都是一些資料處理的過程。

總結

以上就是這篇文章的全部內容了,希望對大家的學習或者工作帶來一定的協助,如果有疑問大家可以留言交流。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.