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

Java Discussion :

class snmp java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 9
    Par défaut class snmp java
    Bonjour j'ai utiliser cette classe pour récupérer des info sur un pc , quand j'ai met mon adresse local sa marche et elle renvoi "Hardware: Intel64 Family 6 Model 42 Stepping 7 AT/AT COMPATIBLE - Software: Windows Version 6.2 (Build 9200 Multiprocessor Free)" mais par contre lorsque j'ai met une adresse IP d'un autre PC ça marche pas et elle renvoi cette erreur
    Exception in thread "main" java.lang.NullPointerException
    	at com.G2.SNMP.client.SNMPManager.getAsString(SNMPManager.java:70)
    	at com.G2.SNMP.client.SNMPManager.main(SNMPManager.java:45)
    voici mon probleme s'il vous plait aider moi sanchant que je suis un debutant

    la classe java :

    Code java : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    package com.G2.SNMP.client;
     
    import java.io.IOException;
     
    import org.snmp4j.CommunityTarget;
    import org.snmp4j.PDU;
    import org.snmp4j.Snmp;
    import org.snmp4j.Target;
    import org.snmp4j.TransportMapping;
    import org.snmp4j.event.ResponseEvent;
    import org.snmp4j.mp.SnmpConstants;
    import org.snmp4j.smi.Address;
    import org.snmp4j.smi.GenericAddress;
    import org.snmp4j.smi.OID;
    import org.snmp4j.smi.OctetString;
    import org.snmp4j.smi.VariableBinding;
    import org.snmp4j.transport.DefaultUdpTransportMapping;
     
    public class SNMPManager {
     
    Snmp snmp = null;
    String address = null;
     
    /**
    * Constructor
    * @param add
    */
    public SNMPManager(String add)
    {
    address = add;
    }
     
    public static void main(String[] args) throws IOException {
    /**
    * Port 161 is used for Read and Other operations
    * Port 162 is used for the trap generation
    */
    SNMPManager client = new SNMPManager("udp:127.0.0.1/161");
    client.start();
    /**
    * OID - .1.3.6.1.2.1.1.1.0 => SysDec
    * OID - .1.3.6.1.2.1.1.5.0 => SysName
    * => MIB explorer will be usefull here, as discussed in previous article
    */
    String sysDescr = client.getAsString(new OID(".1.3.6.1.2.1.1.1.0"));
    System.out.println(sysDescr);
    }
     
    /**
    * Start the Snmp session. If you forget the listen() method you will not
    * get any answers because the communication is asynchronous
    * and the listen() method listens for answers.
    * @throws IOException
    */
    private void start() throws IOException {
    TransportMapping transport = new DefaultUdpTransportMapping();
    snmp = new Snmp(transport);
    // Do not forget this line!
    transport.listen();
    }
     
    /**
    * Method which takes a single OID and returns the response from the agent as a String.
    * @param oid
    * @return
    * @throws IOException
    */
    public String getAsString(OID oid) throws IOException {
    ResponseEvent event = get(new OID[] { oid });
    return event.getResponse().get(0).getVariable().toString();
    }
     
    /**
    * This method is capable of handling multiple OIDs
    * @param oids
    * @return
    * @throws IOException
    */
    public ResponseEvent get(OID oids[]) throws IOException {
    PDU pdu = new PDU();
    for (OID oid : oids) {
    pdu.add(new VariableBinding(oid));
    }
    pdu.setType(PDU.GET);
    ResponseEvent event = snmp.send(pdu, getTarget(), null);
    if(event != null) {
    return event;
    }
    throw new RuntimeException("GET timed out");
    }
     
    /**
    * This method returns a Target, which contains information about
    * where the data should be fetched and how.
    * @return
    */
    private Target getTarget() {
    Address targetAddress = GenericAddress.parse(address);
    CommunityTarget target = new CommunityTarget();
    target.setCommunity(new OctetString("public"));
    target.setAddress(targetAddress);
    target.setRetries(2);
    target.setTimeout(1500);
    target.setVersion(SnmpConstants.version2c);
    return target;
    }
     
    }

  2. #2
    Membre éclairé
    Inscrit en
    Février 2013
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 54
    Par défaut
    est ce que ton autre PC répond au requete SNMP? Si tel est le cas l'OID est correct par rapport a ce PC?

  3. #3
    Membre éclairé
    Inscrit en
    Février 2013
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 54
    Par défaut
    j'ai testé ton code il fonctionne sur une imprimante distante. Le snmp est activé et l'oid est reconnu. TOn code n'est a mon avis pas en cause mais plutot ton PC

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 9
    Par défaut qustion
    merci pour votre réponse , est ce que si j'essaie mon code avec un autre équipement tel que switch avec changement de l'OID sa va fonctionné ou nn ?

  5. #5
    Membre éclairé
    Inscrit en
    Février 2013
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 54
    Par défaut
    oui a partir du moment ou l'oid est reconnu. Celui que tu fourni dans ton code passe trés bien sur un photocopieur toshiba donc je suppose que le switch répondra tout aussi bien. Je pense que ton pc sur lequel tu envoi ta requete n'a pas le SNMP active. Verifie ce point.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 9
    Par défaut merci
    je vous remercie infinement , j'ai déja activer snmp sur les deux pc , ils sont connecté entre avec ethernet chacun a un une adresse ip , dans le code j'ai fait l'adresse de l'autre pc et toujours le meme probleme :'(

    " Exception in thread "main" java.lang.NullPointerException
    at com.G2.SNMP.client.SNMPManager.getAsString(SNMPManager.java:70)
    at com.G2.SNMP.client.SNMPManager.main(SNMPManager.java:45)"
    en tous cas merci vous m'assure que le code marche


    est ce que vous pouvez me conseiller de travailler avec la bibliothque snmp4j ou AdventNet pour mon application de supervision ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. class snmp-set java
    Par djotele dans le forum Général Java
    Réponses: 0
    Dernier message: 09/03/2014, 22h33
  2. [Reflection]parser une classe de java.
    Par burkan21 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 02/12/2005, 21h05
  3. Réponses: 7
    Dernier message: 21/06/2005, 17h04
  4. Réponses: 5
    Dernier message: 15/02/2005, 10h32
  5. [PL/SQL]Appel d'une classe/méthode java
    Par marsup54 dans le forum SQL
    Réponses: 4
    Dernier message: 30/06/2004, 16h44

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