【问题标题】:how to set the port of snmp agentX subagent?如何设置snmp agentX subagent的端口?
【发布时间】:2011-11-10 08:54:15
【问题描述】:

我正在扩展 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. 如何更改子代理的监听端口?我需要更改示例代码来设置端口吗?

【问题讨论】:

    标签: sockets snmp net-snmp snmpd


    【解决方案1】:

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

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

    agentXSocket tcp:localhost:705
    

    当您创建子代理时,它会读取您的 FOO.conf 文件,其中 FOO 是您传递给 init_snmp("FOO"); 的内容

    【讨论】:

      【解决方案2】:

      问题解决了: 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”调用之前的示例代码中。

      谢谢!

      【讨论】:

        【解决方案3】:

        您需要更改 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");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-12
          • 1970-01-01
          • 2019-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多