深入理解Net-SNMP epub pdf mobi txt 電子書 下載 2024
發表於2024-11-22
深入理解Net-SNMP epub pdf mobi txt 電子書 下載 2024
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係統構建技術都是開源中的典範,值得每一位軟件工程師學習,因為它們永遠也不過時。
盡管
深入理解Net-SNMP epub pdf mobi txt 電子書 下載 2024
深入理解Net-SNMP 下載 epub mobi pdf txt 電子書深入理解Net-SNMP mobi pdf epub txt 電子書 下載 2024
深入理解Net-SNMP epub pdf mobi txt 電子書 下載頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂
評分書不錯值得看
評分不錯好評。。。。。。。。。。。。。。。
評分先贊一下,等我看完再評。
評分快遞員辛苦
評分這本書 脫離實踐 不容易上手 買後悔瞭
評分圖書館采購的圖書,精選圖書,期待內容。
評分講的比較抽象....幫助並不是很大
評分最近工作中用到,對瞭解SNMP很有幫助
深入理解Net-SNMP epub pdf mobi txt 電子書 下載 2024