J'utilise snmp et j'essaie d'obtenir
snmpwalk -v 2c -c public x.x.x.x ipadd
où x.x.x.x est l'adresse IP du PC avec Ubuntu 12.04, j'obtiens cette réponse:
IP-MIB::ipAddrTable = No Such Object available on this agent at this OID
alors, comment puis-je obtenir l'adresse IP d'un ubuntu 12.04 LT pc, il y a peut-être une autre commande que je peux utiliser?
Merci d'avoir répondu .
Après avoir installé SNMP et son démon (Sudo apt-get install snmp snmpd
), vous devez éditer le fichier /etc/snmp/snmp.conf
et commenter la ligne contenant "mibs:".
Dans ce fichier, changez la ligne:
mibs :
à
#mibs :
Ensuite, en supposant que vous ne l'ayez pas déjà fait, vous devrez obtenir l'ensemble complet de bases MIB IETF. Ces fichiers ne sont pas livrés, par défaut, sur les systèmes Debian/Ubuntu en raison de problèmes de licence.
Du terminal (Ctrl-Alt-t), entrez les commandes suivantes:
Sudo apt-get install snmp-mibs-downloader
Sudo download-mibs
Ensuite, vous devrez modifier /etc/snmp/snmpd.conf
.
Pour permettre au système SNMP de recevoir des requêtes sur des interfaces autres que son adresse de bouclage. Les lignes pour cela devraient ressembler à ceci:
# Listen for connections from the local system only
# agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
Notez que cela permettra à TOUT système d’interroger votre machine. Vous devrez l’ajuster pour limiter l’accès SNMP à votre appareil.
Vous allez maintenant vouloir changer votre chaîne SNMP en lecture seule de public
à une chaîne personnalisée de votre choix, comme ci-dessous:
#rocommunity public default -V systemonly
rocommunity <My$ecret$tr1nG> (Don't use this example!)
Remarque: Si vous supprimez -V systemonly
de la ligne, vous aurez accès à l'intégralité de l'arborescence MIB et non pas à la partie système de l'arborescence.
Redémarrez le démon SNMP
Sudo service snmpd restart
Enfin, votre requête SNMP devrait maintenant répondre correctement.
par exemple.:
snmpwalk -v 2c -c <My$ecret$tr1nG> <MachineName> ipadd
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.7 = IpAddress: 192.168.1.7
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.192.168.1.7 = INTEGER: 2
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntNetMask.192.168.1.7 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0
IP-MIB::ipAdEntBcastAddr.192.168.1.7 = INTEGER: 1
La même requête peut également être exécutée à l'aide d'un navigateur MIB basé sur une interface graphique. Personnellement, je préfère utiliser SNMPb pour mes requêtes graphiques. Une fois que vous avez SNMPb installé , ouvrez SNMPb et accédez au OIDsouhaité dans l'arborescence MIB. Dans votre cas spécifique, il s'agirait de 1.3.6.1.2.1.4.20
ou iso-> org-> internet-> mgmt-> mib-2 -> ip -> ipAddrTable
et effectuerait une opération Get Bulk pour recevoir les mêmes données.
J'ai eu le même problème, et j'avais déjà fait ce qui précède, mais je me suis alors rendu compte que tout ce que j'avais à faire, c'était d'ajouter la ligne suivante à /etc/snmp/snmpd.conf.
# For IF-MIB data to show up in snmpwalk
view systemonly included .1.3.6.1.2.1.4.20
puis redémarrez le snmpd:
/etc/init.d/snmpd restart
alors je reçois:
% ~/computer/snmp$ snmpwalk -v 2c -c public -O e mymachinename ipadd
IP-MIB::ipAdEntAddr.10.11.12.3 = IpAddress: 10.11.12.66
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntIfIndex.10.11.12.66 = INTEGER: 2
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntNetMask.10.11.12.66 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntBcastAddr.10.11.12.66 = INTEGER: 1
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0
HTH