SNMP V2, Synapse, 64-битные счетчики
От: buzik  
Дата: 08.03.12 08:15
Оценка:
Снимаю показания счетчиков трафика с железяк.
Проблема начинается, когда нужно снять показания с гигабитного порта, с 64 битного счетчика, используя 2ю версию SNMP.

var
snmp : tsnmpsend;
begin
 snmp := tsnmpsend.Create;
 try
   memo3.Lines.Clear;
   snmp.Query.Clear;
   snmp.Query.Version := 2;
   snmp.Query.Community:='public';
   snmp.TargetHost := '192.168.1.6';
   snmp.Query.PDUType := PDUGetRequest;
   snmp.Query.MIBAdd('1.3.6.1.2.1.31.1.1.1.6.5','',ASN1_NULL);
   if snmp.SendRequest then
     begin
       memo3.Lines.Add(snmp.Reply.MIBGet('1.3.6.1.2.1.31.1.1.1.6.5'));
       memo3.Lines.Add(asndump(snmp.Reply.EncodeBuf));
     end;
 finally
   snmp.Free;
 end;



Если использую стандартные 32-битные счетчики (вроде 1.3.6.1.2.1.2.2.1.10), то все хорошо, но если 64 битные (1.3.6.1.2.1.31.1.1.1.6) то получаю вот такие значения:
~P‚F\
 «…kê
 ¬D8ã
 çv 
Хотя там должно быть значение похожее на это: 138884310018294
Оиды брал отсюда: http://knowledgebase.solarwinds.com/kb/questions/1196/
От всех 64-битных, приходят кракозябры, а от 32 нет.
Причем, если снифать трафик, то видно что отправлено правильное значение.

Подскажите где ошибка, что делаю не так.
Возможно есть способ расшифровать кракозябру, и получить нормальное значение?
snmp delphi
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.