請原諒我,如果這是一件很簡單的事情,但我是Python,pysnmp和SNMP的新手。使用pysnmp獲取輸出
我試圖運行一些非常簡單的查詢使用SNMP從設備獲取配置信息,並出於某種原因遵循文檔here。
儘管我可以通過snmpwalk和googling來瀏覽SNMP,但我並沒有收到任何輸出,似乎只是顯示了我下面的示例。
我的代碼是
#!/usr/bin/python3.5
from pysnmp.hlapi import *
varCommunity = "public"
varServer = "demo.snmplabs.com"
varPort = 161
g = getCmd(SnmpEngine(),
CommunityData(varCommunity),
UdpTransportTarget((varServer, varPort)),
ContextData(),
ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysName', 0)))
next(g)
如果我添加
print(g)
我會得到下面的輸出
<generator object getCmd at 0x7f25964847d8>
有沒有辦法只返回值? 例如返回值「demo.snmplabs.com」 – Laywah
我不知道我明白你在問什麼,但我一般沒有使用'pysnmp'或SNMP的經驗。使用'next(g)'是我猜測的。網絡協議本質上是異步的,這就是爲什麼庫返回一個生成器而不是簡單的值。 – svens