[問題] Python與netsnmp取得網路設備的資料

看板Python作者 (使單力)時間7年前 (2018/01/25 18:35), 編輯推噓0(001)
留言1則, 1人參與, 7年前最新討論串1/1
各位大大好,目前遇一個難題卡住了,請大大們幫忙看看是否有解? 目前我用netsnmp來抓interface相關的資料,比如ifIndex、ifDescr、ifAlias,其oid如下: .1.3.6.1.2.1.2.2.1.1、.1.3.6.1.2.1.2.2.1.2等... 其中ifindex會return給我在一個網路設備上的所有interface index,比如500,501,502....5xx。 session = netsnmp.Session(DestHost='192.168.1.1', Version=2, Community='public') oids = netsnmp.VarList(netsnmp.Varbind(ifIndex_oid,), netsnmp.Varbind(ifDescr,)) data_result = session.walk(oids) Return的資料正常的,也依序排好了,但目前又有一個新想法, 想把在每一個interface上的IP位址也一併取回,這樣就能知道如果有問題時port號與IP的資料 於是看了一下IPv4的oid,發現設備return給我的格式如何: ipNetToMediaNetAddress.523.8.9.10.11 = 8.9.10.11 ipNetToMediaNetAddress.535.10.1.12.1 = 10.1.12.1 ipNetToMediaNetAddress.535.10.1.12.2 = 10.1.12.2 ipNetToMediaNetAddress.537.10.1.13.1 = 10.1.13.1 ipNetToMediaNetAddress.537.10.1.13.3 = 10.1.13.3 ipNetToMediaNetAddress.539.10.1.12.1 = 10.1.12.1 ipNetToMediaNetAddress.539.10.1.12.2 = 10.1.12.2 ipNetToMediaNetAddress.540.10.1.23.2 = 10.1.23.2 ipNetToMediaNetAddress.540.10.1.23.3 = 10.1.23.3 ipNetToMediaNetAddress.541.10.1.13.1 = 10.1.13.1 ipNetToMediaNetAddress.541.10.1.13.3 = 10.1.13.3 ipNetToMediaNetAddress.542.10.1.23.2 = 10.1.23.2 ipNetToMediaNetAddress.542.10.1.23.3 = 10.1.23.3 在此請教各位大大: 1,interface的index,如上表的523,535等,它有一個index對應二個ip地址的問題,無法區分ip與interface index是否成對 2,值已是ip地址,我想不出來可以一次性把ip資料透過snmp拉回來並對應到每一個interface, 這個部份是否有建議的做法? 3,若大大有更好的解決方案也請指點一下... 4,需求就是透過snmp取得interface index(523、535...etc),interface名稱(gigabitethernet0/0) 以及IP地址10.1.12.1與遮罩255.255.255.0 先謝謝觀看。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 116.197.188.10 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1516876515.A.B0C.html

03/06 04:36, 7年前 , 1F
03/06 04:36, 1F
文章代碼(AID): #1QQRBZiC (Python)
文章代碼(AID): #1QQRBZiC (Python)