能夠用來檢測是否有挖礦程序在運行的一個子條件spa
1 # coding:utf-8 2 __author__ = 'chenhuachao' 3 import wmi 4 import time 5 import platform 6 7 def get_network_flow(os): 8 '''監控window平臺下網卡的實時的流量信息 9 經過當前總流量和一秒後的總流量的差值,來統計實時的網卡流量信息; 10 返回的流量單位是KB 11 ''' 12 if os == "Windows": 13 c = wmi.WMI() 14 for interfacePerTcp in c.Win32_PerfRawData_Tcpip_TCPv4(): 15 sentflow = float(interfacePerTcp.SegmentsSentPersec) #已發送的流量 16 receivedflow = float(interfacePerTcp.SegmentsReceivedPersec) #接收的流量 17 present_flow = sentflow+receivedflow #算出當前的總流量 18 time.sleep(1) 19 for interfacePerTcp in c.Win32_PerfRawData_Tcpip_TCPv4(): 20 sentflow = float(interfacePerTcp.SegmentsSentPersec) #已發送的流量 21 receivedflow = float(interfacePerTcp.SegmentsReceivedPersec) #接收的流量 22 per_last_present_flow = sentflow+receivedflow #算出1秒後當前的總流量 23 present_network_flow = (per_last_present_flow - present_flow)/1024 24 print("當前流量爲:{0}KB".format("%.2f"%present_network_flow)) 25 return "%.2f"%present_network_flow 26 27 if __name__ =="__main__": 28 os = platform.system() 29 while 1: 30 flow = get_network_flow(os) 31 print("{0}KB".format(flow))