0
私のラップトップで開発したスクリプトはうまく動作しますが、リモートサーバ上では私が期待していたものを返せません。異なるマシンで異なる値を返すPySNMP
私のサーバーは、この出力を持っている:
Python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysnmp
>>> print pysnmp.__version__
4.2.5
>>>
>>> from pysnmp.entity.rfc3413.oneliner import cmdgen
>>> cmdGen = cmdgen.CommandGenerator()
>>>
>>> errorIndication, errorStatus, errorIndex, varBindTable = cmdGen.nextCmd(
... cmdgen.CommunityData('communitystringhere'),
... cmdgen.UdpTransportTarget(('10.10.10.10', 161)),
... '1.3.6.1.2.1.2.2.1.2',
... lookupNames=True, lookupValues=True)
>>>
... for varBindTableRow in varBindTable:
... for val in varBindTableRow:
... print val
...
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.1)), OctetString('fxp0'))
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.4)), OctetString('lsi'))
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.5)), OctetString('dsc'))
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.6)), OctetString('lo0'))
[Output truncated...]
結果はMibVariableとOctetStringにあります。私のラップトップ上で
、私は次の取得:
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysnmp
>>> print pysnmp.__version__
4.3.2
>>>
>>> from pysnmp.entity.rfc3413.oneliner import cmdgen
>>> [code ommitted, same as above...]
...
SNMPv2-SMI::mib-2.2.2.1.2.1 = fxp0
SNMPv2-SMI::mib-2.2.2.1.2.4 = lsi
SNMPv2-SMI::mib-2.2.2.1.2.5 = dsc
SNMPv2-SMI::mib-2.2.2.1.2.6 = lo0
[Output truncated...]
私はマイナーバージョン以外の、異なっpysnmpリターンを作ることができるものかわからない - しかし、(サーバー上の)古いバージョンのようです私のラップトップに「新しい」バージョンよりもずっと良い出力がありますか?
明らかなものがありませんか?
おかげで、私は終わりました同様の方法を使って模倣します。 –
私はあなたの究極の目標は何ですか?返される正確なSNMPタイプを知る必要がありますか? –
いいえ、私は本質的にすべての値を取り戻すためにそのOIDを歩いてみようとしています。私はそのテーブルで見つけようとしている検索文字列を持っています。OIDの最後の部分は、私が探しているもののインデックスです。 –