snmp 協議開發之HiliSoft MIB Browser(輔助開發工具)
為了簡單起見,現在在Windows 7上建立一個SNMP服務環境,windows 7系統也自帶了該服務的支援!
控制面板中開啟新增或刪除程式!
安裝後會在服中看到SNMP服務內容:
然後我們需要安裝一個軟體,這個軟體可以檢視機器的MIB樹:
HiliSoft MIB Browser是一款強大、易用的網路管理和分析工具。它可以載入SNMP的MIB檔案並快速進行解析,建構兩個樹形檢視:MIB結點檢視和MIB檔案(模組)檢視。 使用這兩個檢視,使用者可以非常容易地通過SNMPv1/v2c/v3協議來瀏覽和修改SNMP代理上變數的值。內建有trap receiver,可以收集SNMP代理髮送的trap。
安裝後他會自動載入自己預先定義的MIB內容,直接執行該程式,然後開啟是機器名稱的節點
GET一下,你就能獲得該機器的名稱,但是要注意的是,該節點的OID是 1.3.6.1.2.1.1.5 ,但是你程式裡面訪問時應該是 1.3.6.1.2.1.1.5.0 ,因為該軟體GET時把該OID下的所有OID例項都會顯示出來
Value就是我的機器名稱,也可以通過該MIB樹檢視其他內容
原始碼:我們通過SNMP4J來訪問該OID,來獲得計算機名稱:
package com.snmp.demo; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.event.ResponseEvent; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.*; import org.snmp4j.transport.DefaultUdpTransportMapping; import java.io.IOException; import java.util.Vector; /** * Created by vixuan-008 on 2015/7/9. */ public class Snmp4jGet { private Snmp snmp = null; private Address targetAddress = null; public static void main(String[] args) { try { Snmp4jGet util = new Snmp4jGet(); util.initComm(); util.getPDU(); } catch (IOException e) { e.printStackTrace(); } } /** * 初始化 */ public void initComm() throws IOException { // 地址是本機 埠一般都是161 targetAddress = GenericAddress.parse("udp:127.0.0.1/161"); TransportMapping transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); transport.listen(); } /** * 執行傳送 */ public void getPDU() throws IOException { // PDU 物件 PDU pdu = new PDU(); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.5.0"))); // 操作型別 pdu.setType(PDU.GET); ResponseEvent revent = sendPDU(pdu); if(null != revent){ readResponse(revent); } } /** * 傳送一個PDU */ public ResponseEvent sendPDU(PDU pdu) throws IOException { // 設定 目標 CommunityTarget target = new CommunityTarget(); target.setCommunity(new OctetString("public")); target.setAddress(targetAddress); // 通訊不成功時的重試次數 N+1次 target.setRetries(2); // 超時時間 target.setTimeout(2 * 1000); // SNMP 版本 target.setVersion(SnmpConstants.version2c); // 向Agent傳送PDU,並返回Response return snmp.send(pdu, target); } /** * 解析返回的值 */ @SuppressWarnings("unchecked") public void readResponse(ResponseEvent respEvnt) { // 解析Response System.out.println("------------>解析Response<-------------"); if (respEvnt != null && respEvnt.getResponse() != null) { Vector<VariableBinding> recVBs = respEvnt.getResponse() .getVariableBindings(); for (int i = 0; i < recVBs.size(); i++) { VariableBinding recVB = recVBs.elementAt(i); System.out.println(recVB.getOid() + " : " + recVB.getVariable().toString()); } } } }
相關推薦
snmp 協議開發之HiliSoft MIB Browser(輔助開發工具)
為了簡單起見,現在在Windows 7上建立一個SNMP服務環境,windows 7系統也自帶了該服務的支援! 控制面板中開啟新增或刪除程式! 安裝後會在服中看到SNMP服務內容: 然後我們需要安裝一個軟體,這個軟體可以檢視機器的MIB樹: HiliSo
Web前端開發之響應式佈局(碼動未來)
Web前端開發之響應式佈局(碼動未來) 隨著移動裝置的普及,移動web在前端工程師們的工作中佔有越來越重要的位置。移動裝置更新速度頻繁,手機廠商繁多,導致的問題是每一臺機器的螢幕寬度和解析度不一樣。這給我們在編寫前端介面時增加了困難,適配問題在當下顯得越來越突出。記得剛剛開始開發移動端產品的
JSP開發之JSP 日期處理(SimpleDateFormat格式化日期)案例瞭解下
我們使用JSP最重要的優勢之一,就是可以使用所有Java API,我們這次就來看下Java中的Date類,它在java.util包下。 我們要知道Date類有兩個建構函式。第一個建構函式使用當前日期和時間來初始化物件: Date( ) 第二個建構函式接受一個引數,這個
並行程式開發之編譯環境搭建(Ubuntu+Eclipse+CDT)
(Ubuntu+Eclipse+CDT環境搭建詳見附件) 接下來建立第一個C程式: 1. 2. 3. #include <stdio.h> #include <pthread.h> #define THREAD
ios開發之--UIDocumentInteractionController的使用(實現更多分享服務)
void cnblogs 實例 內容 main 華麗 例如 一個 img 最近在做項目的時候,碰到這樣一個需求,就是本地生成pdf文件,然後本地打開,經過測試發現,pdf文件是無法保存到相冊裏面的,只能存到手機裏面,鑒於蘋果的存儲機制,需要取出來,進行本地展示,可以直接傳到
iOS開發之JSON轉PLIST(把存儲json格式的文件轉換成plist文件)
string 數據 導致 atom use error: ali ror 進行 有時開發過程中,經常需要調試接口,但是可能經常沒有網絡,導致調試無法正常進行。 對此可以自己手動設置一些假數據,也可以通過計算機來為我們保存一份真實的網絡數據,並自己轉化成plist數據,
全棧開發之HTML快速入門(一)
ack enter 提示 其他 red tle 顯示圖片 val password 一、HTML 是什麽? HTML 指的是超文本標記語言 (Hyper Text Markup Language) HTML 不是一種編程語言,而是一種標記語言 (markup lan
ASP.NET Aries 高級開發教程:Excel導入之代碼編寫(番外篇)
chan 導入 設置 jna 配置 決定 ptc UNC 番外篇 前言: 以許框架提供的導入配置功能,已經能解決95%以上的導入情況,但有些情況總歸還是得代碼來解決。 本篇介紹與導入相關的代碼。 1、前端追加導入時Post的參數: var grid = new
java小白自己動手開發一個網站之域名的申請(第4回)
新手小白,大神們看到什麼問題,請多多指出 目錄 域名的申請 域名的申請 之前想做部落格,聽說朋友用的阿里雲的域名很便宜,於是就過去申請了一個 登入賬號就是淘寶的賬號 地址: https://wanwang.al
unity遊戲開發之ULua框架介紹(二)
1.SimpleFramework框架配置檔案 (1)AppConst 檔案 在AppConst.cs檔案中配置了很多專案開發過程中,需要使用到的“公共常量資訊”。指令碼內的常量都有中文備註。所在位置是:Scripts/ConstDefine/AppConst.cs
unity遊戲開發之ULua框架介紹(一)
1.基礎介紹 ①ULua 整合開發環境叫做:SimpleFramework,SimpleFramework 分為NGUI 和UGUI兩個版本,區別是NGUI 版本的框架資源中含有NGUI 這個外掛。SimpleFramework 本身不是Unitypackage 格式,而是一個Unity3D的專
Android藍芽開發之經典藍芽(藍芽2.0)開發全記錄
前言部分 最近因為需要開始藍芽相關開發,所以在網上搜索了很多內容,並且結合自己的開發過程做了一個總結,先儲備上,也許可能幫到正在做藍芽開發的同學。 藍芽很早就是android裝置上基本通訊功能了,只是以前的沒有那麼多藍芽裝置,現在藍芽裝置種類繁多,所以經常會有人遇到藍芽相關的開發
Qt開發之中國象棋篇(二):棋盤的繪製
中國象棋遊戲的棋盤繪製主要是在 chessarea.cpp 中的 paintEvent 重繪事件中實現 ,主要用到 QPainter 類的畫筆,在畫棋盤的線之前,我們先調整一下棋盤的背景顏色。 &nbs
Qt開發之中國象棋篇(一):工程概述
最近看一篇關於C++實現中國象棋的部落格,於是基於該博主的框架,自己嘗試實現了一個簡單基於Qt的中國象棋遊戲,只是實現了簡單的人人對戰,還沒有實現較為複雜的人機對戰。主要涉及Qt的重繪事件QPaintEvent,用來實現棋盤的
ApolloStudio高手之路(8):用Python呼叫.Net(C#、VB.Net等)開發的動態連結庫(DLL庫檔案)實現相互協作
ApolloStudio是基於.Net與Python雙架構下的實現,這樣的架構體系使得其具有傳統定製軟體無法比擬的超強拓展性,在本文中我們將介紹這兩者是如何在ApolloStudio平臺上實現優勢互補的。由於在ApolloStudio中使用的更易學習的Python作為主導指令碼語言,這裡我們將介
Spring Boot開發之明月千城(一)
D:\soft\Java\jdk1.7.0_04\bin\java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=D:\idea\ideainstall\IntelliJ IDEA 14.0.2\bin" -Dfile.encoding=UTF-8 -
Cocos2d—X遊戲開發之CCTableView詳解(十一)(附原始碼)
本來很早就想寫關於CCTableView的文章,但是在基本功能實現之後呢,專案需求增加導致對這個控制元件的研究必須更加深入一點. 好的,現在開始介紹一下這個控制元件,在Cocos2d—X引擎中,這是一個仿製iOS裡面的NSTableView的一個控制元件。 S1,使用這個
iOS開發之效能除錯Instruments(二)
如何定位記憶體問題 今天主要講最常見的定位記憶體問題,普遍使用ARC後,開發者們從手動管理引用計數中解放出來,但開啟了ARC並不是就不會存在記憶體問題。 蘋果有句名言:ARC is only for NSObject。在iOS 中使用malloc分配的記憶體,ARC是不會
iOS開發之效能除錯Instruments(一)
iOS效能除錯有很多方法,這裡講一下Xcode內建工具Instruments。 Instruments是一個官方提供的強大的效能除錯工具集。 instruments.png 1.Blank(空模板):建立一個空的模板,可以從Library庫中新增其他模板; 2.Act
Android安全開發之正確使用Https(內含OkHttp、HttpUrlConnection配置https方式)
【轉載】Android安全開發之安全使用HTTPS 作者:伊樵@阿里聚安全 1、HTTPS簡介 阿里聚安全的應用漏洞掃描器中有證書弱校驗、主機名弱校驗、webview未校驗證書的檢測項,這些檢測項是針對APP採用HTTPS通訊時容易出現風險的地方而設。接下來介紹一下安全使用HTTPS的