Maison > développement back-end > Tutoriel Python > Comment afficher les informations sur le trafic réseau du système en Python

Comment afficher les informations sur le trafic réseau du système en Python

高洛峰
Libérer: 2017-02-23 11:01:42
original
1538 Les gens l'ont consulté

Avant-propos

Les informations trafic sont consultables directement dans /proc/net/dev Le programme mis en œuvre par l'auteur utilise la commande :

<.>
python net.py interface
Copier après la connexion

est le nom de la carte réseau, quelle carte réseau utiliser et quelles cartes réseau l'ordinateur possède, vous pouvez utiliser interface

sudo ifconfig
Copier après la connexion

Vérifiez.

Le programme implémenté en Python est le suivant :

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


&#39;&#39;&#39;
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

&#39;&#39;&#39;

_unit_=[&#39;B&#39;,&#39;KB&#39;,&#39;MB&#39;,&#39;GB&#39;,&#39;TB&#39;]

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

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

if __name__ == &#39;__main__&#39;:
  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(&#39;clear&#39;)
    print &#39;Interface:%s  -> Receive Data: %s  Transmit Data: %s&#39;%(interface, convert_bytes_to_string(receive_data_bytes), convert_bytes_to_string(transmit_data_bytes))
    time.sleep(1)
Copier après la connexion

Le programme l'entrée se fait à partir de , obtenez d'abord

via les paramètres, puis appelez la fonction if name=='main' pour obtenir des informations sur le trafic, suivi d'un certain traitement des données. interfaceget_net_data()

RésuméCe qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile aux études ou au travail de chacun. donc, si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'informations sur la façon d'afficher le trafic réseau du système en Python, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal