Я использую Embarcadero RAD Studio XE3 с его компонентом SNI TIdSNMP Indy для подготовки и отправки уведомлений SNMP-ловушек на корпоративный сервер. Я настроил до 12 varbinds в зависимости от типа ловушки, и Wireshark видит и правильно рассекает ловушки на целевом хосте. Похоже, что мой конец работает нормально.Существуют ли варианты версий для ловушек Indy SNMP?
Управляющая сторона этой системы, похоже, не распознает эти ловушки и не может декодировать их в соответствии с командой внедрения. Они указали на элемент версии SNMP в самой ловушке, которая является «v2u». Поскольку эта версия устарела, они хотели бы видеть версию «v2c», и они утверждают, что все остальные ловушки этой версии.
Вопрос в том, есть ли у меня какие-либо опции относительно какой версии ловушки для отправки? Я вижу, что TIdSNMP :: Trap имеет член Version; это так же просто, как установить это на 3?
Это код, я использую:
void SendTrap(int atcsfield)
{
/* TIdSnmp *snmp = new TIdSNMP(0); */
snmp->Trap->Clear();
snmp->Trap->Version = 2;
snmp->Trap->Community=String(cfg.snmp.community);
snmp->Trap->TimeTicks = GetTickCount() - InitialTickCount;
snmp->Trap->Enterprise=String(cfg.snmp.oid);
snmp->Trap->GenTrap=6;
snmp->Trap->SpecTrap=1;
for(int i=0;i<MAX_VARBINDS;i++)
{
if(svb[i].Length())
{
varb.sprintf("%s.1.%d",BaseOID.c_str(),i);
snmp->Trap->MIBAdd(varb,svb[i], ASN1_OCTSTR);
}
}
for(int i=0;i<MAX_VARBINDS;i++)
{
if(ivb[i]!=-1)
{
varb.sprintf("%s.1.%d",BaseOID.c_str(),i);
snmp->Trap->MIBAdd(varb, ivb[i], ASN1_INT);
}
}
snmp->Host = ManagerIpList->Strings[j];
snmp->SendTrap();
}
список дел Инди может быть почти так же плохо, как мой: представленный ноября 2010? ? спасибо –
user3235770