成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過ucd-snmp完成SNMP Agent的源碼

網絡 網絡管理
在學習SNMP中,我們知道它的代理形式是非常重要的。所以我們今天就著重講解一下用ucd-snmp來完成SNMP Agent的過程。

對于snmp少不了ucd-snmp的使用。所以我們一再介紹了相關的源碼的內容。那么接下來我們主要介紹了一下相關協議的開源開發內容,并且討論采用開放源碼的ucd-snmp 4.2.1軟件包開發自己的SNMP Agent,不涉及SNMP協議包的組包、解析等問題。本文從以下部分進行介紹:

一:ucd-snmp 4.2.1簡介及SNMP Agent開發步驟

二:MIB庫模塊設計及代碼轉換

三:SNMP Agent功能擴展方式

四:uCLinux系統上SNMP Agent的實現

五:創建SNMP Agent配置文件snmpd.conf

一:ucd-snmp 4.2.1簡介及SNMP Agent開發步驟

ucd-snmp 4.2.1開源軟件包支持SNMPv1 (RFCs 1155-1157)、SNMPv2c(RFCs 1901-1908)、SNMPv3 (RFCs 2271-2275)三種SNMP協議版本,其由以下內容組成:

可擴展的SNMP Agent程序(snmpd);

SNMP Agent和管理程序開發庫;

用于檢索或設置SNMP Agent端變量的工具程序(snmpget, snmpset, snmptable, snmpwalk等);

用于生成或處理SNMP陷阱的工具程序(snmptrapd和snmptrap);

基于Tk/perl的MIB瀏覽器(tkmib)

SNMP Agent的開發一般采用以下步驟:

MIB庫模塊設計。

MIB庫模塊轉換為C語言代碼。

轉換后的C語言代碼添加到ucd-snmp源碼包,實現SNMP Agent的功能擴展。#p#

二:MIB庫模塊設計及代碼轉換

在SNMPAgent開發中,首先要定義出MIB庫模塊,這樣,SNMP管理端軟件才能通過該MIB庫模塊實現對相應設備的管理。MIB庫模塊定義的語法,可以參照SNMP 協議中的SMI描述部分,本文使用MG-SOFT公司的“Visual MIBBuilder"可視化設計軟件完成MIB庫模塊的定義。MIB庫模塊定義后,需要在代理程序中增加與所定義的MIB庫模塊相對應的源代碼,這里就要使用MIB2C工具程序把MIB庫模塊文件轉換成C源代碼。

MIB2C是ucd-snmp 4.2.1軟件包中的工具程序,該工具程序需要SNMPperl擴展模塊支持。按以下步驟進行轉換,首先將設計好的MIB庫模塊定義文件拷貝到ucd-snmp源代碼的mibs目錄(如/usr/local/share/snmp/mibs),然后運行MIB2C命令(假定MIB庫模塊為modulename)。

/usr/local/bin/mib2c modulename

此時,MIB2C會在當前目錄下生成兩個C源文件:modulename.h 和modulename.c,這兩個文件是根據所設計的MIB庫模塊轉換而成的,也是需要加入到ucd-snmp軟件包實現SNMP Agent功能擴展的源代碼。

#p#三:SNMP Agent功能擴展方式

SNMP Agent功能擴展即snmpd功能擴展,假定ucd-snmp源代碼存放在/usr/local/src/目錄下,下面是實現snmpd功能擴展的兩種方式:

靜態鏈接方式

先將生成的兩個文件, modulename.h和modulename.c,拷貝到ucd-snmp源代碼的/usr/local/src/ucd-snmp-4.2.1/agent/mibgroup目錄,然后,在ucd-snmp 4.2.1目錄下(/usr/local/src/ucd-snmp-4.2.1)執行以下命令生成snmpd。

# ./configure -with-mib-modules="modulename"
# make
# make install 

共享鏈接庫方式

首先, 在任一目錄(如/usr/local/temp)編譯生成共享鏈接庫。將兩個源文件, modulename.h和modulename.c拷貝到此目錄下,執行如下命令生成共享鏈接庫:

gcc -g -I/usr/local/include -c -o modulename.o modulename.c 
gcc -g -fPIC -shared -o modulename.so modulename.o 

然后,通過以下任意一種方式動態加載共享鏈接庫。

如果代理程序(snmpd)已運行,執行如下命令:

#snmpset localhost rwnode UCD-DLMOD-MIB::dlmodStatus.1 i create
#snmpset localhost rwnode UCD-DLMOD-MIB::dlmodName.1 s " modulename"
#snmpset localhost rwnode UCD-DLMOD-MIB::dlmodPath.1 s "/usr/local/temp/ modulename.so"
#snmpset localhost rwnode UCD-DLMOD-MIB::dlmodStatus.1 i load 

這樣即可加載剛才生成的共享連接庫,裝載后,可以用工具程序檢索或設置相應的變量。如果代理程序(snmpd)未運行,在snmpd.conf配置文件中增加一行:

dlmod modulename /usr/local/temp/modulename.so 

然后重新啟動snmpd代理程序, 程序會自動裝載共享庫。

#p#四:uCLinux系統上SNMP Agent的實現

考慮到嵌入式設備應用程序自動啟動的特點,一般采用靜態鏈接方式開發SNMP Agent。由于uCLinux交叉編譯環境的特殊性,在uCLinux系統上實現SNMP Agent需要按以下步驟。

增加新文件及修改Makefile文件:復制modulename.c和modulename.h到agent/mibgroup/目錄下。

修改agent/Makefile文件: 
  增加"mibgroup/modulename.lo"到LMIBOBJS符號下。 
  增加"mibgroup/modulename.o"到MIBOBJS符號下。

修改agent/mibgroup/Makefile文件: 
  增加"modulename.o"到OBJS符號下。 
  增加"modulename.lo"到LOBJS符號下。 
  增加"modulename.c"到SRCS符號下。

修改agent/mibgroup/mib_module_includes.h文件: 
  增加 #include "mibgroup/modulename.h"一行。

修改agent/mibgroup/mib_module_inits.h文件: 
  增加“if (should_init("modulename")) init_ modulename ();"一行。 

#p#重新配置內核

要生成SNMP Agent程序snmpd,需要重新配置應用程序。切換到uClinux-dist目錄,開始重新配置應用程序:

cd ../uClinux-dist 
make menuconfig 

進行如下選擇:

Kernel/Library/Defaults Selection: 
(Linux-2.4.x) Kernel Version 
[X] Customize Vendor/User Settings (NEW) 

按Esc后保存。隨后自動進入 uClinux v3.1.0 Configurationm,選中“Network Application---->"并進入下一級選項菜單,在這里可以配置arp、ifconfig、ping、route和snmpd等應用程序,選中ucd-snmpsnmpd一項。

[X] ucd-snmp snmpd 

保存后退出,然后在終端提示符下執行命令“make user_only"生成SNMP Agent程序snmpd。#p#

五:創建SNMP Agent配置文件snmpd.conf

snmpd啟動時需要讀取snmpd.conf配置文件,通過該配置文件,可以控制SNMP管理端對變量的讀寫屬性,下面是該配置文件的一個示例:

syslocation Shanghai
syscontact localhost 
sysservices 72
com2sec public default public
com2sec private default private
group public v1 public
group private v1 private
group public v2c public
group private v2c private
group public usm public
group private usm private
view all included .1 80
view system included .1.3.6.1.2.1.1 fe
access public "" any noauth exact all none all
access private "" any noauth exact none all all
trapsink 200.162.162.27

 

責任編輯:佟健 來源: 比特網
相關推薦

2010-07-01 12:38:31

ucd-snmp

2010-07-01 13:58:50

UCD-SNMP

2010-07-01 14:53:09

SNMPMIBUCD-SNMP

2010-07-02 10:18:23

ucd-snmpMIB

2010-07-05 09:37:19

ucd-snmpsnmpd擴展

2010-07-09 14:26:10

SNMP Agent

2010-01-08 14:29:58

華為交換機snmp

2010-07-02 10:39:20

AdventNet S

2010-05-24 18:19:44

SNMP報文

2011-03-23 12:49:53

NagiosSNMP流量

2011-11-08 21:24:30

SNMP

2010-07-12 16:53:50

啟用2003 SNMP

2010-07-12 17:23:14

2010-06-30 17:34:25

SNMP Trap

2010-07-05 11:35:58

IPX協議SNMP

2010-06-29 14:17:22

SNMP協議

2010-07-05 16:42:39

AdventNet S

2010-06-29 16:53:08

2011-03-31 13:40:36

SNMPMRTG安裝

2010-06-29 16:41:32

關閉SNMP服務
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品亚洲91| 亚洲网站在线播放 | 中文字幕一区二区在线观看 | 久久久久久久综合色一本 | 黄色毛片免费看 | 午夜在线免费观看视频 | 日韩欧美理论片 | 国产精品久久视频 | 最新国产在线 | 亚洲国产欧美精品 | 欧美白人做受xxxx视频 | 日韩一区二区三区四区五区六区 | 亚洲精品99 | 97精品国产97久久久久久免费 | 成人一区二区三区在线观看 | 国产成人精品一区二 | 国产精品视频网 | 欧美精品福利视频 | 91人人澡人人爽 | 91视频久久 | 亚洲精品www久久久久久广东 | 男女免费网站 | 国外成人在线视频 | 999久久久精品 | 免费看国产精品视频 | 欧美成人a∨高清免费观看 老司机午夜性大片 | h片免费看| 亚洲 日本 欧美 中文幕 | 欧美日本亚洲 | 色频 | 欧美综合一区二区 | 国产精品久久久久久二区 | 亚洲香蕉在线视频 | 中文字幕欧美日韩 | 精品欧美一区二区三区久久久 | 国产日产精品一区二区三区四区 | 91啪亚洲精品| 在线观看av网站永久 | 亚洲欧美一区二区三区1000 | 欧美一级大片免费看 | 亚洲劲爆av |