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

Web & réseau Delphi Discussion :

Probleme valeur negative dans OID avec TDISNMP


Sujet :

Web & réseau Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2003
    Messages : 167
    Points : 208
    Points
    208
    Par défaut Probleme valeur negative dans OID avec TDISNMP
    Bonjour a tous
    J’utilise depuis pas mal de temps les composants indy pour faire des requêtes SNMP via TIDSNMP
    Je viens de tomber sur un cas particulier en voulant lister les volumes d’un serveur HPUX
    j’interroge la liste des oid via 1.3.6.1.4.1.11.2.3.1.2.2.1.1
    et là j’obtiens un résultat inattendu dans les oid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741825.0";"1073741825"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741827.0";"1073741827"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741828.0";"1073741828"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741829.0";"1073741829"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741830.0";"1073741830"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741831.0";"1073741831"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073741832.0";"1073741832"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.1073807361.0";"1073807361"
    "1.3.6.1.4.1.11.2.3.1.2.2.1.1.-2147475455.0";"-2147475455"
    Et oui une valeur négative dans l’oid lié sans doute à une limitation du type de variable utilisée dans le composant car la valeur qui devrait être retourné est 2147491841
    Voici ce que me donne snmpwalk
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    snmpwalk -v 2c -c cccccccc srv  .1.3.6.1.4.1.11.2.3.1.2.2.1.1 
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741825.0 = INTEGER: 1073741825
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741827.0 = INTEGER: 1073741827
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741828.0 = INTEGER: 1073741828
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741829.0 = INTEGER: 1073741829
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741830.0 = INTEGER: 1073741830
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741831.0 = INTEGER: 1073741831
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073741832.0 = INTEGER: 1073741832
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.1073807361.0 = INTEGER: 1073807361
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147491841.0 = INTEGER: -2147475455
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147495937.0 = INTEGER: -2147471359
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147495938.0 = INTEGER: -2147471358
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147495939.0 = INTEGER: -2147471357
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147500033.0 = INTEGER: -2147467263
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147528705.0 = INTEGER: -2147438591
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147532801.0 = INTEGER: -2147434495
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147536897.0 = INTEGER: -2147430399
    SNMPv2-SMI::enterprises.11.2.3.1.2.2.1.1.2147540993.0 = INTEGER: -2147426303
    Voici la fonction que j’utilise pour lister les résultats
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    procedure getLstOIDresult (fIdsnmp : tidsnmp ; strMIB : string; var lst : tstrings);
     
    //  ___________________________________________________________________________
    // | procedure getLstOIDresult                                                 |
    // | _________________________________________________________________________ |
    // || permet de lancer une requête snmp et de récupérer une liste de résultat ||
    // ||_________________________________________________________________________||
    // || Entrées | strMIB : string                                               ||
    // ||         |   requette snmp                                               ||
    // ||_________|_______________________________________________________________||
    // || Sorties | var lst : tstrings                                            ||
    // ||         |   liste de resultat                                           ||
    // ||_________|_______________________________________________________________||
    // |___________________________________________________________________________|
     
    var
      indexIOD : integer;
    begin
      lst.Clear ;
      fIdsnmp.Query.Clear ;
      fIdsnmp.Query.MIBAdd(strMIB ,'');
      fIdsnmp.Query.PDUType := PDUGetNextRequest ;
      while fIdsnmp.SendQuery do
        begin
          if pos (strMIB,fIdsnmp.Reply.MIBOID[0]) <> 1 then
            Break;
          for indexIOD := 0 to fIdsnmp.Reply.ValueCount -1 do
          begin
            if fIdsnmp.Reply.Value[indexIOD] <>'' then
              if lst.IndexOf(fIdsnmp.Reply.Value[indexIOD])=-1 then
                lst.Add(fIdsnmp.Reply.Value[indexIOD]);
            fIdsnmp.Query.Clear;
            fIdsnmp.Query.ID := fIdsnmp.Query.ID + 1;
            fIdsnmp.Query.MIBAdd(fIdsnmp.Reply.ValueOID[0], '');
            fIdsnmp.Query.PDUType := PDUGetNextRequest;
          end;
        end;
    end;
    Y a-t-il un moyen de palier à ce PB de valeur négative dans l’OID via une option de TIDSNMP que je n’aurais pas vue

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2003
    Messages : 167
    Points : 208
    Points
    208
    Par défaut
    Bonjour

    en analysant le problème cela vient de l'utilisation du type integer dans l'unite IdASN1Util

Discussions similaires

  1. Probleme vidéo inséré dans site avec firefox
    Par enrico83600 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 28/12/2009, 10h32
  2. probleme d'insertion dans db avec ma classe mysql
    Par diblasio dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2009, 14h52
  3. Probleme de date dans requete avec access
    Par pbauquel dans le forum Accès aux données
    Réponses: 2
    Dernier message: 29/04/2009, 11h58
  4. probleme d'insertion dans mysql avec java
    Par hypothese dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/09/2008, 12h02
  5. probleme d'insertion dans table avec cle secondaire
    Par pseudobidon57 dans le forum SQL
    Réponses: 1
    Dernier message: 01/06/2007, 13h46

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