Thread: [pysnmp-users] unknownEngineID error
Brought to you by:
elie
From: Paulo F. A. <pf...@me...> - 2007-05-15 19:46:24
|
Hi, I'm using pysnmp v4 to interact with a network device using SNMPv3. I can successfully make queries using the snmp command. However following the examples available in the Documentation I get the following error: unknownEngineID Here is the relevant code: errorIndication, errorStatus, errorIndex, varBindTable = cmdgen.CommandGenerator().nextCmd( cmdgen.UsmUserData('user', 'xxxx', 'xxxx',cmdgen.usmHMACSHAAuthProtocol, cmdgen.usmDESPrivProtocol), cmdgen.UdpTransportTarget(('192.168.2.1',161)), (1,3,6,1,2,1,1) ) print errorStatus print errorIndication for varBindTableRow in varBindTable: print varBindTableRow And the output is: 0 unknownEngineID If I do the same query using the snmpwalk command it behaves as expected. (snmpwalk -v3 -l authPriv -u user -x DES -a SHA -A xxxx -X xxxx 192.168.2.1 1.3.6.1.2.1.1) So.. anybody can explain me what that error is? Thank you for your time, Paulo F. Andrade 52439@IST mailto: pf...@me... |
From: Ilya E. <il...@gl...> - 2007-05-16 09:57:16
|
That error might mean that your SNMP engine fails to discover peer SNMP engine for some reason. In attempt to figure out the cause I'd suggest enabling SNMP security module debugging by adding the following in the beginning of your script: from pysnmp import debug debug.setLogger(debug.Debug('secmod')) That would enable stderr reporting. I'd appreciate you sending me the output for a single failed GETNEXT session. Also, try using pysnmp code from CVS -- there were some minor fixes, though I'm not sure how relevant they are to this problem. BTW, does pysnmpwalk tool (from pysnmp-apps package) fails in the same way? -ilya > I'm using pysnmp v4 to interact with a network device using SNMPv3. > I can successfully make queries using the snmp command. However > following the examples available in the Documentation I get the > following error: unknownEngineID > > Here is the relevant code: > > errorIndication, errorStatus, errorIndex, varBindTable = > cmdgen.CommandGenerator().nextCmd( > cmdgen.UsmUserData('user', 'xxxx', > 'xxxx',cmdgen.usmHMACSHAAuthProtocol, cmdgen.usmDESPrivProtocol), > cmdgen.UdpTransportTarget(('192.168.2.1',161)), > (1,3,6,1,2,1,1) > ) > > print errorStatus > print errorIndication > > for varBindTableRow in varBindTable: > print varBindTableRow > > And the output is: > 0 > unknownEngineID > > If I do the same query using the snmpwalk command it behaves as > expected. > (snmpwalk -v3 -l authPriv -u user -x DES -a SHA -A xxxx -X xxxx > 192.168.2.1 1.3.6.1.2.1.1) > > So.. anybody can explain me what that error is? |
From: Paulo F. A. <pf...@me...> - 2007-05-17 12:41:55
|
Hi, I haven't tried the CVS version yet. I'm using pysnmp 4.1.7a-1 from debian unstable. Here is the script I'm using to test this: ------------------------- script --------------------------- #!/usr/bin/python from pysnmp.entity import engine from pysnmp.entity.rfc3413.oneliner import cmdgen from pysnmp import debug debug.setLogger(debug.Debug('secmod')) usmData =3D cmdgen.UsmUserData('user', 'XXXX', =20 'XXXX',cmdgen.usmHMACSHAAuthProtocol, cmdgen.usmDESPrivProtocol) udpTransport =3D cmdgen.UdpTransportTarget(('192.168.249.1',161)) errorIndication, errorStatus, errorIndex, varBindTable =3D =20 cmdgen.CommandGenerator().nextCmd( usmData, udpTransport, (1,3,6,1,2,1,1) ) print errorStatus print errorIndication =09 for varBindTableRow in varBindTable: print varBindTableRow ------------------------- /script --------------------------- Here are the results I got: ----------------- running teste.py --------------------- $ ./teste.py DBG: debug category secmod enabled DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 0 by =20 msgUserName DBG: processIncomingMsg: unknown securityEngineID ?}=D0=95?A? DBG: processIncomingMsg: store timeline for securityEngineID ?}=D0=95?A? DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 1 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 1L, 'val': Counter32('20486663'), 'errorIndication': =20= 'unknownEngineID'} DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 2 by =20 msgUserName DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 3 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 2L, 'val': Counter32('20486664'), 'errorIndication': =20= 'unknownEngineID'} DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 4 by =20 msgUserName DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 5 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 3L, 'val': Counter32('20486665'), 'errorIndication': =20= 'unknownEngineID'} 0 unknownEngineID ----------------- /running teste.py --------------------- ----------------- running pysnmpwalk --------------------- $ pysnmpwalk -v3 -l authPriv -u user -x DES -a SHA -A XXXX -X XXXX =20 192.168.249.1 1.3.6.1.2.1.1 unknownEngineID ----------------- /running pysnmpwalk --------------------- Issuing the exact same command replacing "pysnmpwalk" with "snmpwalk" =20= works fine. Paulo F. Andrade 52439@IST mailto: pf...@me... On 2007/05/16, at 10:58, Ilya Etingof wrote: > > That error might mean that your SNMP engine fails to discover peer =20 > SNMP > engine for some reason. In attempt to figure out the cause I'd =20 > suggest enabling SNMP security module debugging by adding the =20 > following in the beginning of your script: > > from pysnmp import debug > debug.setLogger(debug.Debug('secmod')) > > That would enable stderr reporting. I'd appreciate you sending me =20 > the output for a single failed GETNEXT session. > > Also, try using pysnmp code from CVS -- there were some minor =20 > fixes, though I'm not sure how relevant they are to this problem. > > BTW, does pysnmpwalk tool (from pysnmp-apps package) fails in the =20 > same way? > > -ilya > >> I'm using pysnmp v4 to interact with a network device using SNMPv3. >> I can successfully make queries using the snmp command. However >> following the examples available in the Documentation I get the >> following error: unknownEngineID >> >> Here is the relevant code: >> >> errorIndication, errorStatus, errorIndex, varBindTable =3D >> cmdgen.CommandGenerator().nextCmd( >> cmdgen.UsmUserData('user', 'xxxx', >> 'xxxx',cmdgen.usmHMACSHAAuthProtocol, cmdgen.usmDESPrivProtocol), >> cmdgen.UdpTransportTarget(('192.168.2.1',161)), >> (1,3,6,1,2,1,1) >> ) >> >> print errorStatus >> print errorIndication >> >> for varBindTableRow in varBindTable: >> print varBindTableRow >> >> And the output is: >> 0 >> unknownEngineID >> >> If I do the same query using the snmpwalk command it behaves as >> expected. >> (snmpwalk -v3 -l authPriv -u user -x DES -a SHA -A xxxx -X xxxx >> 192.168.2.1 1.3.6.1.2.1.1) >> >> So.. anybody can explain me what that error is? |
From: Iacopo M. <iac...@gm...> - 2007-05-17 13:30:14
|
On 5/17/07, Paulo F. Andrade <pf...@me...> wrote: > Hi, > I haven't tried the CVS version yet. > I'm using pysnmp 4.1.7a-1 from debian unstable. > I've tried the CVS version this morning and I think it fixs a lot of issue. -- Iacopo Masi |
From: Paulo F. A. <pf...@me...> - 2007-05-17 15:18:55
|
Ok I think I have installed the CVS version correctly, but I'm having the same problem. Paulo F. Andrade 52439@IST mailto: pf...@me... On 2007/05/17, at 14:30, Iacopo Masi wrote: > On 5/17/07, Paulo F. Andrade <pf...@me...> wrote: >> Hi, >> I haven't tried the CVS version yet. >> I'm using pysnmp 4.1.7a-1 from debian unstable. >> > > I've tried the CVS version this morning and I think it fixs a lot > of issue. > > -- > Iacopo Masi |
From: Paulo F. A. <pf...@me...> - 2007-05-18 08:33:57
|
Just an update. I have tested pysnmpwalk with another server that's using SNMP v1/v2c and it works fine with that one. Maybe it's the encryption stuff that's causing this? Paulo F. Andrade 52439@IST mailto: pf...@me... On 2007/05/17, at 16:18, Paulo F. Andrade wrote: > Ok I think I have installed the CVS version correctly, but I'm having > the same problem. > > Paulo F. Andrade 52439@IST > mailto: pf...@me... > > > On 2007/05/17, at 14:30, Iacopo Masi wrote: > >> On 5/17/07, Paulo F. Andrade <pf...@me...> wrote: >>> Hi, >>> I haven't tried the CVS version yet. >>> I'm using pysnmp 4.1.7a-1 from debian unstable. >>> >> >> I've tried the CVS version this morning and I think it fixs a lot >> of issue. >> >> -- >> Iacopo Masi > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > pysnmp-users mailing list > pys...@li... > https://lists.sourceforge.net/lists/listinfo/pysnmp-users |
From: Ilya E. <il...@gl...> - 2007-05-18 09:59:54
|
It's surely a fault of SNMPv3 security module, so it won't fail in SNMPv1/v2c mode. > Just an update. I have tested pysnmpwalk with another server that's using > SNMP v1/v2c and it works fine with that one. > > Maybe it's the encryption stuff that's causing this? |
From: Ilya E. <il...@gl...> - 2007-05-18 09:57:28
|
Could you please enable 'msgproc' debugging as well: debug.setLogger(debug.Debug('secmod', 'msgproc')) and send me the output? So far I suspect your SNMP Agent may respond from an address endpoint other than you used for sending requests. Thanks, ilya On Thu, 17 May 2007, Paulo F. Andrade wrote: > Hi, > I haven't tried the CVS version yet. > I'm using pysnmp 4.1.7a-1 from debian unstable. > > Here is the script I'm using to test this: > ------------------------- script --------------------------- > #!/usr/bin/python > from pysnmp.entity import engine > from pysnmp.entity.rfc3413.oneliner import cmdgen > from pysnmp import debug > > debug.setLogger(debug.Debug('secmod')) > > usmData = cmdgen.UsmUserData('user', 'XXXX', > 'XXXX',cmdgen.usmHMACSHAAuthProtocol, cmdgen.usmDESPrivProtocol) > udpTransport = cmdgen.UdpTransportTarget(('192.168.249.1',161)) > > errorIndication, errorStatus, errorIndex, varBindTable = > cmdgen.CommandGenerator().nextCmd( > usmData, > udpTransport, > (1,3,6,1,2,1,1) > ) > > print errorStatus > print errorIndication > > for varBindTableRow in varBindTable: > print varBindTableRow > ------------------------- /script --------------------------- [ skipped ] |
From: Paulo F. A. <pf...@me...> - 2007-05-18 11:14:58
|
OK, here is the new output: ------------------------------------ DBG: debug category secmod enabled DBG: debug category msgproc enabled DBG: prepareOutgoingMessage: new msgID 1 DBG: prepareOutgoingMessage: using contextEngineId ?O??, contextName DBG: prepareOutgoingMessage: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D1 msgMaxSize=3D65507 msgFlags=3D'\x07' msgSecurityModel=3D3 DBG: prepareOutgoingMessage: force engineID discovery DBG: prepareOutgoingMessage: securityEngineID DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: prepareDataElements: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D1 msgMaxSize=3D1400 msgFlags=3D'\x00' msgSecurityModel=3D3 msgSecurityParameters=3D'0\x19\x04\x0b\x80\x00\x02}\x03\x00\xd0\x95\xd8A=20= \xc5\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x00' msgData=3DScopedPduData: plaintext=3DScopedPDU: contextEngineId=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' contextName=3D'' data=3DPDUs: report=3DReportPDU: request-id=3D2 error-status=3DnoError(0) error-index=3D0 variable-bindings=3DVarBindList: VarBind: name=3D1.3.6.1.6.3.15.1.1.4.0 =3D_BindValue: value=3DObjectSyntax: application-wide=3DApplicationSyntax: counter-value=3D20634126 DBG: prepareDataElements: msg data msgVersion 3 msgID 1 securityModel 3 DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 0 by =20 msgUserName DBG: processIncomingMsg: unknown securityEngineID ?}=D0=95?A? DBG: processIncomingMsg: store timeline for securityEngineID ?}=D0=95?A? DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 1 DBG: prepareDataElements: SM succeeded DBG: prepareDataElements: cache securityEngineID ?}=D0=95?A? for (1, 3, = 6, =20 1, 6, 1, 1) ('193.136.132.254', 161) DBG: prepareDataElements: using sendPduHandle 1 for msgID 1 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 1L, 'val': Counter32('20634126'), 'errorIndication': =20= 'unknownEngineID'} DBG: prepareOutgoingMessage: new msgID 2 DBG: prepareOutgoingMessage: using contextEngineId ?O??, contextName DBG: prepareOutgoingMessage: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D2 msgMaxSize=3D65507 msgFlags=3D'\x07' msgSecurityModel=3D3 DBG: prepareOutgoingMessage: force engineID discovery DBG: prepareOutgoingMessage: securityEngineID DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: prepareDataElements: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D2 msgMaxSize=3D1400 msgFlags=3D'\x00' msgSecurityModel=3D3 msgSecurityParameters=3D'0\x19\x04\x0b\x80\x00\x02}\x03\x00\xd0\x95\xd8A=20= \xc5\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x00' msgData=3DScopedPduData: plaintext=3DScopedPDU: contextEngineId=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' contextName=3D'' data=3DPDUs: report=3DReportPDU: request-id=3D3 error-status=3DnoError(0) error-index=3D0 variable-bindings=3DVarBindList: VarBind: name=3D1.3.6.1.6.3.15.1.1.4.0 =3D_BindValue: value=3DObjectSyntax: application-wide=3DApplicationSyntax: counter-value=3D20634127 DBG: prepareDataElements: msg data msgVersion 3 msgID 2 securityModel 3 DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 2 by =20 msgUserName DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 3 DBG: prepareDataElements: SM succeeded DBG: prepareDataElements: using sendPduHandle 2 for msgID 2 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 2L, 'val': Counter32('20634127'), 'errorIndication': =20= 'unknownEngineID'} DBG: prepareOutgoingMessage: new msgID 3 DBG: prepareOutgoingMessage: using contextEngineId ?O??, contextName DBG: prepareOutgoingMessage: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D3 msgMaxSize=3D65507 msgFlags=3D'\x07' msgSecurityModel=3D3 DBG: prepareOutgoingMessage: force engineID discovery DBG: prepareOutgoingMessage: securityEngineID DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: prepareDataElements: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D3 msgMaxSize=3D1400 msgFlags=3D'\x00' msgSecurityModel=3D3 msgSecurityParameters=3D'0\x19\x04\x0b\x80\x00\x02}\x03\x00\xd0\x95\xd8A=20= \xc5\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x00' msgData=3DScopedPduData: plaintext=3DScopedPDU: contextEngineId=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' contextName=3D'' data=3DPDUs: report=3DReportPDU: request-id=3D4 error-status=3DnoError(0) error-index=3D0 variable-bindings=3DVarBindList: VarBind: name=3D1.3.6.1.6.3.15.1.1.4.0 =3D_BindValue: value=3DObjectSyntax: application-wide=3DApplicationSyntax: counter-value=3D20634128 DBG: prepareDataElements: msg data msgVersion 3 msgID 3 securityModel 3 DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 4 by =20 msgUserName DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 5 DBG: prepareDataElements: SM succeeded DBG: prepareDataElements: using sendPduHandle 3 for msgID 3 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 3L, 'val': Counter32('20634128'), 'errorIndication': =20= 'unknownEngineID'} DBG: prepareOutgoingMessage: new msgID 4 DBG: prepareOutgoingMessage: using contextEngineId ?O??, contextName DBG: prepareOutgoingMessage: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D4 msgMaxSize=3D65507 msgFlags=3D'\x07' msgSecurityModel=3D3 DBG: prepareOutgoingMessage: force engineID discovery DBG: prepareOutgoingMessage: securityEngineID DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: prepareDataElements: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D4 msgMaxSize=3D1400 msgFlags=3D'\x00' msgSecurityModel=3D3 msgSecurityParameters=3D'0\x19\x04\x0b\x80\x00\x02}\x03\x00\xd0\x95\xd8A=20= \xc5\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x00' msgData=3DScopedPduData: plaintext=3DScopedPDU: contextEngineId=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' contextName=3D'' data=3DPDUs: report=3DReportPDU: request-id=3D5 error-status=3DnoError(0) error-index=3D0 variable-bindings=3DVarBindList: VarBind: name=3D1.3.6.1.6.3.15.1.1.4.0 =3D_BindValue: value=3DObjectSyntax: application-wide=3DApplicationSyntax: counter-value=3D20634129 DBG: prepareDataElements: msg data msgVersion 3 msgID 4 securityModel 3 DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 6 by =20 msgUserName DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 7 DBG: prepareDataElements: SM succeeded DBG: prepareDataElements: using sendPduHandle 4 for msgID 4 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 4L, 'val': Counter32('20634129'), 'errorIndication': =20= 'unknownEngineID'} DBG: prepareOutgoingMessage: new msgID 5 DBG: prepareOutgoingMessage: using contextEngineId ?O??, contextName DBG: prepareOutgoingMessage: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D5 msgMaxSize=3D65507 msgFlags=3D'\x07' msgSecurityModel=3D3 DBG: prepareOutgoingMessage: force engineID discovery DBG: prepareOutgoingMessage: securityEngineID DBG: __generateRequestOrResponseMsg: use empty USM data DBG: __generateRequestOrResponseMsg: local user usmUserName =20 usmUserAuthProtocol None usmUserPrivProtocol None by =20 securityEngineID securityName DBG: __generateRequestOrResponseMsg: assuming zero snmpEngineBoots, =20 snmpEngineTime DBG: __generateRequestOrResponseMsg: use snmpEngineBoots 0 =20 snmpEngineTime 0 for securityEngineID DBG: __generateRequestOrResponseMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: __generateRequestOrResponseMsg: plain outgoing msg DBG: prepareDataElements: SNMPv3Message: msgVersion=3D3 msgGlobalData=3DHeaderData: msgID=3D5 msgMaxSize=3D1400 msgFlags=3D'\x00' msgSecurityModel=3D3 msgSecurityParameters=3D'0\x19\x04\x0b\x80\x00\x02}\x03\x00\xd0\x95\xd8A=20= \xc5\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x00' msgData=3DScopedPduData: plaintext=3DScopedPDU: contextEngineId=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' contextName=3D'' data=3DPDUs: report=3DReportPDU: request-id=3D6 error-status=3DnoError(0) error-index=3D0 variable-bindings=3DVarBindList: VarBind: name=3D1.3.6.1.6.3.15.1.1.4.0 =3D_BindValue: value=3DObjectSyntax: application-wide=3DApplicationSyntax: counter-value=3D20634130 DBG: prepareDataElements: msg data msgVersion 3 msgID 5 securityModel 3 DBG: processIncomingMsg: UsmSecurityParameters: msgAuthoritativeEngineID=3D'\x80\x00\x02}\x03\x00\xd0\x95\xd8A\xc5' msgAuthoritativeEngineBoots=3D0 msgAuthoritativeEngineTime=3D0 msgUserName=3D'' msgAuthenticationParameters=3D'' msgPrivacyParameters=3D'' DBG: processIncomingMsg: cache read securityStateReference 8 by =20 msgUserName DBG: processIncomingMsg: read from securityParams =20 msgAuthoritativeEngineID ?}=D0=95?A? msgUserName DBG: processIncomingMsg: now have usmUserSecurityName =20 usmUserAuthProtocol None usmUserPrivProtocol None for msgUserName DBG: processIncomingMsg: cached msgUserName info by =20 securityStateReference 9 DBG: prepareDataElements: SM succeeded DBG: prepareDataElements: using sendPduHandle 5 for msgID 5 DBG: StatusInformation: {'oid': ObjectName('1.3.6.1.6.3.15.1.1.4.0'), =20= 'sendPduHandle': 5L, 'val': Counter32('20634130'), 'errorIndication': =20= 'unknownEngineID'} 0 unknownEngineID ------------------------------------ Thank you for your time! Paulo F. Andrade 52439@IST mailto: pf...@me... On 2007/05/18, at 10:58, Ilya Etingof wrote: > > Could you please enable 'msgproc' debugging as well: > > debug.setLogger(debug.Debug('secmod', 'msgproc')) > > and send me the output? > > So far I suspect your SNMP Agent may respond from an address =20 > endpoint other than you used for sending requests. > > Thanks, > ilya > > On Thu, 17 May 2007, Paulo F. Andrade wrote: > >> Hi, >> I haven't tried the CVS version yet. >> I'm using pysnmp 4.1.7a-1 from debian unstable. >> >> Here is the script I'm using to test this: >> ------------------------- script --------------------------- >> #!/usr/bin/python >> from pysnmp.entity import engine >> from pysnmp.entity.rfc3413.oneliner import cmdgen >> from pysnmp import debug >> >> debug.setLogger(debug.Debug('secmod')) >> >> usmData =3D cmdgen.UsmUserData('user', 'XXXX', >> 'XXXX',cmdgen.usmHMACSHAAuthProtocol, cmdgen.usmDESPrivProtocol) >> udpTransport =3D cmdgen.UdpTransportTarget(('192.168.249.1',161)) >> >> errorIndication, errorStatus, errorIndex, varBindTable =3D >> cmdgen.CommandGenerator().nextCmd( >> usmData, >> udpTransport, >> (1,3,6,1,2,1,1) >> ) >> >> print errorStatus >> print errorIndication >> >> for varBindTableRow in varBindTable: >> print varBindTableRow >> ------------------------- /script --------------------------- > > [ skipped ] |