AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SNMP Traps senden

Offene Frage von "Guttural"
Ein Thema von Phoenix · begonnen am 30. Mai 2003 · letzter Beitrag vom 19. Jul 2007
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#1

SNMP Traps senden

  Alt 30. Mai 2003, 09:25
Hi Leute,

ich habe gerade ein massives Problem.

Ich muss mit einem kleinen Tool eine SNMP - Trap an einen bestimmten Rechner im Netz senden. Nun hab ich allerdings bei Indy nur einen SNMP-Client ( im Sprachgebrauch Agent ) und keinen 'Server' ( Manager ) gefunden.

Zudem muss ich genau die Trap nachahmen, die unsere USV sendet, wenn sie auf Batteriebetrieb umschaltet.

(Das ganze soll hinterher dazu dienen, einen einzelnen Server testweise zum Herunterfahren zu bringen um zu sehen, ob er das auch geregelt tut. Derzeit können wir nur die USV vom Netz trennen und > 80 Server dann gleichzeitig beim runterfahren zu beobachten ist etwas hektisch ).

Hat jemand eine Idee, wie ich da am geschicktesten machen kann bzw. wo ich Beispiel-Sourcen herbekomme? Torry, Swiss-Delphi und die einschlägigen Seiten haben mir bisher nicht helfen können

Schonmal vielen Dank im Voraus,

Sebastian
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Guttural

Registriert seit: 6. Jun 2006
11 Beiträge
 
#2

Re: SNMP Traps senden

  Alt 15. Nov 2006, 13:53
Hallo

Statt ein neues Thema zu starten, möchte ich in den über 3 Jahre alten Thread die Frage wiederholen:
Wo finde ich SNMP Komponenten, Tutorials, Hilfe, Beispiele, irgendwas?!
Delphi 7 bietet zwar eine SNMP-Client- (Agent) an, aber keine SNMP-Server-Komponente (Manager) an.

Ich habe die Aufgabe ein Modul zu schreiben, welches:
1. MIB Tabellen abfragt und die Werte zyklisch darstellt
2. SNMP-Traps verschicken kann
3. SNMP-Traps empfangen kann (SNMP-Manager)

Der derzeitige Stand der Arbeiten ist:
1. Ich kann MIBs in eingeben (in einer Textdatei) und diese dann abfragen.
Der Teil war einfach mit der Indy SNMP-Client-Componente zu machen.
Was mir noch fehlt ist eine Routine für das automatische Einlesen von MIB-Tabellen.

2. Ist schon um einiges heftiger. Man muss dem SNMP-Dienst von Windows mitteilen, dass man ein Trap abschicken will.
Mir wird geraten es mit einer DLL in C++ zu machen... Will ich aber nicht.

3. Hört sich simpel an, aber ich find gar keine Infos dazu.

Im Internet finde ich sonderbar wenig zu dem Thema Delphi+SNMP. Woran liegt es?!
Habe eine Netzwerk-Library "Ararat" aus Tschechien gefunden, aber da funktioniert das Demo-Programm SNMP-Server schon mal nicht.
Dazu noch ein Paket "IP*Works! Secure SNMP" welches aber gut 1000 € kostet und somit wegfällt.

Für Hilfestellungen oder zumindest Tipps wäre ich extrem dankbar.

Thanx!

Guttural
  Mit Zitat antworten Zitat
Benutzerbild von movietigger
movietigger

Registriert seit: 15. Dez 2004
Ort: Niedernhausen
4 Beiträge
 
Delphi 2006 Professional
 
#3

Ärger mit den Indy-Komponenten bei SNMP

  Alt 19. Jul 2007, 08:27
Seit Kurzem beschäftige ich mich mit dem Thema "SNMP-Trapsendung".

Im Zusammenhang mit Delphi findet man äußerst wenig zu diesem Thema. Gute Demos dazu gibt es offenbar überhaupt nicht. Was bei Indy oder Synapse dazu geboten wird ist ein Witz...

Damit andere es etwas leichter haben, hier meine bisherigen "Erkennnisse":

--> Die bei BDS 2006 mitgelieferte Indy 10 - VCLlib ist zumindest in Punkto "SNMP" fehlerhaft
--> Die Indy-VCL in Version 10 basiert im Wesentlichen auf einer veralteten Variante der Synapse-Lib, man erspart sich einigen Ärger wenn man gleich zum Original greift...

Nun zur Praxis:
INDY
Ich wollte nun einen Trap mit mehreren "Bindings" an ein Ziel(Netzmanagementsystem) senden. Mit Indy zwar möglich, nur ist durch einen Fehler in der Funktion MibADD(OID,VALUE:string;TYPE:integer) der Parameter Type völlig wirkungslos. Dort sollte der Typ von Value, also Integer, String, etc. angegeben werden. Dieser wird eigentlich dazu benutzt Value vor der Sendung über ASN.1-Synatx entsprechend aufzubereiten, nur bei Indy ---> nothing. Alles was ich 'adde ist letzendlich bei der Trapsendung immer ein String... ((

SYNAPSE
Mit Synapse funktioniert es (Werte nur zu Demo):

Delphi-Quellcode:
SNMPsend:= TSNMPsend.Create;
SNMPsend.TargetHost:='192.x.x.x';
SNMPsend.TargetPort:='162';
SNMPsend.Query.Community:='public';
SNMPsend.Query.Version:=SNMP_V1;
SNMPsend.Query.PDUType:=PDUTrap;
SNMPsend.Query.OldTrapHost:='192.x.x.x';
SNMPsend.Query.OldTrapEnterprise:='1.0.1.1';
SNMPsend.Query.OldTrapGen:=6;
SNMPsend.Query.OldTrapSpec:=1;
SNMPsend.Query.OldTrapTimeTicks:=0;

//ersten Wert als Integer im Trap definieren (ASN.1-Notation)
SNMPsend.Query.MIBadd('1.0.1.2.3.4','6',ASN1_INT);
//zweiten Wert als String im Trap definieren (ASN.1-Notation)
SNMPsend.Query.MIBadd('1.0.1.2.3.5','Teststring zur Demo',ASN1_OCTSTR);

SNMPsend.SendTrap;

SNMPsend.Free;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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