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;
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