afunms

My Software,My Dream—Forge a more perfect NMS product.

reply

@Amidala:

你的程序没错啊,但你测试环境有问题。
1.3.6.1.4.1.9.2.1.8.0是Cisco的oid(具体这个oid是取什么值我也不知道)
但127.0.0.1是你的本机,你不可能在一台Cisco机器上写你的Java程序吧?呵呵。

建议找一台安装snmp的服务器,或者直接在你的机器上安装snmp并启动snmp服务。

以下是我按你的原程序改过的,我测试过了,没问题。

 1import org.snmp4j.*
 2import org.snmp4j.transport.*
 3import java.io.*
 4import java.util.Vector;
 5
 6import org.snmp4j.smi.*
 7import org.snmp4j.mp.*
 8import org.snmp4j.event.*
 9
10public class SnmpBlog
11
12    public static void main(String[] args)
13    
14       try
15       
16           TransportMapping transport1 ; 
17           transport1 = new DefaultUdpTransportMapping(); 
18           Snmp protocol = new Snmp(transport1); 
19           transport1.listen(); 
20           CommunityTarget myTarget = new CommunityTarget(); 
21           Address deviceAdd;
22           /**
23            * 192.168.2.149 is a windows2003 server
24            */

25           deviceAdd = GenericAddress.parse("udp:192.168.2.149/161"); 
26           myTarget.setAddress(deviceAdd); 
27           myTarget.setCommunity(new OctetString("public")); 
28           myTarget.setRetries(0); 
29           myTarget.setTimeout(5*60); 
30           myTarget.setVersion(SnmpConstants.version2c);//org.snmp4j.mp.*; 
31           PDU pdu = new PDU(); 
32           /**
33            * 1.3.6.1.2.1.1.5.0 is sysName oid
34            */

35           VariableBinding var = new VariableBinding(new OID("1.3.6.1.2.1.1.5.0")); 
36           pdu.add(var); 
37           pdu.setType(PDU.GET); 
38           ResponseEvent response = protocol.send(pdu, myTarget);
39           String sysName = null;
40           if(response.getResponse() != null)
41           {
42               Vector respList = response.getResponse().getVariableBindings();
43               VariableBinding variableV = (VariableBinding)respList.elementAt(0);
44               sysName = variableV.getVariable().toString();
45           }

46           
47           System.out.println(sysName); 
48       }

49       catch(IOException e)
50       
51            e.printStackTrace(); 
52            System.out.println(e.getMessage()); 
53       }
 
54    }
  
55}
 

posted on 2007-12-29 12:57 afunms 阅读(335) 评论(4)  编辑  收藏

Feedback

# re: reply 2007-12-30 13:27 Amidala

实在太感谢你了,终于调通了,你的邮件我也收到了,真是高手啊,还是个心地特好的高手,嗬嗬,我还要继续学习,有问题再请教你了,祝你一切顺利!多谢多谢!!  回复  更多评论   

# re: reply 2008-01-04 13:21 Amidala

给您发了封邮件,有时间请查收,谢谢!  回复  更多评论   

# re: reply 2008-08-07 10:35 光辉

请问:
snmp4j怎么读取mib文件啊。
上面这个应该是系统机器的名称,但要读磁盘/cpu信息,怎么读啊。
一直对mib这个东西不太理解,具体要把mib编译到系统里面还是把mib转换成snm4j的一类再来读取。
能不能指教一下啊  回复  更多评论   

# re: reply 2009-07-20 15:52 求助

snmp4j怎么读取mib文件啊~~~
  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航:
 

My Links

News

留言簿(18)

随笔档案

相册

搜索

最新评论

阅读排行榜