-1

我试图通过以下来源获取 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 设置其他端口选项

4

1 回答 1

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
于 2017-03-02T09:06:24.820 回答