首页 > 编程知识 正文

linux查看网卡状态,ethtool -p

时间:2023-05-05 16:58:29 阅读:110318 作者:4777

rxdhj,航班更改,添加了kddxgz,全局变量太弱。 什么时候变更为yield

#! /usr/bin/env python

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#nic_traffic.pl=nic_status.py

#HuiLi

#2015-07-07

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

导入系统

导入时间

import os

导入re

导入副本

#导入

类状态(object ) :

def __init__(self ) :

self.color={

' purple': '33[1; 35; 2m ',

' red': '33[1; 31; 2m ',

' green': '33[1; 32; 2m ',

' default': '33[0; 0m '

}

self.freshtime=1

self.maxnic=4

self.width=10

self.G=1024 * 1024 * 1024

self.M=1024 * 1024

self.K=1024

self.commlen=120

def__printf(self,string ) :

sys.stdout.write(string )

sys.stdout.flush (

def__purple(self,string ) :

return ' % s % s % s ' % (self.color [ ' purple ' ],string,self.color['default'] )

def__red(self,string ) :

return ' % s % s % s ' % (self.color [ ' red ' ],string,self.color['default'] ) )

def__green(self,string ) :

return ' % s % s % s ' % (self.color [ ' green ' ],string,self.color['default'] ) )

def_theme(self,front,end,num,bool ) :

num=self.__int2str(num )

if bool=='wrong':

self.__printf(|frontself.__red ) num (end (n ) ) ) ) ) ) ) ) ) ) 652

elif bool=='right':

self._ _ printf (|front self._ _ green (num ) end ) ) ) )。

else:

打印' color标志错误'

是sys.exit(0)

def_gettime(self ) :

now time=time.strftime (% y-% m-% d % h : % m 3360 % s ) )

返回通知时间

def__parser(self,nic ) :

data={}

pattern_nic='%s:' %nic

try:

NiCPF=open(/proc/net/dev ),' r ' ) )

except IOError,e:

是sys.exit(0)

for eachLine in nicpf:

eachLine=eachLine.strip (

info_NIC=re.search(pattern_NIC,eachLine ) ) ) ) ) ) ) ) )。

if info_nic is not None:

nic_status=eachLine.split (

data [ ' rx _ bytes ' ]=int (NIC _ status [1] ) 8

data [ ' rx _ packets ' ]=int [ NIC _ status [2] ]

data [ ' rx _ dropped ' ]=int [ NIC _ status [4] ]

data [ ' tx _ bytes ' ]=int (NIC _ status [9] ) 8

data [ ' tx _ packets ' ]=int [ NIC _ status [ 10 ] ]

data [ ' tx _ dropped ' ]=int [ NIC _ status [ 12 ] ]

返回数据

def_int2str(self,num ) :

if num self.G:

num='%.hxsdbq(num*1.0/self.g ) )。

elif num self.M:

num='%.1fm'%(num*1.0/self.m ) )。

elif num self.K:

num='%.1fk'%(num*1.0/self.k ) )。

else:

num='%.1f ' %(num * 1.0 )

返回数值

def_show(self,nic,b,p,d,flag ) :

self.__printf(self.__gettime ()

self.__printf(self.__purple ) NIC.center (self.width ) )

self.__theme(flag'bps: ',' bits/s ',b,' right ' )

self.__theme(flag'packets: ',' pkts/s ',p,' right ' )。

self.__theme(flag'Dropped: )、' pkts/s '、d、' wrong ' () ) ) ) ) ) ) ) ) ) )。

efprocess(self,nic,number ) :

self.__count(NIC,number ) )。

def__count(self,nic,number ) :

global rx_b0、rx_b1、rx_b2、rx_b3、rx_p0、rx_p1、rx_p2、rx_p3、rx_d0、rx_d1、rx_d2,

global tx_b0、tx_b1、tx_b2、tx_b3、tx_p0、tx_p1、tx_p2、tx_p3、tx_d0、tx_d1、tx_d2,

dict=self.__parser(nic )

if number==0:

self._show(NIC,DICT(rx_bytes ) )-rx_B0,DICT (rx _ packets )-rx_P0,dict ) rx_dropped

rx_b0,rx_p0,rx_d0=dict['rx_bytes']、dict['rx_packets']、dict['rx_dropped']

self._show(NIC,DICT(tx_bytes ) )-tx_B0,DICT (tx _ P0,dict ) ) tx_dropped

tx_b0,tx_p0,tx_d0=dict['tx_bytes'],dict['tx_packets'],dict['tx_dropped']

elif number==1:

self._show(NIC,DICT(rx_bytes ) )-rx_B1,DICT (rx _ packets )-rx_P1,dict ) rx_dropped

rx_b1,rx_p1,rx_d1=dict['rx_bytes']、dict['rx_packets']、dict['rx_dropped']

self._show(NIC,DICT(tx_bytes ) )-tx_B1,DICT (tx _ P1,dict ) ) tx_dropped

tx_b1,tx_p1,tx_d1=dict['tx_bytes'],dict['tx_packets'],dict['tx_dropped']

elif number==2:

self._show(NIC,DICT(rx_bytes ) )-rx_B2,DICT (rx _ packets )-rx_P2,dict ) rx_dropped

rx_b2,rx_p2,rx_d2=dict['rx_bytes']、dict['rx_packets']、dict['rx_dropped']

self._show(NIC,DICT(tx_bytes ) )-tx_B2,DICT (tx _ p2,dict ) ) tx_dropped

tx_b2,tx_p2,tx_d2=dict['tx_bytes'],dict['tx_packets'],dict['tx_dropped']

elif number==3:

self._show(NIC,DICT(rx_bytes ) )-rx_B3,DICT (rx _ packets )-rx_P3,dict ) rx_dropped

rx_b3,rx_p3,rx_d3=dict['rx_bytes']、dict['rx_packets']、dict['rx_dropped']

self._show(NIC,DICT(tx_bytes ) )-tx_B3,DICT (tx _ P3,dict ) ) tx_dropped

tx_b3,tx_p3,tx_d3=dict['tx_bytes'],dict['tx_packets'],dict['tx_dropped']

else:

打印' sorry,nic argv more than maxnic!'

是sys.exit(0)

rx_b0=rx_b1=rx_b2=rx_b3=0

rx_p0=rx_p1=rx_p2=rx_p3=0

rx_d0=rx_d1=rx_d2=rx_d3=0

tx_b0=tx_b1=tx_b2=tx_b3=0

tx_p0=tx_p1=tx_p2=tx_p3=0

tx_d0=tx_d1=tx_d2=tx_d3=0

if __name__=='__main__':

status=Status ()

while 1:

number=0

print '#' * status.commlen

for nic in sys.argv[1:]:

# t=threading.thread (target=status.process (NIC,number ) )

#t.start () )

satus.process(NIC,number ) )。

number=(number1) % status.maxnic

time.sleep(Status.Freshtime ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。