2017-03-02 2 views
-1

J'ai essayé d'obtenir le nom du périphérique snmp via la source ci-dessous.snmpget() avec un autre port que le port 161 ne fonctionne pas

$sysname1 = snmpget("192.168.0.9:161", "public", ".1.3.6.1.2.1.1.5.0.0"); 
$sysname2 = snmpget("192.168.0.10:164", "public", ".1.3.6.1.2.1.1.5.0.0"); 
$sysname3 = snmpget("192.168.0.11:165", "public", ".1.3.6.1.2.1.1.5.0.0"); 
$sysname4 = snmpget("192.168.0.12:166", "public", ".1.3.6.1.2.1.1.5.0.0"); 

Am obtenir la sortie que pour la première méthode snmpget() qui est accessible par le port 161. Autre snmpget() ne fonctionne pas. Selon l'étude 161 est le port par défaut. Mais j'ai besoin de définir un port différent pour une adresse IP différente. Laissez-moi savoir comment définir une autre option de port pour net-snmp

Répondre

0

Vous essayez d'interroger un agent SNMP à différentes adresses IP et ports UDP. Comme vous le dites, le premier est le défaut, donc vous avez l'agent SNMP (snmpd?) Qui écoute là. Les autres ports ne sont pas par défaut ce qui peut être la raison pour laquelle aucun processus n'écoute là.

Vous pouvez exécuter snmpd (si elle est l'agent SNMP que vous utilisez) pour se lier à tous ces ports:

# snmpd 164 
# snmpd 165 

ou vous pouvez faire une seule instance snmpd écoute sur plusieurs ports UDP (et IP adresses si elles sont locales au même hôte):

# snmpd 192.168.0.10:164 192.168.0.11:165 
+0

j'ai essayé en ajoutant dans le fichier ci-dessous snmpd.conf avec les options de port comme agentAddress udp: 127.0.0.1: 164 agentAddress udp: 127.0.0.1: 165 adentAddress udp: 127.0.0.1: 166. Mais snmpget() ne fonctionne que sur le port 161. – Senthil