Komponente für SNMP-MIB's

Rund um die LCL und andere Komponenten
Antworten
catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

Komponente für SNMP-MIB's

Beitrag von catweasel »

Moin

Ich habe ein kleines Tool geschrieben das ein SNMPWALK zu einem beliebigen Host macht.
Das funktioniert auch alles wunderbar.

Was mir nicht gefällt, ist das ich quasi als OID nur den Zahlenwert, also z.B. 1.3.6.1.2.1.1.1 statt die Beschreibung 'sysDescr' aufgelistet bekomme.
Für die RFC1213 habe ich mir dadurch beholfen das ich eine einfache procedure geschrieben habe das die Rückgabewerte mit einer Liste vergleicht und bei einer Übereinstimmung durch den Text ersetzt:

Code: Alles auswählen

procedure TSNMPForm.FormCreate(Sender: TObject);
begin
  oid_array[0]:='1.3.6.1.2.1.1.1';
  oid_descr[0]:='sysDescr';
  oid_array[1]:='1.3.6.1.2.1.1.2';
  oid_descr[1]:='sysObjectID';
  oid_array[2]:='1.3.6.1.2.1.1.3';
  oid_descr[2]:='sysUpTime';
  oid_array[3]:='1.3.6.1.2.1.1.4';
  // und viele weitere
end;
 
// Wenn eine OID gefunden wird, dann gegen die Beschreibung tauschen
function rfc1213(oid:string):string;
var i: integer;
begin
  for i:=0 to 244 do begin
    result:=AnsiReplaceStr(oid,oid_array[i],oid_descr[i]);
    if result<>oid then exit;
  end
end;


Das Funktioniert zwar ganz gut, ist aber nicht wirklich zweckmäßig. Zum einen ein riesen Aufwand, zum anderen möchte ich gerne auch andere MIB's einbinden können als nur die vom RFC1213.

Frage: kennt jemand eine Komponente mit der man beliebige MIB's der Hersteller einbinden kann und quasi die Beschreibung/Name der OID ermitteln kann?


Gruß
Michael

Antworten