VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 823|回复: 3

请教大家一个snmp4j相关问题

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-22 09:40:01 | 显示全部楼层 |阅读模式
我想使用snmp4j与设备通信,是不是首先要知道snmp的版本,和oid,oid怎么获取
           String ip = "192.168.100.1";
           Address targetAddress = GenericAddress.parse("udp:" + ip + "/161");
            log.debug("ip"+ip);
            TransportMapping transport;
            transport = new DefaultUdpTransportMapping();
            Snmp snmp = new Snmp(transport);
            transport.listen();
            CommunityTarget target = new CommunityTarget();
            target.setCommunity(new OctetString("public"));
            target.setAddress(targetAddress);
            target.setRetries(2);
            target.setTimeout(1000);
            target.setVersion(SnmpConstants.version1);
            // creating PDU
            PDU pdu = new PDU();

            String oidPrefix = "1.3.6.1.2.1.1.1";
            pdu.add(new VariableBinding(new OID(oidPrefix )));
            pdu.setType(PDU.GET);

            ResponseEvent event = snmp.send(pdu, target);
            PDU resposePDU = event.getResponse();
     
            Vector result = resposePDU.getVariableBindings();
            VariableBinding vb = (VariableBinding) result.get(0);
            String sID = vb.getVariable().toString();
            log.debug("sID"+sID);

这样取对不对,为什么每次result 中的值都是空的,有做过的兄弟给个例子吧,多谢了
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-4-22 23:45:01 | 显示全部楼层
呵呵 没见过,帮顶
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-23 23:00:02 | 显示全部楼层
首先要确认设备是开放了权限让你访问的,然后你要根据MIB文件检索到ID、OID编译查看到对应指标的索引,然后测试可以的话就是能够获得你要的值了
回复

使用道具 举报

0

主题

4

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-8-15 23:15:01 | 显示全部楼层
1.3.6.1.2.1.1.1换成1.3.6.1.2.1.1.1.0试试看啊
共同学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表