private static void configTrap(TrapMessage trap, int ver, SnmpPacket packet) { trap.SnmpVersion = (SnmpVersionType)ver; trap.ReceiveTime = System.DateTime.Now; if (trap.SnmpVersion == SnmpVersionType.Ver1) { ((TrapV1Message)trap).SnmpVersion = (SnmpVersionType)ver; ((TrapV1Message)trap).Enterprise = ((SnmpV1TrapPacket)packet).TrapPdu.Enterprise.ToString(); ((TrapV1Message)trap).GenericTrap = ((SnmpV1TrapPacket)packet).TrapPdu.Generic.ToString(); ((TrapV1Message)trap).Specific = ((SnmpV1TrapPacket)packet).TrapPdu.Specific.ToString(); ((TrapV1Message)trap).TimeStamp = ((SnmpV1TrapPacket)packet).TrapPdu.TimeStamp.ToString(); ((TrapV1Message)trap).Community = ((SnmpV1TrapPacket)packet).Community.ToString(); return; } TrapDesc trapDesc = new TrapDesc(); trapDesc.TrapObjectID = packet.Pdu.TrapObjectID.ToString(); trapDesc.TrapSysUpTime = packet.Pdu.TrapSysUpTime.ToString(); trapDesc.ErrorIndex = packet.Pdu.ErrorIndex.ToString(); trapDesc.ErrorStatus = packet.Pdu.ErrorStatus.ToString(); trapDesc.ErrorStatusString = SnmpError.ErrorMessage(packet.Pdu.ErrorStatus); if (trap.SnmpVersion == SnmpVersionType.Ver2) { ((TrapV2Message)trap).Community = ((SnmpV2Packet)packet).Community.ToString(); ((TrapV2Message)trap).TrapDesc = trapDesc; return; } ((TrapV3Message)trap).EngineId = ((SnmpV3Packet)packet).USM.EngineId.ToString(); ((TrapV3Message)trap).SecurityName = ((SnmpV3Packet)packet).USM.SecurityName.ToString(); ((TrapV3Message)trap).TrapDesc = trapDesc; }
private void configVb(TrapMessage trap, int ver, SnmpPacket packet) { VbCollection vbList; if (ver == 0) { vbList = ((SnmpV1TrapPacket)packet).TrapPdu.VbList; } else { vbList = packet.Pdu.VbList; } new System.Text.StringBuilder(); foreach (Vb current in vbList) { if (!trap.VarBindings.ContainsKey(current.Oid.ToString())) { trap.VarBindings.Add(current.Oid.ToString(), current.Value.ToString()); } } }