1

我正在扩展 net-snmp 以使用 agentX 编写子代理。现在我使用 net-snmp 中的示例代码,并编译为子代理。下面是我得到的代码:http: //www.net-snmp.org/wiki/index.php/TUT :Writing_a_MIB_Module

我成功地使用agentX对我的子代理执行snmpget和snmpset。

我的问题:

  1. 我认为子代理和主代理正在侦听一个端口,我怎样才能找到他们正在侦听的端口?我被告知默认端口是705,但是当我使用“netstat”时,我找不到任何在端口 705 上侦听的进程。

  2. 如何更改子代理的监听端口?我需要更改示例代码来设置端口吗?

4

3 回答 3

1

实际上,默认情况下,在“除 windows 之外的任何东西”上,默认情况是侦听位于/var/agentx/master.

您可以使用其他发帖人建议的 API 更改监听地址,甚至可以使用 snmpd.conf 配置文件:

agentXSocket tcp:localhost:705

当您创建一个子代理时,它会读取您传递给的FOO.conf文件FOOinit_snmp("FOO");

于 2011-11-11T16:09:05.247 回答
0

问题解决了:http: //www.net-snmp.org/wiki/index.php/FAQ%3aAgent_12

通过添加 netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_X_SOCKET, "tcp:localhost:705");

在“init_agent”调用之前的示例代码中。

谢谢!

于 2011-11-10T09:15:35.593 回答
0

您需要更改 snmpd.conf 文件

master agentx
AgentXSocket tcp:X.X.X.X:705

在你的agentx代码之前写下这些行init_agent()

netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_X_SOCKET, "tcp:X.X.X.X:705");
于 2016-12-05T04:38:10.757 回答