Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SNMP für Hardware / Server. (https://www.delphipraxis.net/143510-snmp-fuer-hardware-server.html)

Jackie1983 17. Nov 2009 12:56


SNMP für Hardware / Server.
 
Servus,

ich muss mich hier mit unserem Netzwerk bezüglich SNMP die Daten auslesen.
Hat jemand schon mal sowas gemacht und kann mir da weiterhelfen?

Habe hier im Forum folgendes gefunden und es funktioniert auch
Delphi-Quellcode:
  Snmp := TIdSNMP.Create(nil);
  Snmp.Query.Host := '192.168.100.1';
  Snmp.Query.Community := 'public';
  Snmp.Query.PDUType := PDUGetNextRequest;
  Snmp.Query.MIBAdd('.1.3.6.1.2.1.1','');

  memo1.Lines.Clear;
  if Snmp.SendQuery then
  begin
    memo1.Lines.Add('Replies: ' + IntToStr(Snmp.Reply.ValueCount));
    for Idx := 0 to Snmp.Reply.ValueCount - 1 do
      memo1.Lines.Add(Snmp.Reply.Value[Idx])
  end;

  Snmp.Free;
  memo1.Lines.Add('-');
Als ausgabe bekomme ich
Zitat:

Replies: 1
Draytek V3300 Advanced Router
-
Mit dem SNMP Client von BITS Software bekomme ich diese Infos
Zitat:

clueware Pocket-SNMP-Client Version 1.10.8
----------------------------------------------------------------------

Class: clueware SNMP-Client-Socket 2.01.11.327 from BITS Software

Agent: [192.168.100.1]
Community: public

Walk through variables...

.1.3.6.1.2.1.1.1.0 = Draytek V3300 Advanced Router (OctetString)
.1.3.6.1.2.1.1.2.0 = .1.3.6.1.4.1.7367 (ObjectIdentifier)
.1.3.6.1.2.1.1.3.0 = 3725897000 ms / 43 d 02:58:17 h (TimeTicks)
.1.3.6.1.2.1.1.4.0 = xxxx@yyyyy (OctetString)
.1.3.6.1.2.1.1.5.0 = V3300 (OctetString)
.1.3.6.1.2.1.1.6.0 = Hsin Chu (OctetString)
.1.3.6.1.2.1.1.7.0 = 0 (Integer)
Wie komme ich auch an die Infos?
Wie kann ich generell die Daten aus einem System ziehen?

gruß

Basilikum 17. Nov 2009 19:37

Re: SNMP für Hardware / Server.
 
Um durch die MIB zu iterieren, musst Du nach jedem Get-Next-Request erneut einen Request - diesmal jedoch mit der zurückgelieferten OID - ausführen... ich kenne die Indys nicht, deshalb hier in Pseudo-Code:

Request: GetNext .1.3.6.1.2.1.1
Response: .1.3.6.1.2.1.1.1.0 = Draytek V3300 Advanced Router (OctetString)

Request: GetNext .1.3.6.1.2.1.1.1.0
Response: .1.3.6.1.2.1.1.2.0 = .1.3.6.1.4.1.7367 (ObjectIdentifier)

Request: GetNext .1.3.6.1.2.1.1.2.0
Response: .1.3.6.1.2.1.1.3.0 = 3725897000 ms / 43 d 02:58:17 h (TimeTicks)

etc...

Request: .1.3.6.1.2.1.1.7.0
Response: .1.3.6.1.2.1.2.1.0 = 0 (Integer)

hier stoppen, da die letzte OID nicht mehr "im Baum" der ursprünglichen liegt...

Jackie1983 18. Nov 2009 12:50

Re: SNMP für Hardware / Server.
 
thx genau dieser Aufbau.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz