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

UCD-SNMP代碼示例精講

網絡 網絡管理
文章中我們對SNMP協議的UCD-SNMP協議軟件應用進行了實例代碼的講解。希望對大家能夠有所幫助。那么具體內容請大家瀏覽下文。

經過對SNMP協議的學習,我們接下來對UCD-SNMP軟件進行一個實例操作。那么前面我們已經講述了有關于這個軟件的一些基本內容,下面的網絡管理程序我們將詳細地剖析一下。

一個簡單的SNMP網絡管理程序

下面, 讓我們先應用ucd-snmp寫一個的SNMP網絡程序, 從應用程序的角度嘗試一下這個軟件包的使用. 這個程序是如此地簡單, 不支持任何命令行參數, 僅僅從代理程序獲得關于系統的描述.

程序代碼如下:

1) /* snmpapp.c - a simple SNMP application */
2) #include <ucd-snmp/ucd-snmp-config.h>;
3) #include <ucd-snmp/ucd-snmp-includes.h>;
4) #include <ucd-snmp/system.h>;
5) int main(int argc, char * argv[])
6) {
7) struct snmp_session session, *ss;
8) struct snmp_pdu *request, *response;
9)
10) oid myoid[MAX_OID_LEN];
11) size_t myoid_len = MAX_OID_LEN;
12) struct variable_list *vars;
13) int status;
14) init_snmp("snmpapp");
15) snmp_sess_init( &session );
16) session.version = SNMP_VERSION_1;
17) session.peername = "localhost";
18) session.community = "public";
19) session.community_len = strlen(session.community);
20) SOCK_STARTUP;
21) ss = snmp_open(&session);
22) request = snmp_pdu_create(SNMP_MSG_GET);
23) read_objid("system.sysDescr.0", myoid, &myoid_len);
24) snmp_add_null_var(request, myoid, myoid_len);
25) status = snmp_synch_response(ss, request, &response);
26) if (status == STAT_SUCCESS &&
27) response->;errstat == SNMP_ERR_NOERROR)
28) {
29) for(vars = response->;variables; vars; vars = vars->;next_variable)
30) print_variable(vars->;name, vars->;name_length, vars);
31) } else {
32) if (status == STAT_SUCCESS)
33) fprintf(stderr, "Error in packet\nReason: %s\n",
34) snmp_errstring(response->;errstat));
35) else
36) snmp_sess_perror("snmpget", ss);
37) }
38) if (response)
39) snmp_free_pdu(response);
40) snmp_close(ss);
41) SOCK_CLEANUP;
42) return (0);
43) }

#p#代碼分析

第2-4行, 必須包含的頭文件, 其中<ucd-snmp/system.h>;如果在<ucd-snmp/ucd-snmp-includes.h>;中已包含, 可以省略. 不過, 在頭文件中有宏保護, 所以無所謂.

第7-13行, 定義程序所需要的變量.

第14行, 初始化SNMP庫.

第15-19行, 初始化會話結構變量. 假定SNMP代理位于本機, community(如何翻譯?)名public具有可讀權限.

第20行和第41行, SOCK_STARTUP和SOCK_CLEANUP宏定義主要用于在win32平臺初始化和清除winsock接口, 而在Unix/Linux環境不做任何事情.

第21行, 打開一個snmp會話. 在下面的會話過程中使用API snmp_open()返回的指針. 關于snmp_open(), 參見相應的man手冊.

第22-24行, 創建一個SNMPv1 PDU, 并加入請求代碼. 注意這里我們使用的是SNMP Get請求.(宏SNMP_MSG_GET表示).

第25行, 與SNMP代理進行通訊. 這里使用的是同步通訊機制.

第26-37行, 處理反饋. 注意消息及錯誤的處理方式.

第38-39行, 如果通訊成功, 反饋指針response非空, 必須由程序釋放API分配的內存.

第40行, 關閉會話.

ucd-snmp API分為如下幾類:

¨ snmp_api
¨ snmp_sess_api
¨ mib_api
¨ variables
¨ default_store
¨ read_config
¨ snmp_alarm
¨ snmp_trap_api
¨ anmp_agent_api

上面程序用到如下API: init_snmp(), snmp_sess_init(), snmp_open(), snmp_pdu_create(), read_objid(), snmp_add_null_var(), print_variable (), snmp_errstring(), snmp_sess_perror(), snmp_pdu_free(), snmp_close().

具體的API語義和語法, 參見相應的man手冊或頭文件.

在Rad Hat Linux 6.2環境中用如下命令編譯該程序:gcc -g -I/usr/local/include -o snmpapp snmpapp.c -L/usr/local/lib -lsnmp

其中/usr/local為ucd-snmp 4.2.1的確省安裝目錄.

編譯通過, 運行程序獲得SNMP代理運行系統的描述. (在當前情況下, 當然是本機Red Hat Linux 6.2系統的描述). 當然, 必須事先在本機運行SNMP代理:# /usr/local/sbin/snmpd (必須是root用戶)

責任編輯:佟健 來源: csdn.net
相關推薦

2010-07-01 12:38:31

ucd-snmp

2010-07-05 10:16:31

ucd-snmpSNMP Agent

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-09-26 11:17:55

dhcp relay配

2010-07-28 15:10:21

NFS配置

2020-09-25 16:40:52

Selenium

2010-07-21 16:57:44

telnet命令

2010-03-29 22:33:39

2019-01-03 12:50:52

Spring BootJava編程語言

2010-08-30 16:14:26

DHCP實驗

2009-12-07 16:21:50

Juniper交換機

2009-12-02 12:52:00

華為路由器命令

2010-06-11 16:33:05

IPv6協議網絡

2010-09-09 10:09:07

Java內存分配

2010-04-25 17:18:09

TCP負載均衡

2020-08-07 08:03:37

IONetty

2024-11-13 11:12:08

JVM內存區域

2024-05-17 12:43:49

Python編程開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天拍天天草 | 日本粉嫩一区二区三区视频 | 久久躁日日躁aaaaxxxx | 精品九九 | 国产高清免费 | 少妇精品亚洲一区二区成人 | 一级高清视频 | www.久久.com | 亚州av在线 | 国产精品三级久久久久久电影 | 久草热播 | 亚洲香蕉在线视频 | 亚洲五码在线 | 视频一区二区三区中文字幕 | 亚洲欧洲一区 | 99亚洲综合| 日韩精品视频在线 | 精品国产一区二区三区观看不卡 | 欧美一级免费看 | 在线视频亚洲 | 美女视频网站久久 | 51ⅴ精品国产91久久久久久 | 成人久久网| 日韩欧美网 | www.久久精品视频 | 欧美日韩精品中文字幕 | 久久免费视频网 | 国产精品视频区 | 国产精品一区二区免费看 | 国产精品a免费一区久久电影 | 天天看天天摸天天操 | 久久婷婷香蕉热狠狠综合 | 日韩视频在线播放 | 午夜精品久久久久久久久久久久久 | 51ⅴ精品国产91久久久久久 | 亚洲综合色丁香婷婷六月图片 | 日韩久久综合网 | 九九亚洲 | 久久精品二区 | 日韩高清国产一区在线 | 日韩三级免费观看 |