Création
d'entreprise
Posez votre question Signaler

Protocol SNMP

espritien 30Messages postés 10 février 2010Date d'inscription 24 mars 2011Dernière intervention - Dernière réponse le 18 déc. 2010 à 03:22
Bonjour,
je suis entrain de réaliser une application java qui permet de découvrir les équipements connectés au réseau afin de les contrôler. la recherche des équipements se fait par le protocol SNMP à l'aide des OID de chaque équipement. un Mib Browser contient les différents OID qu'on peut utiliser mais le problème c'est comment ça se fait???
j'ai réussi à identifier toutes informations( comme le nom du PC, le type du OS,...etc) mais celle de mon propre ordinateur. comment je peux avoir les informations des autres équipements liés à mon réseau?
Cordialement, Espritien
Lire la suite 

Protocol SNMP »

Suggestions
4 réponses
Réponse
+0
moins plus
bonjour,

Il te faut savoir si ces objets sur le réseau acceptent le snmp. Car le snmp est un service qui tourne sur un device, comme sur ton pc tu as certainement dû installé snmp sur celui-ci. Ensuite une fois que tu t'es assuré que c'est le cas, il te suffit de faire les query snmpwalk pour la syntaxe fait un man snmpwalk, une fois que tu as eu le résultat voulu essaie de transcrire cela en java.

Bien à toi,
MyTux.
espritien- 15 déc. 2010 à 00:27
oui ils acceptent, deja j'ai installé le service SNMP dans chaque pc. merci je vais essayer de faire ce que tu as dit.
akiw - 17 déc. 2010 à 22:10
bonsoir,
j'ai presque le même projet ,je doit afficher le contenu de la table d'adresse Mac d'un switch biensur a l'aide de snmp,le probleme c'est que je doit utiliser java précisemment l'API snmp4j,ma question c'est pouquoi l'utilistation de java alors qu'on peut faire la chose avec les commandes de snmp, et voila la classe prête comment je vais la tester ,un simple compiler ne va pas suffir.
espritien- 18 déc. 2010 à 03:22
voila ce que j'ai réussi à faire, une classe qui affiche les informations selon le OID:


public class ConnectionSNMP161 {
public ConnectionSNMP161() {
}
public String getRequest(String adresseHost, String OID){
String ret="";
try{
String community = "public";
int version = 1; // SNMPv1
InetAddress hostAddress = InetAddress.getByName(adresseHost);
SNMPv1CommunicationInterface comInterface = new SNMPv1CommunicationInterface(version, hostAddress, community);

StringTokenizer st = new StringTokenizer(OID, " ,;");
while (st.hasMoreTokens()){
String itemID = st.nextToken();
SNMPVarBindList newVars = comInterface.getMIBEntry(itemID);
SNMPSequence pair = (SNMPSequence)(newVars.getSNMPObjectAt(0));
SNMPObjectIdentifier snmpOID = (SNMPObjectIdentifier)pair.getSNMPObjectAt(0);
SNMPObject snmpValue = pair.getSNMPObjectAt(1);
String typeString = snmpValue.getClass().getName();
if (typeString.equals("snmp.SNMPOctetString")){
String snmpString = snmpValue.toString();
int nullLocation = snmpString.indexOf('\0');
if (nullLocation >= 0)
snmpString = snmpString.substring(0,nullLocation);
ret= snmpString;
}
else
ret=""+snmpValue;
}
}
catch(InterruptedIOException ee){


}
catch(Exception eq) {

}

return ret;
}



public static void main(String[] args) {
ConnectionSNMP161 a=new ConnectionSNMP161();

System.out.print("nom du pc ");
System.out.println(a.getRequest("127.0.0.1", "1.3.6.1.2.1.1.5.0"));
System.out.print("CPU ");
for(int i=1;i<4048;i++)
System.out.println(+i+a.getRequest("127.0.0.1","1.3.6.1.2.1.25.5.1.1.2."+i));

}
}


je travaille sur windows !
Ajouter un commentaire
Ce document intitulé « Protocol SNMP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?