Java 如何在snmp4j中使用外部ip创建snmp客户端?

Java 如何在snmp4j中使用外部ip创建snmp客户端?,java,snmp,snmp4j,Java,Snmp,Snmp4j,我想创建一些设备的snmp客户端。但是,不能直接从本地主机访问设备。要使用外部ip创建snmp客户端(会话)。如何使用SNMP4j填充它 下面是我用来创建snmp客户端的代码片段 public SNMPClient(String address) { super(); this.address = address; try { start(); } catch (IOException e) { throw new Runtime

我想创建一些设备的snmp客户端。但是,不能直接从本地主机访问设备。要使用外部ip创建snmp客户端(会话)。如何使用SNMP4j填充它

下面是我用来创建snmp客户端的代码片段

 public SNMPClient(String address) {
    super();
    this.address = address;
    try {
        start();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

private void start() throws IOException {

    TransportMapping transport = new DefaultUdpTransportMapping();

    // Create Target Address object
    this.target = new CommunityTarget();
    target.setCommunity(new OctetString("public"));
    target.setVersion(SnmpConstants.version2c);
    target.setAddress(new UdpAddress(address));
    target.setRetries(2);
    target.setTimeout(50000);
    snmp = new Snmp(transport);

    transport.listen();
}
我试图在传输创建期间提供External IP,如下所示

TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.8.8.8"));
但似乎不起作用

请建议我怎么做

提前感谢,,
Brinal

代码中缺少侦听端口定义。这就是它应该如何工作

TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.8.8.8/161"));
  • 161端口,用于侦听标准snmp代理查询响应
  • 162侦听snmp代理陷阱消息

但是我不确定我是否完全理解你的问题。SNMP客户端(管理器)用于查询网络设备(如路由器、PC、打印机等)上运行的SNMP代理,并接收这些查询的响应。管理器还侦听snmp代理触发的陷阱消息。您的目的是创建snmp管理器或代理吗?

代码中缺少侦听端口定义。这就是它应该如何工作

TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.8.8.8/161"));
  • 161端口,用于侦听标准snmp代理查询响应
  • 162侦听snmp代理陷阱消息

但是我不确定我是否完全理解你的问题。SNMP客户端(管理器)用于查询网络设备(如路由器、PC、打印机等)上运行的SNMP代理,并接收这些查询的响应。管理器还侦听snmp代理触发的陷阱消息。您的目的是创建snmp管理器或代理吗?

代码中缺少侦听端口定义。这就是它应该如何工作

TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.8.8.8/161"));
  • 161端口,用于侦听标准snmp代理查询响应
  • 162侦听snmp代理陷阱消息

但是我不确定我是否完全理解你的问题。SNMP客户端(管理器)用于查询网络设备(如路由器、PC、打印机等)上运行的SNMP代理,并接收这些查询的响应。管理器还侦听snmp代理触发的陷阱消息。您的目的是创建snmp管理器或代理吗?

代码中缺少侦听端口定义。这就是它应该如何工作

TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.8.8.8/161"));
  • 161端口,用于侦听标准snmp代理查询响应
  • 162侦听snmp代理陷阱消息

但是我不确定我是否完全理解你的问题。SNMP客户端(管理器)用于查询网络设备(如路由器、PC、打印机等)上运行的SNMP代理,并接收这些查询的响应。管理器还侦听snmp代理触发的陷阱消息。您的目的是创建snmp管理器还是代理?

谁将向代理提供MIB。。。MIB在Manager代理上下文中的位置在哪里?双方都有相同的MIB表,然后谁将向代理提供MIB。。。MIB在Manager代理上下文中的位置在哪里?双方都有相同的MIB表,然后谁将向代理提供MIB。。。MIB在Manager代理上下文中的位置在哪里?双方都有相同的MIB表,然后谁将向代理提供MIB。。。MIB在Manager Agent上下文中的位置??双方都有相同的MIB表