1、paramiko 模塊介紹html
參考連接:http://www.javashuo.com/article/p-ssvvskes-c.htmlpython
paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的鏈接。因爲使用的是python這樣的可以跨平臺運行的語言,因此全部python支持的平臺,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko均可以支持,所以,若是須要使用SSH從一個平臺鏈接到另一個平臺,進行一系列的操做時,paramiko是最佳工具之一。windows
2、安裝服務器
一、安裝paramiko有兩個先決條件,python和另一個名爲PyCrypto的模塊網絡
二、PyCrypto安裝ssh
wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz python setup.py build && python setup.py install (編譯時報錯:error: command 'gcc' failed with exit status 1;這是由於缺乏python-dev的軟件包,所yum -y install python-devel)
三、paramiko安裝ide
wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz python setup.py build && python setup.py install
Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC' (Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC' 找到 /usr/lib/python2.7/site-packages/Crypto/Util/number.py 把if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: 註釋了 #if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: )
win 模塊工具
1、介紹ui
參考連接:http://www.javashuo.com/article/p-uxaabqqg-o.html加密
win模塊 爲windows下API開發 能夠監控windows下各個硬件信息級個服務級進程管理等
2、API接口說明
接口連接地址:https://docs.microsoft.com/zh-cn/windows/desktop/CIMWin32Prov/win32-provider
3、代碼樣例
#!/usr/bin/env python # -*- coding: utf-8 -*- import wmi import os import sys import platform import time def sys_version(): c = wmi.WMI () #獲取操做系統版本 for sys in c.Win32_OperatingSystem(): print "Version:%s" % sys.Caption.encode("UTF8"),"Vernum:%s" % sys.BuildNumber print sys.OSArchitecture.encode("UTF8")#系統是32位仍是64位的 print sys.NumberOfProcesses #當前系統運行的進程總數 def cpu_mem(): c = wmi.WMI () #CPU類型和內存 for processor in c.Win32_Processor(): #print "Processor ID: %s" % processor.DeviceID print "Process Name: %s" % processor.Name.strip() for Memory in c.Win32_PhysicalMemory(): print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/1048576) def cpu_use(): #5s取一次CPU的使用率 c = wmi.WMI() while True: for cpu in c.Win32_Processor(): timestamp = time.strftime('%a, %d %b %Y %H:%M:%S', time.localtime()) print '%s | Utilization: %s: %d %%' % (timestamp, cpu.DeviceID, cpu.LoadPercentage) time.sleep(5) def disk(): c = wmi.WMI () #獲取硬盤分區 for physical_disk in c.Win32_DiskDrive (): for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"): for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"): print physical_disk.Caption.encode("UTF8"), partition.Caption.encode("UTF8"), logical_disk.Caption #獲取硬盤使用百分狀況 for disk in c.Win32_LogicalDisk (DriveType=3): print disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size)) def network(): c = wmi.WMI () #獲取MAC和IP地址 for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1): print "MAC: %s" % interface.MACAddress for ip_address in interface.IPAddress: print "ip_add: %s" % ip_address print #獲取自啓動程序的位置 for s in c.Win32_StartupCommand (): print "[%s] %s <%s>" % (s.Location.encode("UTF8"), s.Caption.encode("UTF8"), s.Command.encode("UTF8")) #獲取當前運行的進程 for process in c.Win32_Process (): print process.ProcessId, process.Name def main(): sys_version() #cpu_mem() #disk() #network() #cpu_use() if __name__ == '__main__': main() print platform.system() print platform.release() print platform.version() print platform.platform() print platform.machine()
pexpect 模塊
1、介紹
參考連接:http://blog.51cto.com/superleedo/2119076
Pexpect 是一個用來啓動子程序並對其進行自動控制的 Python 模塊,它能夠用來和像 ssh、ftp、passwd、telnet 等命令行程序進行自動交互。
2、樣例
#!/usr/bin/env python # -*- coding: utf-8 -*- import pexpect import sys #經過spawn類啓動和控制子應用程序 child = pexpect.spawn('ssh root@192.168.1.124') #將pexpect的輸入輸出信息寫到mylog.txt文件中 fout = file('mylog.txt','w') child.logfile = fout #將pexpect的輸入輸出信息輸出到標準輸出 #child.logfile = sys.stdout #expect方法用來判斷子程序產生的輸出,判斷是否匹配相應字符串 child.expect('password:') #字符串匹配則使用sendline進行迴應-----send:發送命令,不回車、sendline:發送命令,回車、sendcontrol:發送控制符,如:sendctrol('c')等價於‘ctrl+c'、sendeof:發送eof child.sendline('123456') child.expect('#') child.sendline('ls -lh') child.expect('#')
psutil psutil是一個跨平臺庫,可以輕鬆實現獲取系統運行的進程和系統利用率(CPU,內存,磁盤,網絡等)信息,主要應用於系統監控,分析和限制系統資源及進程的管理,它實現了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等.支持32位,和64位的Linux,Windows,OS X,FreeBSD等操做系統。 https://www.cnblogs.com/Missowalker/p/7921888.html