1. 程式人生 > >snmp 協議開發之HiliSoft MIB Browser(輔助開發工具)

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呼叫.NetC#、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的