snmpget()与端口161以外的其他端口不起作用

时间:2017-03-02 06:34:21

标签: php snmp net-snmp pysnmp snmpd

我试图通过以下来源获取snmp设备的名称。

$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设置其他端口选项

1 个答案:

答案 0 :(得分: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