IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Comment faire fonctionner idSNMP de chez indy ?


Sujet :

Lazarus Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2016
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Comment faire fonctionner idSNMP de chez indy ?
    Bonjour,

    J'ai réalisé un logiciel de visualisation de l'état des ports d'un Switch et de visualisation des ordinateurs connectés à chacun.
    Une premiere mouture etait en Python. Par la suite, je suis passé à WinDev pour me faciliter le travail.
    Je suis administrateur système tout fraîchement diplômé et mon niveau en programmation est basique (bases de C, Caml, Python).

    Cependant je souhaiterais le réécrire avec l'aide de Lazarus - CodeTyphon, en fait, qui vient par défaut avec plus de paquets.

    J'arrive à interagir avec une base de données (Remplir et visualiser), et avec ma fenêtre.
    Cependant je bloque sur le SNMP.

    J'ai bien trouvé le idSNMP de chez Indy, j'ai fait quelques essais avec les procédures et fonctions qui viennent avec ce paquet, mais je ne comprends pas vraiment comment marche ce truc.

    Une idée pour faire un petit SNMPGET sur une OID que je connais déjà ?
    Voire ,soyons fous, un SNMPWalk ?

    Le logiciel d'origine que je désire réécrire en Pascal est http://www.villalongue.net/Tele/Swit...ng_SG50028P.7z

    Merci,

    Maxime

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    il y a aussi la possibilité d'utiliser la bibliothèque synapse qui gère le snmp. Je suis en train de faire des tests avec cette bibliothèque. Si cela aboutit, je mettrait en partage ici un petit projet lazarus qui permet de récupérer la valeur d'un OID (snmpget) mais aussi une table (snmpgetTable équivalent à snmpwalk).

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    Hello,
    Bon voilà mon petit projet est prêt (en pièce jointe). Il utilise la bibliothèque Synapse disponible ici (la version en cours "trunk" : ici ) cliquer sur download SnapShot pour récupérer les fichiers. Puis installer le paquetage laz_synapse dont mon projet a besoin :

    Nom : Inspecteur - SnmpTest - J.P.png
Affichages : 580
Taille : 19,1 Ko

    Il possède deux boutons. Un pour récupérer la valeur d'un OID, l'autre pour "balayer" un ensemble d'OID à partir d'un OID de départ.
    Pour tester mon projet, j'ai utilisé le service SNMP de windows (pour l'installation et l'activation voir ici )
    Voici des infos sur les OID qui sont mis par défaut dans les champs de saisie des OID du projet :

    OID value: 1.3.6.1.2.1.1

    OID description:
    RFC 1213 "System" SNMP variables

    See also the OID Repository website reference for 1.3.6.1.2.1.1

    Superior references

    1.3.6.1.2.1 - SNMP MIB-2
    1.3.6.1.2 - IETF Management
    1.3.6.1 - OID assignments from 1.3.6.1 - Internet
    1.3.6 - US Department of Defense
    1.3 - ISO Identified Organization
    1 - ISO assigned OIDs
    Top of OID tree
    Subsidiary references (single level)

    1.3.6.1.2.1.1.1 - sysDescr
    1.3.6.1.2.1.1.2 - sysObjectID
    1.3.6.1.2.1.1.3 - sysUpTime
    1.3.6.1.2.1.1.4 - sysContact
    1.3.6.1.2.1.1.5 - sysName
    1.3.6.1.2.1.1.6 - sysLocation
    1.3.6.1.2.1.1.7 - sysServices
    Attention le SnmpGetTable que j'utilise pour le balayage des OID n'est pas parfait :

    function SNMPGetTable(const BaseOID, Community, SNMPHost: AnsiString; const Value: TStrings): Boolean;
    A very useful function and example of its use would be found in the TSNMPSend object. It implements basic read of SNMP MIB tables. As BaseOID you must specify basic MIB OID of requested table (base IOD is OID without row and column specificator!) Table is readed into stringlist, where each string is comma delimited string.

    Warning: this function is not have best performance. For better performance you must write your own function. best performace you can get by knowledge of structuture of table and by more then one MIB on one query.
    il y a aussi la possibilité d'utilisé la fonction SNMPGetTableElement :

    function SNMPGetTableElement(const BaseOID, RowID, ColID, Community, SNMPHost: AnsiString; var Value: AnsiString): Boolean;
    A very useful function and example of its use would be found in the TSNMPSend object. It implements basic read of SNMP MIB table element. As BaseOID you must specify basic MIB OID of requested table (base IOD is OID without row and column specificator!) As next you must specify identificator of row and column for specify of needed field of table.
    Le projet a été testé avec Lazarus 1.8.0RC4 32 bits sous Windows 7 64 bits.

    Nom : Walk-SNMPTest - J.P.png
Affichages : 598
Taille : 23,2 Ko

    Ami calmant, J.P
    Fichiers attachés Fichiers attachés
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Discussions similaires

  1. [SPAW] Comment faire fonctionner Spaw
    Par Seth77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/02/2006, 18h22
  2. [Vs.Net & SQL Serveur] Comment faire fonctionner le Débu
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/08/2005, 19h23
  3. Comment faire fonctionner une scroll bar ???
    Par toto4650 dans le forum MFC
    Réponses: 10
    Dernier message: 18/07/2005, 16h47
  4. [Chat] Comment faire fonctionner Flash 7 sous Debian ?
    Par piff62 dans le forum Evolutions du club
    Réponses: 22
    Dernier message: 07/03/2005, 15h27
  5. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo