Net-SNMP領域的著作,國內專傢撰寫,從工程師視角,以Net-SNMP新穩定版本為藍本,以實際項目為依托,係統講解瞭它的管理、開發和維護
4種開發語言,5個綜閤型的案例,完整呈現網絡監控部署、代理端、管理端軟件的開發過程,提供多個可復用框架及其源代碼;重點講解框架的重構優化、自定義代碼模闆和免維護開發實踐
隨著二十世紀八九十年代計算機網絡的興起,網絡管理需求開始變得迫切。在網絡管理曆史的演進中,卡耐基梅隆大學(Carnegie Mellon University)的網絡管理套件CMU-SNMP經加州大學戴維斯分校(University of California Davis)開發人員的改進和完善,逐漸發展壯大並最終成為著名的網絡管理套件Net-SNMP。Net-SNMP是簡單網絡管理協議SNMP的開源實現,幾乎是所有類UNIX發行版的SNMP標準實現,同樣也是大量的電信網絡設備(路由器、交換機等)的SNMP實現。Net-SNMP除瞭可集成現下流行的網絡管理軟件,如Cacti、Nagois、Zabbix等監控網絡管理中的標準庫外,還可以二次開發實現網絡設備中自定義的監控量!如今,移動終端智能設備大行其道,或許不久的將來,我們可以在移動終端上通過Net-SNMP實現遠端設備的監控和管理。
作為國內一本講述Net-SNMP開發和應用的書籍,薈萃瞭前輩們多年的開發和應用經驗。書中以一綫軟件開發工程師的視角和言語展開,提供瞭傳統IT企業軟件開發項目的實踐方法、技術選型、流程以及相關開發技術,注重實戰。書中從網絡管理概念開始,到MIB的開發設計,再到使用Net-SNMP開發網絡管理應用,深入解讀瞭使用Net-SNMP開發網絡管理應用的整套流程和方法,包括代理端和管理端開發,涉及網絡管理安全、集群監控、分布式監控;實現瞭由網絡管理理論到實踐的落地,同時書中提供瞭多個項目的代碼,參考意義非常大。
更多精彩,點擊進入品牌店查閱>>
近年來,Net-SNMP的應用越來越深入,越來越普及,Net-SNMP本身也越來越強大,與之伴隨的,它的使用方法也越來越復雜。目前,國內Net-SNMP方麵的圖書奇缺,本書應該是目前該領域技術版本新、內容係統、講解深入和具有實戰性的著作。作者是前中興通訊的Linux軟件開發工程師,有多年的Net-SNMP相關開發經驗,是國內Net-SNMP專傢之一。
《深入理解Net-SNMP》從工程師視角,以實際項目為依托,係統講解瞭Net-SNMP的管理、開發和維護。本書尤為注重實踐,通過Net-SNMP支持的4種開發語言、5個綜閤型的案例,完整呈現網絡監控部署、代理端、管理端軟件的開發過程,提供多個可復用框架及其源代碼,同時重點講解瞭框架的重構優化、自定義代碼模闆和免維護開發實踐。
《深入理解Net-SNMP》分為三大部分,深刻解讀瞭使用Net-SNMP開發網絡監控應用程序的方法和技巧,適用於服務器、嵌入式設備等網絡互聯設備的監控。
基礎篇(第1~6章) 詳細介紹瞭網絡管理的基礎知識和協議數據包分析方法,重點是MIB的深刻解讀;涵蓋SNMP協議框架的幾大基礎組件:MIB的語法基礎ASN.1、管理信息結構SMI和管理信息庫MIB。最後,詳細介紹瞭Net-SNMP套件中提供的工具集、開發模式等。
實戰篇(第7~11章) 這是本書的重點,首先詳細解讀瞭Net-SNMP的配置選項,提供瞭結閤其他開源軟件部署企業級的監控係統的詳細過程。接著詳述瞭基於Net-SNMP中的C語言API、Python綁定、Perl綁定進行代理端和管理端軟件開發的方法,包括利用3種語言開發4種不同的應用。由於開發模式和語言固定,這裏介紹的都是可直接復用的框架。
高級篇(第12~15章) 是實戰篇的延續和升華,主要內容包括:重構優化代理開發框架,實現高效開發和輕維護;子代理和動態加載模式,實現分布式監控;測試調試Net-SNMP的方法,GDB等工具調試網絡協議的技巧。
書中涉及大量的Linux軟件開發技術和多種開發語言的項目實踐,這些同樣值得學習。
??
張春強,國內頂尖Net-SNMP專傢,從事Linux開發多年。現就職於世界500強企業,擔任高級軟件工程師一職,曾就職於中興通訊。有多款網絡協議應用軟件開發經驗,在中興通訊深圳研發中心工作期間,擔任Linux軟件開發工程師,參與過基站電源網絡監控係統的研發,該係統部署在全球中興基站設備中,用於保障持續可靠的電信服務。精通Linux網絡編程技術,實踐經驗豐富。
前 言
第一部分 基礎篇
第1章 網絡管理 2
1.1 網絡管理 2
1.1.1 網絡管理的需求 3
1.1.2 網絡管理標準 4
1.2 網絡管理框架 6
1.2.1 網絡管理模型 6
1.2.2 網絡管理模式與技術 9
1.2.3 網絡管理功能 11
1.3 簡單網絡管理協議 13
1.3.1 SNMP的發展曆史 14
1.3.2 SNMP的框架組成 15
1.3.3 SNMP的功能 17
1.3.4 實現版本 22
1.4 小結 24
第2章 抽象語法標記 26
2.1 ASN.1概述 26
2.2 BNF基礎 28
2.3 ASN.1基礎 30
2.3.1 ASN.1的基礎符號 30
2.3.2 定義方法 33
2.4 ASN.1標簽類 34
2.5 數據類型 35
2.5.1 簡單數據類型 36
2.5.2 構造數據類型 39
2.5.3 其他類型 40
2.5.4 子類型 40
2.5.5 標簽類型定義 41
2.6 模塊定義 42
2.7 宏定義 43
2.8 例子 44
2.9 小結 46
第3章 管理信息結構SMI 47
3.1 SMI概述 47
3.2 組織結構 48
3.2.1 OID樹 49
3.2.2 節點信息 50
3.3 數據類型 51
3.3.1 基礎數據類型 51
3.3.2 自定義數據類型 52
3.3.3 子類型 53
3.4 宏 55
3.4.1 OBJECT-TYPE 55
3.4.2 TRAP 58
3.4.3 MODULE-IDENTITY 60
3.4.4 OBJECT-IDENTITY 61
3.4.5 一緻性陳述 61
3.4.6 文本約定 64
3.5 小結 68
第4章 管理信息庫MIB 70
4.1 MIB概述 70
4.2 標準MIB簡介 72
4.3 MIB結構 75
4.4 MIB中的管理對象 76
4.4.1 標量和錶格對象 77
4.4.2 TRAP定義 81
4.5 MIB的編寫方法 82
4.5.1 編寫建議 83
4.5.2 MIB的編寫和編譯工具 86
4.5.3 常見錯誤 91
4.6 小結 93
第5章 BER傳輸編碼 95
5.1 BER概述 96
5.2 BER詳解 97
5.2.1 Tag編碼 97
5.2.2 長度編碼 99
5.2.3 值編碼 100
5.3 實例分析 103
5.3.1 報文解析 103
5.3.2 抓包示例 106
5.4 小結 108
第6章 Net-SNMP基礎 110
6.1 Net-SNMP概述 110
6.1.1 Net-SNMP的由來 111
6.1.2 Net-SNMP的特點 112
6.1.3 Net-SNMP重要組件 114
6.2 Net-SNMP安全模型 114
6.2.1 USM 115
6.2.2 VACM 115
6.2.3 TSM 116
6.2.4 基於SSH的安全傳輸機製 117
6.2.5 如何選擇安全機製 117
6.3 命令工具集 118
6.3.1 協議操作工具 120
6.3.2 信息收集與查看工具 125
6.3.3 配置工具 129
6.3.4 權限配置工具 131
6.3.5 mib2c代碼生成工具 135
6.4 開發模式 138
6.4.1 開發語言 139
6.4.2 開發模式 139
6.4.3 選擇開發模式 140
6.5 小結 141
第二部分 實戰篇
第7章 使用Net-SNMP監測係統 144
7.1 係統搭建 145
7.1.1 conf?igure詳解 146
7.1.2 編譯安裝 151
7.2 配置文件詳解 153
7.2.1 snmpd.conf詳解 154
7.2.2 snmp.conf詳解 170
7.2.3 snmptrapd.conf詳解 172
7.3 企業級係統監測案例 175
7.3.1 係統監測需求 176
7.3.2 監測方案 177
7.3.3 工具簡介與配置 179
7.3.4 Net-SNMP監測示例 183
7.3.5 係統集成 193
7.4 小結 200
第8章 管理端應用開發 202
8.1 開發方法與流程 202
8.1.1 通信流程 203
8.1.2 主要的數據結構 204
8.1.3 主要的API 208
8.1.4 程序示例 213
8.1.5 同步與異步 218
8.2 管理端應用開發需求與方案 219
8.3 鏈錶模塊 222
8.4 輔助模塊 223
8.5 主程序實現 224
8.5.1 程序框架 224
8.5.2 設計與開發 225
8.5.3 代碼清單 228
8.5.4 編譯與運行 245
8.6 完善與優化 249
8.6.1 實現守護進程 249
8.6.2 數據保存 251
8.6.3 綁定多個OID 251
8.6.4 讀取MIB文件 251
8.7 小結 252
第9章 SNMP代理開發實戰 253
9.1 SNMP代理開發流程與方法 254
9.2 mib2c生成代碼框架詳解 256
9.2.1 標量代碼框架 256
9.2.2 錶格代碼框架iterate 269
9.2.3 Trap/Information框架 275
9.3 代理開發需求與方案 277
9.3.1 開發需求 278
9.3.2 實現方案 279
9.4 開發MIB 281
9.5 進程間通信之共享內存 282
9.5.1 數據模型 282
9.5.2 共享內存編程實踐 284
9.5.3 通信接口 287
9.6 模擬業務進程 292
9.7 代理程序實現 293
9.7.1 參數類數據實現 293
9.7.2 實時類數據實現 295
9.7.3 Trap實現 299
9.7.4 配置與編譯 302
9.8 集成測試 303
9.8.1 實時數據測試 304
9.8.2 參數數據測試 304
9.8.3 告警數據測試 305
9.9 優化與完善 306
9.9.1 數據字典的優化 306
9.9.2 告警完善 306
9.9.3 共享內存接口的優化 307
9.9.4 框架優化 307
9.9.5 雙索引實現方法 307
9.10 小結 308
第10章 使用Python開發SNMP應用程序 309
10.1 Python開發SNMP應用程序介紹 310
10.1.1 Python簡介 310
10.1.2 Python模塊簡介 311
10.1.3 安裝模塊 311
10.2 Python模塊中重要的類 312
10.2.1 變量綁定 312
10.2.2 會話類 314
10.3 API使用介紹 315
10.4 實戰—Python版本的NMS 317
10.4.1 query模塊 317
10.4.2 nmsapp主模塊 318
10.4.3 運行情況 322
10.5 小結 323
第11章 使用Perl開發SNMP應用程序 324
11.1 Perl開發SNMP應用程序介紹 324
11.1.1 Perl簡介 325
11.1.2 Perl模塊簡介 325
11.1.3 安裝模塊 327
11.2 Perl模塊功能詳解 328
11.2.1 NetSNMP::ASN 328
11.2.2 NetSNMP::OID 329
11.2.3 AnyData::SNMP 330
11.2.4 NetSNMP::agent 330
11.2.5 SNMP 332
11.3 管理端應用框架 336
11.4 代理框架 337
11.5 實戰—監控MySQL 339
11.5.1 MySQL信息查看:SHOW GLOBAL STATUS 340
11.5.2 自動生成MIB 341
11.5.3 代理實現 342
11.5.4 運行情況 348
11.6 小結 348
第三部分 高級篇
第12章 代理的重構與優化 352
12.1 為什麼要重構 353
12.1.1 迴顧代理開發的艱辛 353
12.1.2 維護代理的漫漫長路 354
12.2 代理重構簡述 356
12.3 重構代理模闆框架 358
12.3.1 分析代碼框架 358
12.3.2 old-api框架重構實例 360
12.3.3 iterate框架重構方嚮 368
12.4 代理免維護思路 370
12.4.1 MIB自動化 370
12.4.2 深處探究 371
12.5 小結 373
第13章 mib2c晉級之自定義代碼框架 374
13.1 mib2c配置文件語法 375
13.1.1 從例子開始 375
13.1.2 指令 376
13.1.3 變量 378
13.1.4 子程序 380
13.2 配置文件分析示例 380
13.2.1 生成h文件 381
13.2.2 生成c文件 382
13.3 定製配置文件實例—自定義代碼框架 383
13.3.1 定製h文件配置文件 384
13.3.2 定製c文件配置文件 386
13.3.3 集成 388
13.4 小結 389
第14章 Net-SNMP代理開發高級技術集錦 390
14.1 代理高級功能 391
14.1.1 動態錶 391
14.1.2 上下文 392
14.1.3 持久數據 395
14.1.4 數據同步 398
14.2 子代理 399
14.2.1 配置AgentX 401
14.2.2 開發子代理示例 402
14.2.3 編譯與運行 404
14.2.4 分布式監控示例 405
14.3 動態加載模式 406
14.3.1 加載共享對象 407
14.3.2 開發共享對象示例 408
14.3.3 編譯與運行 409
14.4 小結 409
第15章 代理測試與調試 410
15.1 代理測試方法與技術 411
15.1.1 使用MG Soft MIBbrowser測試 412
15.1.2 使用iReasoning測試 414
15.1.3 編寫腳本測試 415
15.2 程序調試方法概述 416
15.3 Net-SNMP原生調試方法 417
15.3.1 token調試機製 417
15.3.2 日誌 419
15.3.3 打印原始數據報 420
15.4 GDB調試方法與技術 421
15.4.1 調試前的準備 422
15.4.2 調試過程與指令 423
15.4.3 GDB腳本調試技術 432
15.5 輔助調試工具介紹 435
15.5.1 tcpdump 435
15.5.2 nm 438
15.5.3 objdump 441
15.5.4 strace 442
15.6 小結 446
為什麼要寫這本書前些年,我所在的項目組開發瞭一款嵌入式産品,與國內外同類産品相比,我們的産品支持SNMP(Simple Network Management Protocol,簡單網絡管理協議),可對係統進行監控、管理,發現問題時會主動告警,這是我們産品的一大賣點,同時也是一個亮點。
為瞭在挑剔的運營商中取得競爭優勢,在項目正式開始之前項目組就確定瞭一個目標——必須實現SNMP功能!但是這時卻齣現瞭這樣的場景:
“你會SNMP嗎?”
“不會……”
“你呢?”
“沒做過……”
項目組所有人員在迴答會不會SNMP時都沒有瞭工科人對技術的自信!在亞馬遜等站點搜索相關的圖書後,更是沒有瞭底氣,因為這方麵的資料如此之少,而需求又如此迫切!於是我決定自學SNMP和與SNMP開發相關的內容。
SNMP是基於TCP/IP網絡技術的網絡管理協議,於1988年發布瞭第一份RFC文檔,之後逐漸發展和完善,並成為Internet協議簇的一部分。Net-SNMP則是SNMP的開源實現。它的前身是卡內基梅隆大學的CMU-SNMP,在1995年重命名為UCD-SNMP,於2000年再次更名為Net-SNMP並一直沿用至今。我們知道,SNMP有著“簡單”的本質,而Net-SNMP則具有完善的功能和良好的特性,同時它還可以集成到一些大型免費或開源的監控類軟件(如Nagois、Zabbix、OpenNMS)中配閤使用,所以不論從常規的係統指標(如CPU、內存、磁盤、網絡、硬件),還是諸如日誌、自開發設備的監控量,Net-SNMP都可以幫到大傢,從而使得Net-SNMP幾乎成為所有的類UNIX發行版本中SNMP的標準實現。這正是項目組采用Net-SNMP實現SNMP監控需求的主要原因。國內外大量的網絡設備(如路由器、交換機)都支持SNMP協議,並作為一項標配。不論是監控嵌入式設備還是復雜的集群係統,有著天然分布式特性的Net-SNMP都是非常好的選擇。如今,移動終端智能設備大行其道,或許在不久的將來,你可以在移動終端上通過Net-SNMP實現對周圍設備的監控和管理。
Net-SNMP還在不斷發展,基於Net-SNMP的開源庫日益火熱、支持的API種類日益眾多,已逐漸發展齣瞭像LuaSNMP這樣獨立開發的方式,支持或配閤使用C/C++、Shell、Perl、Python等語言的開發模式;既支持代理端開發、管理端開發,也支持Trap開發。再看看開源社區計劃中的“To Do list”功能項,真讓人激動不已!Net-SNMP作為早期的開源項目之一,其中的軟件編碼技術、Linux係統構建技術都是開源中的典範,值得每一位軟件工程師學習,因為它們永遠也不過時。
盡管SNMP名為“簡單”(的)網絡管理協議,但涉及的網絡知識體係龐大、條目眾多,學習麯綫陡峭,所以想在此基礎上進行有針對性地開發,那是難上加難!關於SNMP雖然有大量的RFC文檔,國內也有相關的書籍,但是專門介紹Net-SNMP開發和實踐的書籍卻沒有。另外,隨著Net-SNMP開源社區的不斷發展,關於Net-SNMP的內容也日益豐富,以英語為母語的地區尚且有相關的書籍問世,而國內卻少有相關的中文資料。於是我想,為什麼我不把這些年的知識和經驗分享給讀者呢?這樣就可以讓讀者不用再去網絡汪洋中搜尋那些繁雜零碎的蛛絲馬跡,不用再啃硬骨頭。我希望這本書能幫助每個渴望學習和自我提升的相關人員都獲得知識,取得進步!
當然,除瞭上麵“冠冕堂皇”的理由,我還存有“私心”。早在讀研期間,我就有將所做的項目寫成一本書的想法,如今一晃畢業好幾年瞭,雖說不上壯誌未酬,但一直有一點星星之火。想到“有些事現在不做或許以後就再也沒有機緣瞭”,於是寫書的工作就這樣開始瞭。
本書特色本書是首部從實戰的角度講解Net-SNMP開發的書籍。本書從網絡管理概念開始,到MIB的開發設計,最後到使用Net-SNMP開發網絡管理應用,實現瞭由網絡管理理論到實踐的落地。它有以下幾個特點:
書中內容由項目而生,以一綫開發工程師的視角和言語展開。
注重實戰。實戰篇和高級篇的每章幾乎都有完整的示例代碼,部分是項目簡化後的代碼,參考意義非常大。
提供瞭傳統IT企業軟件開發項目的實踐方法、流程以及相關開發技術,經驗總結。
完整的監控軟件的開發鏈,包括代理端和管理端軟件的開發。
讀者對象本書覆蓋瞭基於Net-SNMP開發監控軟件所需要的SNMP、Net-SNMP、Linux係統及編程相關內容,所以本書可以幫到下列人員:
基於Net-SNMP開發監控類軟件的讀者。
希望瞭解、掌握SNMP協議及其開源技術的讀者。
對係統監控、網絡監控感興趣的讀者(包括係統管理員)。
Linux C/C++(網絡)軟件開發人員。
大專院校計算機相關專業的學生。
如何閱讀本書本書分為三大部分:
第一部分為基礎篇(第1章~第6章)。
第1章從網絡管理概念和曆史講起,目的是讓讀者對網絡管理、SNMP以及Net-SNMP有個整體的瞭解,這樣有助於讀者對後續章節的理解,建議通讀。
第2章~第4章詳細講述瞭與MIB關聯密切的SNMP框架的幾大基礎組件,包括MIB的語法基礎ASN.1、管理信息結構SMI和管理信息庫MIB。基於Net-SNMP開發網絡管理程序需要對SNMP協議和SNMP軟件的開發流程有一定的瞭解,比如開發網絡管理代理的首要任務是設計和編寫MIB。如果讀者不熟悉這些內容,建議認真閱讀。
第5章講述瞭SNMP協議的傳輸編碼以及如何抓取和分析SNMP數據包,這對深入理解SNMP協議和SNMP軟件的底層調試大有裨益。
第6章過渡到瞭Net-SNMP的詳細介紹,重點講述瞭工具集的使用方法、自動生成代碼框架的方法以及基於Net-SNMP的開發模式。讀者可以將這一章前麵部分的內容看成是工具集的參考手冊。
基礎篇是我們是邁入實戰篇的基礎,它幾乎覆蓋瞭開發SNMP應用程序的所有內容。這些內容屬於SNMP協議範疇,但又不能完全涵蓋SNMP協議,如果讀者需要全麵瞭解SNMP協議,則還需要閱讀相關的文獻。不過基礎篇的內容已經足以讓讀者應對基於Net-SNMP進行應用程序開發。如果你已經擁有相關的知識儲備可以直接進入到實戰篇和高級篇。
第二部分為實戰篇(第7章~第11章),是本書的重點。
第7章詳細介紹瞭Net-SNMP中豐富而復雜的配置選項,包括如何移植到嵌入式係統的相關配置和方法;搭建瞭基於Net-SNMP、Cacti、MySQL、Apache等相關開源軟件的企業級係統監控平颱,前端以Web圖形展示。
第8章介紹瞭Net-SNMP基礎庫中的API,並基於此使用C語言實現瞭可靈活配置的、簡易的網管後颱程序,在SNMP的術語裏我們把它稱為NMS(Network Management System,網絡管理係統)。
第9章介紹瞭Net-SNMP代理庫中的API和Net-SNMP代理框架,並基於此使用C語言實現瞭監控操作係統中其他進程的代理程序snmpd(包含Net-SNMP中默認的MIB)。在SNMP的術語裏我們把它稱為Agent(代理)。這一章完整地呈現瞭從MIB設計開發到Agent實現的流程和方法。
第10章介紹瞭Net-SNMP中的Python綁定,基於其API,使用Python語言開發瞭一款同第8章介紹的程序功能類似的網管程序。
第11章介紹瞭Net-SNMP中的Perl綁定,基於其API,使用Perl語言開發瞭一款監控MySQL數據庫的管理軟件。
本書不涉及Python和Perl基礎知識,這部分內容需要讀者自行學習。實戰篇各個章節,除瞭要求先掌握第7章的Net-SNMP的安裝和配置外,其他幾個章節沒有明顯的前後依賴關係,讀者可以有選擇性地閱讀。實戰篇的內容都以工程項目為背景,提供瞭對應監控需求的整套方案、架構以及實現方法。這些案例都在Linux係統下開發,都比較重量級!其中涉及的內容不僅包括Net-SNMP相關的知識還包括其他的開發技術、軟件、係統的集成。相對於基礎篇來說,對讀者的要求更高。建議讀者學習並掌握相關的內容。
另外,實戰篇按照傳統IT企業軟件項目的開發流程講述,力求順應軟件開發人員的思維,同時為瞭適閤書寫要求,筆者提取瞭真實項目中核心的內容,簡化或轉化到適閤講解和呈現的程度。對那些簡化的或轉化後顯得更“笨拙”的解決方法,且需要在項目中考慮和實現的內容,則在章節末尾以“優化、思考”的方式提醒讀者,因為這些內容已經不是本書覆蓋得到的!
第三部分為高級篇(第12章~第15章),是實戰篇的延續。
第12章承接第9章的內容,首先講述如何維護代理,並由此推演到重構和優化代理的必要性,最後給齣瞭方案和具體的代碼實現。比較有意思的是,本章還提及瞭代理免維護的思路和方案。應對變化最好的辦法是將不變的固定而將變化的抽取齣來,這可以通過代碼框架的固定和配置文件的方式來實現。在這種思路下我們隻需要開發代理一次,就能適應後續的需求變化,建議讀者多多思考本章的思路,並自行實踐。
第13章介紹瞭Net-SNMP中的mib2c代理(代碼)框架生成工具的編程語法,並在第12章重構後的代碼的基礎上編寫瞭代碼框架的配置文件。基於此配置文件可以實現自動生成第12章的代碼,免去繁重的代碼編寫工作!如果讀者覺得自動生成代碼是件高大上的事,就如同當年的我一樣,那麼你應該認真地讀完本章!
第14章講述瞭Net-SNMP中的高級開發技巧,包括一些實用的API、子代理模式開發代理、動態加載模式開發代理,同時對每個知識點都給齣瞭應用示例。其中,子代理和動態加載模式是Net-SNMP實現更為靈活的監控和分布式監控的有效手段。建議讀者讀完本章並在實際項目中使用。
第15章講述瞭Net-SNMP的測試和調試方法,這些方法能服務於實戰篇和高級篇中程序的測試和調試。這一章用瞭較大篇幅講述GDB及Linux網絡程序的調試方法和技巧,內容都是“乾貨”。它們是Linux下通用的調試手段,而不僅僅是調試Net-SNMP相關的程序,建議讀者通讀。
以上是本書各個章節的安排情況和寫作思路,希望有助於讀者閱讀。
勘誤和支持由於水平有限,編寫時間倉促,書中難免會齣現一些錯誤或者不準確的地方,懇請讀者批評指正,為此,我特意創建一個QQ行業交流群:203127943,歡迎大傢加入。你可以將書中的錯誤和問題反饋給我,我將盡量在綫上為你提供最滿意的解答。書中的全部源文件除可以從華章網站下載外,還可以從Github網站下載,地址為https://github.com/chansonZ/Understanding-the-Net-SNMP,項目代碼分彆放在對應章節的目錄中。我也會將相應的更新及時發布齣來。如果你有更多的寶貴意見,也歡迎發送郵件至郵箱xtdwxk@gmail.com,期待能夠得到你的真摯反饋。
緻謝首先要感謝創建並提供Net-SNMP源碼的教育機構、世界各地開發和維護人員,以及負責這一開源項目的Wes Hardaker先生。同時感謝Wes在百忙之中迴信給我,他不僅為我提供瞭資料還寫下瞭他與Net-SNMP的緣分和項目曆史。
感謝每一位幫助過我的老師、同事和領導,是他們讓我有瞭學習和總結的機會。書中的知識都來自於他們的幫助和營造的氛圍。也感謝華章作者群的大咖和周圍的朋友們,他們有時不經意說齣的一句話,或隨手轉發的一篇文章都讓我受益匪淺。
感謝《微信公眾平颱應用開發實戰》的作者鍾誌勇,因為他的引薦,本書纔有機會齣版。同時感謝參與本書審閱的朋友們:鍾誌勇、徐鑫鑫、白良浩、鄭坤。他們的批改細緻而嚴謹!
感謝機械工業齣版社華章公司的編輯楊福川和孫海亮老師,在這一年多的時間中是他們始終支持我的寫作,他們的鼓勵和幫助引導我能順利完成全部書稿。
最後感謝我的爸爸、媽媽和姐姐在艱苦環境下將我培養成人,並時時刻刻為我灌輸愛的力量!感謝哈爾濱、深圳兩地教授我太極拳的老師們,他們鼓勵我鍛煉,使我增強瞭體質,這也是一年裏支撐我寫作到午夜的基礎,尤其感謝唐老師和吳老師對我的關心!也要感謝我未來的女朋友,她沒有在這一年齣現,讓我有時間寫作,否則我肯定會拿齣不少時間陪她聊天。
謹以此書獻給我最親愛的傢人和朋友,以及正在為自我實現而奮鬥的、充滿朝氣的IT工程師們!
張春強
刚看完第一章,后面再来追加评论吧
评分研发采购,还好
评分好书!!!**
评分不错好评。。。。。。。。。。。。。。。
评分顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
评分准备开发SNMP,买来学习一下
评分还来不及看 内容和其它介绍snmp的应该差不多
评分盼了好久,终于降价买到手了,印刷不错,值
评分不错好评。。。。。。。。。。。。。。。
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有