2017-03-02 69 views
-1

我试图通过以下源获取snmp设备的名称。snmpget()与端口161以外的其他端口不起作用

$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"); 

我只获取通过端口161访问的第一个snmpget()方法的输出。其他snmpget()不起作用。根据研究,161是默认端口。但我需要为不同的IP地址设置不同的端口。让我知道如何设置net-snmp的其他端口选项

回答

0

您试图在不同的IP地址和UDP端口上查询SNMP代理。正如你所说,第一个是默认的,所以你有SNMP代理(snmpd?)在那里监听。其他端口是非默认的,这可能是没有进程在那里监听的原因。

您可能需要运行SNMPD(如果它是你正在使用的SNMP代理)绑定到这些端口:

# snmpd 164 
# snmpd 165 

,或者你可以做一个单一的snmpd的情况下监听多个UDP端口(和IP地址,如果他们是本地的同一主机):

# snmpd 192.168.0.10:164 192.168.0.11:165 
+0

我试着用以下端口选项agentAddress UDP将在snmpd.conf文件:127.0.0.1:164 agentAddress UDP:127.0.0.1:165 adentAddress udp:127.0.0.1:166。但是snmpget()只在161端口工作。 – Senthil