欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)數(shù)通設(shè)備端口監(jiān)控示例

 更新時(shí)間:2014年04月02日 11:17:48   作者:  
這篇文章主要介紹了python實(shí)現(xiàn)數(shù)通設(shè)備端口監(jiān)控示例,需要的朋友可以參考下

最近因工作需要,上面要求,每天需上報(bào)運(yùn)維的幾百數(shù)通設(shè)備端口使用情況【】,雖然有現(xiàn)成網(wǎng)管監(jiān)控工具監(jiān)控設(shè)備狀態(tài),但做報(bào)表,有點(diǎn)不方便,特寫了個(gè)小腳本。

注:測試運(yùn)行于ubuntn,需安裝snmpwalk工具,

目標(biāo)數(shù)通設(shè)備,需做好相關(guān)snmp配置

復(fù)制代碼 代碼如下:

#/usr/bin/python
#coding:utf-8

import os,sys
import re
from pprint import pprint

#甯歌鍘傚鏁伴€氳澶嘙IB鍊?
MIB = {
   'public':{
        'ports':{
           'string':'.1.3.6.1.2.1.2.2.1.2',
           'status':'.1.3.6.1.2.1.2.2.1.8',   #2 down
       }
    },
   'huawei':{

   },
   'cisco':{
   }
}
#绔彛鐘舵€佽漿鎹?
def portStatus(_s):
    if int(_s)==2:
        return 'down'
    elif int(_s)==1:
        return 'up'
    else:
        return 'none'

#鎵ц緋葷粺鍛戒護(hù)snmpwalk璋冪敤
def snmpwalk(host,publicKey,iso):
    return [i.strip() for i in os.popen('/usr/bin/snmpwalk -c %s  -v 2c %s %s'%(publicKey,host,iso)).readlines()]

def getPorts(_ip,_public,option):
    if option == 'ports':
        postsString = (j.split('=')[1].split(':')[1].replace('"','').strip() for j in snmpwalk(_ip,_public,MIB['public']['ports']['string']))
        postsStatus = (int(j.split('=')[1].split(':')[1].strip()) for j in snmpwalk(_ip,_public,MIB['public']['ports']['status']))
        return zip(postsString,postsStatus)
    else:
        print('on this commmnad')

publicKey = 'hi'  #sunmp public key

HOSTS={
    '10.221.98.2':{'type':'switch','origin':'quidway','public':publicKey},
    '10.221.98.3':{'type':'switch','origin':'quidway','public':publicKey},
    '10.221.97.108':{'type':'firewall','origin':'h3c','public':publicKey},
    '10.231.98.233':{'type':'switch','origin':'cisco','public':publicKey},
}
if __name__ == '__main__':
    for i in HOSTS.keys():
        for host,status in getPorts(i,HOSTS[i]['public'],'ports'):
            print("%s\t%s\t%s"%(i,host.ljust(30),portStatus(status).ljust(20)))
        print(''.ljust(50,'#'))

運(yùn)行結(jié)果

復(fù)制代碼 代碼如下:

root@ubuntn12:/tmp# python snmpwalk.py
10.221.98.2     InLoopBack0                     up                 
10.221.98.2     NULL0                           up                 
10.221.98.2     GigabitEthernet0/0/0            down               
10.221.98.2     Aux0/0/1                        down               
10.221.98.2     Vlanif100                       up                 
10.221.98.2     Eth-Trunk1                      down               
10.221.98.2     Eth-Trunk1.32                   down               
10.221.98.2     Eth-Trunk1.50                   down               
10.221.98.2     Eth-Trunk1.60                   down               
10.221.98.2     Eth-Trunk1.70                   down               
10.221.98.2     Eth-Trunk1.80                   down               
10.221.98.2     Eth-Trunk1.100                  down               
10.221.98.2     Eth-Trunk1.110                  down    

相關(guān)文章

  • matplotlib畫混淆矩陣與正確率曲線的實(shí)例代碼

    matplotlib畫混淆矩陣與正確率曲線的實(shí)例代碼

    混淆矩陣也稱誤差矩陣,是表示精度評價(jià)的一種標(biāo)準(zhǔn)格式,下面這篇文章主要給大家介紹了關(guān)于matplotlib畫混淆矩陣與正確率曲線的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python中模塊(Module)和包(Package)的區(qū)別詳解

    Python中模塊(Module)和包(Package)的區(qū)別詳解

    這篇文章主要介紹了Python中模塊(Module)和包(Package)的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python解決OpenCV在讀取顯示圖片的時(shí)候閃退的問題

    python解決OpenCV在讀取顯示圖片的時(shí)候閃退的問題

    這篇文章主要介紹了python解決OpenCV在讀取顯示圖片的時(shí)候閃退的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 用Python實(shí)現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法

    用Python實(shí)現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法

    這篇文章主要介紹了用Python實(shí)現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法,包括用watchdog來檢測文件的變化等,實(shí)現(xiàn)起來充分體現(xiàn)了Python作為動(dòng)態(tài)語言的靈活性,強(qiáng)烈推薦!需要的朋友可以參考下
    2015-04-04
  • 基于Flask實(shí)現(xiàn)文件上傳七牛云中并下載

    基于Flask實(shí)現(xiàn)文件上傳七牛云中并下載

    文件上傳是Web應(yīng)用中常見的功能之一,而七牛云則提供了強(qiáng)大的云存儲服務(wù),本文我們將學(xué)習(xí)如何在Flask應(yīng)用中實(shí)現(xiàn)文件上傳,并將上傳的文件保存到七牛云,感興趣的可以學(xué)習(xí)一下
    2023-10-10
  • python 和c++實(shí)現(xiàn)旋轉(zhuǎn)矩陣到歐拉角的變換方式

    python 和c++實(shí)現(xiàn)旋轉(zhuǎn)矩陣到歐拉角的變換方式

    今天小編就為大家分享一篇python 和c++實(shí)現(xiàn)旋轉(zhuǎn)矩陣到歐拉角的變換方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實(shí)戰(zhàn)案例

    Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實(shí)戰(zhàn)案例

    環(huán)形圖也被稱為圓環(huán)圖,它在功能上與餅圖相同,只是中間有一個(gè)空白,并且能夠同時(shí)支持多個(gè)統(tǒng)計(jì)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib繪制圓環(huán)圖的實(shí)戰(zhàn)案例,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python基礎(chǔ)之getpass模塊詳細(xì)介紹

    Python基礎(chǔ)之getpass模塊詳細(xì)介紹

    最近在看Python標(biāo)準(zhǔn)庫官方文檔的時(shí)候偶然發(fā)現(xiàn)了這個(gè)模塊。仔細(xì)一看內(nèi)容挺少的,只有兩個(gè)主要api,就花了點(diǎn)時(shí)間閱讀了一下源碼,感覺挺實(shí)用的,在這安利給大家。下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)之getpass模塊的相關(guān)資料,需要的朋友可以參考下。
    2017-08-08
  • python 如何查看pytorch版本

    python 如何查看pytorch版本

    這篇文章主要介紹了python 查看pytorch版本的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳解Python虛擬機(jī)是如何實(shí)現(xiàn)閉包的

    詳解Python虛擬機(jī)是如何實(shí)現(xiàn)閉包的

    Python中的閉包是一個(gè)強(qiáng)大的概念,允許函數(shù)捕獲和訪問其周圍的作用域,即使這些作用域在函數(shù)執(zhí)行完畢后也能被訪問,這篇文章將著重討論P(yáng)ython虛擬機(jī)是如何實(shí)現(xiàn)閉包的,文中有相關(guān)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12

最新評論