登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』深入理解Net-SNMP

書城自編碼: 2641178
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 张春强 著
國際書號(ISBN): 9787111509813
出版社: 机械工业出版社
出版日期: 2015-08-01
版次: 1 印次: 1
頁數/字數: 446/380
書度/開本: 16开 釘裝: 平装

售價:NT$ 739

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
别害怕吵架:教孩子在冲突中学会正向沟通
《 别害怕吵架:教孩子在冲突中学会正向沟通 》

售價:NT$ 274.0
这个甜甜圈不能卖:奇思妙想爆笑绘本(全2册)
《 这个甜甜圈不能卖:奇思妙想爆笑绘本(全2册) 》

售價:NT$ 447.0
生活中的民法典实用全书:应知应懂的法律常识
《 生活中的民法典实用全书:应知应懂的法律常识 》

售價:NT$ 498.0
饲渊
《 饲渊 》

售價:NT$ 223.0
现金为王:把利润留下来,把成本降下去
《 现金为王:把利润留下来,把成本降下去 》

售價:NT$ 386.0
经纬度丛书·巴勒斯坦人的故事:流亡者的悲情、绝望与抗争
《 经纬度丛书·巴勒斯坦人的故事:流亡者的悲情、绝望与抗争 》

售價:NT$ 493.0
改变世界的哲学家们
《 改变世界的哲学家们 》

售價:NT$ 493.0
将军
《 将军 》

售價:NT$ 269.0

建議一齊購買:

+

NT$ 960
《 Visual Basic开发实例大全(提高卷) 》
+

NT$ 911
《 C#入门经典(第6版) 》
+

NT$ 735
《 高阶Perl(Perl全球社区公认经典著作,Perl核心贡献者数十年工作经验结晶,Perl 6设计者之一Conway亲自作序推荐) 》
+

NT$ 649
《 HTML5+CSS3从入门到精通(配套视频227节,中小实例225个,实战案例31个,参考手册11部,网页模版83类)(附1DVD) 》
+

NT$ 656
《 深入PHP:面向对象、模式与实践(第3版) 》
內容簡介:
全书一共15章,分为3个部分:基础篇(第1~6章)介绍了网络管理框架、简单网络管理协议、抽象语法标记、管理信息结构、管理信息库、传输编码,以及NetSNMP的概念、特点、工具集、mib2c、安全机制、TRAPs、支持的开发模式;实战篇(第7~11章)详细讲解了NetSNMP的功能和使用、管理端的应用开发,以及2个综合性的案例;高级篇(第12~15章)讲解了代码的重构与优化、测试与调试、免维护的思路等。
目錄
前 言
第一部分 基础篇
第1章 网络管理
1.1 网络管理
1.1.1 网络管理的需求
1.1.2 网络管理标准
1.2 网络管理框架
1.2.1 网络管理模型
1.2.2 网络管理模式与技术
1.2.3 网络管理功能
1.3 简单网络管理协议
1.3.1 SNMP的发展历史
1.3.2 SNMP的框架组成
1.3.3 SNMP的功能
1.3.4 实现版本
1.4 小结
第2章 抽象语法标记
2.1 ASN.1概述
2.2 BNF基础
2.3 ASN.1基础
2.3.1 ASN.1的基础符号
2.3.2 定义方法
2.4 ASN.1标签类
2.5 数据类型
2.5.1 简单数据类型
2.5.2 构造数据类型
2.5.3 其他类型
2.5.4 子类型
2.5.5 标签类型定义
2.6 模块定义
2.7 宏定义
2.8 例子
2.9 小结
第3章 管理信息结构SMI
3.1 SMI概述
3.2 组织结构
3.2.1 OID树
3.2.2 节点信息
3.3 数据类型
3.3.1 基础数据类型
3.3.2 自定义数据类型
3.3.3 子类型
3.4 宏
3.4.1 OBJECTTYPE
3.4.2 TRAP
3.4.3 MODULEIDENTITY
3.4.4 OBJECTIDENTITY
3.4.5 一致性陈述
3.4.6 文本约定
3.5 小结
第4章 管理信息库MIB
4.1 MIB概述
4.2 标准MIB简介
4.3 MIB结构
4.4 MIB中的管理对象
4.4.1 标量和表格对象
4.4.2 TRAP定义
4.5 MIB的编写方法
4.5.1 编写建议
4.5.2 MIB的编写和编译工具
4.5.3 常见错误
4.6 小结
第5章 BER传输编码
5.1 BER概述
5.2 BER详解
5.2.1 Tag编码
5.2.2 长度编码
5.2.3 值编码
5.3 实例分析
5.3.1 报文解析
5.3.2 抓包示例
5.4 小结
第6章 NetSNMP基础
6.1 NetSNMP概述
6.1.1 NetSNMP的由来
6.1.2 NetSNMP的特点
6.1.3 NetSNMP重要组件
6.2 NetSNMP安全模型
6.2.1 USM
6.2.2 VACM
6.2.3 TSM
6.2.4 基于SSH的安全传输机制
6.2.5 如何选择安全机制
6.3 命令工具集
6.3.1 协议操作工具
6.3.2 信息收集与查看工具
6.3.3 配置工具
6.3.4 权限配置工具
6.3.5 mib2c代码生成工具
6.4 开发模式
6.4.1 开发语言
6.4.2 开发模式
6.4.3 选择开发模式
6.5 小结
第二部分 实战篇
第7章 使用NetSNMP监测系统
7.1 系统搭建
7.1.1 conf?igure详解
7.1.2 编译安装
7.2 配置文件详解
7.2.1 snmpd.conf详解
7.2.2 snmp.conf详解
7.2.3 snmptrapd.conf详解
7.3 企业级系统监测案例
7.3.1 系统监测需求
7.3.2 监测方案
7.3.3 工具简介与配置
7.3.4 NetSNMP监测示例
7.3.5 系统集成
7.4 小结
第8章 管理端应用开发
8.1 开发方法与流程
8.1.1 通信流程
8.1.2 主要的数据结构
8.1.3 主要的API
8.1.4 程序示例
8.1.5 同步与异步
8.2 管理端应用开发需求与方案
8.3 链表模块
8.4 辅助模块
8.5 主程序实现
8.5.1 程序框架
8.5.2 设计与开发
8.5.3 代码清单
8.5.4 编译与运行
8.6 完善与优化
8.6.1 实现守护进程
8.6.2 数据保存
8.6.3 绑定多个OID
8.6.4 读取MIB文件
8.7 小结
第9章 SNMP代理开发实战
9.1 SNMP代理开发流程与方法
9.2 mib2c生成代码框架详解
9.2.1 标量代码框架
9.2.2 表格代码框架iterate
9.2.3 TrapInformation框架
9.3 代理开发需求与方案
9.3.1 开发需求
9.3.2 实现方案
9.4 开发MIB
9.5 进程间通信之共享内存
9.5.1 数据模型
9.5.2 共享内存编程实践
9.5.3 通信接口
9.6 模拟业务进程
9.7 代理程序实现
9.7.1 参数类数据实现
9.7.2 实时类数据实现
9.7.3 Trap实现
9.7.4 配置与编译
9.8 集成测试
9.8.1 实时数据测试
9.8.2 参数数据测试
9.8.3 告警数据测试
9.9 优化与完善
9.9.1 数据字典的优化
9.9.2 告警完善
9.9.3 共享内存接口的优化
9.9.4 框架优化
9.9.5 双索引实现方法
9.10 小结
第10章 使用Python开发SNMP应用程序
10.1 Python开发SNMP应用程序介绍
10.1.1 Python简介
10.1.2 Python模块简介
10.1.3 安装模块
10.2 Python模块中重要的类
10.2.1 变量绑定
10.2.2 会话类
10.3 API使用介绍
10.4 实战—Python版本的NMS
10.4.1 query模块
10.4.2 nmsapp主模块
10.4.3 运行情况
10.5 小结
第11章 使用Perl开发SNMP应用程序
11.1 Perl开发SNMP应用程序介绍
11.1.1 Perl简介
11.1.2 Perl模块简介
11.1.3 安装模块
11.2 Perl模块功能详解
11.2.1 NetSNMP::ASN
11.2.2 NetSNMP::OID
11.2.3 AnyData::SNMP
11.2.4 NetSNMP::agent
11.2.5 SNMP
11.3 管理端应用框架
11.4 代理框架
11.5 实战—监控MySQL
11.5.1 MySQL信息查看:SHOW GLOBAL STATUS
11.5.2 自动生成MIB
11.5.3 代理实现
11.5.4 运行情况
11.6 小结
第三部分 高级篇
第12章 代理的重构与优化
12.1 为什么要重构
12.1.1 回顾代理开发的艰辛
12.1.2 维护代理的漫漫长路
12.2 代理重构简述
12.3 重构代理模板框架
12.3.1 分析代码框架
12.3.2 oldapi框架重构实例
12.3.3 iterate框架重构方向
12.4 代理免维护思路
12.4.1 MIB自动化
12.4.2 深处探究
12.5 小结
第13章 mib2c晋级之自定义代码框架
13.1 mib2c配置文件语法
13.1.1 从例子开始
13.1.2 指令
13.1.3 变量
13.1.4 子程序
13.2 配置文件分析示例
13.2.1 生成h文件
13.2.2 生成c文件
13.3 定制配置文件实例—自定义代码框架
13.3.1 定制h文件配置文件
13.3.2 定制c文件配置文件
13.3.3 集成
13.4 小结
第14章 NetSNMP代理开发高级技术集锦
14.1 代理高级功能
14.1.1 动态表
14.1.2 上下文
14.1.3 持久数据
14.1.4 数据同步
14.2 子代理
14.2.1 配置AgentX
14.2.2 开发子代理示例
14.2.3 编译与运行
14.2.4 分布式监控示例
14.3 动态加载模式
14.3.1 加载共享对象
14.3.2 开发共享对象示例
14.3.3 编译与运行
14.4 小结
第15章 代理测试与调试
15.1 代理测试方法与技术
15.1.1 使用MG Soft MIBbrowser测试
15.1.2 使用iReasoning测试
15.1.3 编写脚本测试
15.2 程序调试方法概述
15.3 NetSNMP原生调试方法
15.3.1 token调试机制
15.3.2 日志
15.3.3 打印原始数据报
15.4 GDB调试方法与技术
15.4.1 调试前的准备
15.4.2 调试过程与指令
15.4.3 GDB脚本调试技术
15.5 辅助调试工具介绍
15.5.1 tcpdump
15.5.2 nm
15.5.3 objdump
15.5.4 strace
15.6 小结
內容試閱
Preface前 言为什么要写这本书前些年,我所在的项目组开发了一款嵌入式产品,与国内外同类产品相比,我们的产品支持SNMP(Simple Network Management Protocol,简单网络管理协议),可对系统进行监控、管理,发现问题时会主动告警,这是我们产品的一大卖点,同时也是一个亮点。
为了在挑剔的运营商中取得竞争优势,在项目正式开始之前项目组就确定了一个目标——必须实现SNMP功能!但是这时却出现了这样的场景:
“你会SNMP吗?”
“不会……”
“你呢?”
“没做过……”
项目组所有人员在回答会不会SNMP时都没有了工科人对技术的自信!在亚马逊等站点搜索相关的图书后,更是没有了底气,因为这方面的资料如此之少,而需求又如此迫切!于是我决定自学SNMP和与SNMP开发相关的内容。
SNMP是基于TCPIP网络技术的网络管理协议,于1988年发布了**份RFC文档,之后逐渐发展和完善,并成为Internet协议簇的一部分。NetSNMP则是SNMP的开源实现。它的前身是卡内基梅隆大学的CMUSNMP,在1995年重命名为UCDSNMP,于2000年再次更名为NetSNMP并一直沿用至今。我们知道,SNMP有着“简单”的本质,而NetSNMP则具有完善的功能和良好的特性,同时它还可以集成到一些大型免费或开源的监控类软件(如Nagois、Zabbix、OpenNMS)中配合使用,所以不论从常规的系统指标(如CPU、内存、磁盘、网络、硬件),还是诸如日志、自开发设备的监控量,NetSNMP都可以帮到大家,从而使得NetSNMP几乎成为所有的类UNIX发行版本中SNMP的标准实现。这正是项目组采用NetSNMP实现SNMP监控需求的主要原因。国内外大量的网络设备(如路由器、交换机)都支持SNMP协议,并作为一项标配。不论是监控嵌入式设备还是复杂的集群系统,有着天然分布式特性的NetSNMP都是非常好的选择。如今,移动终端智能设备大行其道,或许在不久的将来,你可以在移动终端上通过NetSNMP实现对周围设备的监控和管理。
NetSNMP还在不断发展,基于NetSNMP的开源库日益火热、支持的API种类日益众多,已逐渐发展出了像LuaSNMP这样独立开发的方式,支持或配合使用CC++、Shell、Perl、Python等语言的开发模式;既支持代理端开发、管理端开发,也支持Trap开发。再看看开源社区计划中的“To Do list”功能项,真让人激动不已!NetSNMP作为早期的开源项目之一,其中的软件编码技术、Linux系统构建技术都是开源中的典范,值得每一位软件工程师学习,因为它们永远也不过时。
尽管SNMP名为“简单”(的)网络管理协议,但涉及的网络知识体系庞大、条目众多,学习曲线陡峭,所以想在此基础上进行有针对性地开发,那是难上加难!关于SNMP虽然有大量的RFC文档,国内也有相关的书籍,但是专门介绍NetSNMP开发和实践的书籍却没有。另外,随着NetSNMP开源社区的不断发展,关于NetSNMP的内容也日益丰富,以英语为母语的地区尚且有相关的书籍问世,而国内却少有相关的中文资料。于是我想,为什么我不把这些年的知识和经验分享给读者呢?这样就可以让读者不用再去网络汪洋中搜寻那些繁杂零碎的蛛丝马迹,不用再啃硬骨头。我希望这本书能帮助每个渴望学习和自我提升的相关人员都获得知识,取得进步!
当然,除了上面“冠冕堂皇”的理由,我还存有“私心”。早在读研期间,我就有将所做的项目写成一本书的想法,如今一晃毕业好几年了,虽说不上壮志未酬,但一直有一点星星之火。想到“有些事现在不做或许以后就再也没有机缘了”,于是写书的工作就这样开始了。
本书特色本书是首部从实战的角度讲解NetSNMP开发的书籍。本书从网络管理概念开始,到MIB的开发设计,*后到使用NetSNMP开发网络管理应用,实现了由网络管理理论到实践的落地。它有以下几个特点:
书中内容由项目而生,以一线开发工程师的视角和言语展开。
注重实战。实战篇和高级篇的每章几乎都有完整的示例代码,部分是项目简化后的代码,参考意义非常大。
提供了传统IT企业软件开发项目的实践方法、流程以及相关开发技术,经验总结。
完整的监控软件的开发链,包括代理端和管理端软件的开发。
读者对象本书覆盖了基于NetSNMP开发监控软件所需要的SNMP、NetSNMP、Linux系统及编程相关内容,所以本书可以帮到下列人员:
基于NetSNMP开发监控类软件的读者。
希望了解、掌握SNMP协议及其开源技术的读者。
对系统监控、网络监控感兴趣的读者(包括系统管理员)。
Linux CC++(网络)软件开发人员。
大专院校计算机相关专业的学生。
如何阅读本书本书分为三大部分:
**部分为基础篇(第1章~第6章)。
第1章从网络管理概念和历史讲起,目的是让读者对网络管理、SNMP以及NetSNMP有个整体的了解,这样有助于读者对后续章节的理解,建议通读。
第2章~第4章详细讲述了与MIB关联密切的SNMP框架的几大基础组件,包括MIB的语法基础ASN.1、管理信息结构SMI和管理信息库MIB。基于NetSNMP开发网络管理程序需要对SNMP协议和SNMP软件的开发流程有一定的了解,比如开发网络管理代理的首要任务是设计和编写MIB。如果读者不熟悉这些内容,建议认真阅读。
第5章讲述了SNMP协议的传输编码以及如何抓取和分析SNMP数据包,这对深入理解SNMP协议和SNMP软件的底层调试大有裨益。
第6章过渡到了NetSNMP的详细介绍,重点讲述了工具集的使用方法、自动生成代码框架的方法以及基于NetSNMP的开发模式。读者可以将这一章前面部分的内容看成是工具集的参考手册。
基础篇是我们是迈入实战篇的基础,它几乎覆盖了开发SNMP应用程序的所有内容。这些内容属于SNMP协议范畴,但又不能完全涵盖SNMP协议,如果读者需要全面了解SNMP协议,则还需要阅读相关的文献。不过基础篇的内容已经足以让读者应对基于NetSNMP进行应用程序开发。如果你已经拥有相关的知识储备可以直接进入到实战篇和高级篇。
第二部分为实战篇(第7章~第11章),是本书的重点。
第7章详细介绍了NetSNMP中丰富而复杂的配置选项,包括如何移植到嵌入式系统的相关配置和方法;搭建了基于NetSNMP、Cacti、MySQL、Apache等相关开源软件的企业级系统监控平台,前端以Web图形展示。
第8章介绍了NetSNMP基础库中的API,并基于此使用C语言实现了可灵活配置的、简易的网管后台程序,在SNMP的术语里我们把它称为NMS(Network Management System,网络管理系统)。
第9章介绍了NetSNMP代理库中的API和NetSNMP代理框架,并基于此使用C语言实现了监控操作系统中其他进程的代理程序snmpd(包含NetSNMP中默认的MIB)。在SNMP的术语里我们把它称为Agent(代理)。这一章完整地呈现了从MIB设计开发到Agent实现的流程和方法。
第10章介绍了NetSNMP中的Python绑定,基于其API,使用Python语言开发了一款同第8章介绍的程序功能类似的网管程序。
第11章介绍了NetSNMP中的Perl绑定,基于其API,使用Perl语言开发了一款监控MySQL数据库的管理软件。
本书不涉及Python和Perl基础知识,这部分内容需要读者自行学习。实战篇各个章节,除了要求先掌握第7章的NetSNMP的安装和配置外,其他几个章节没有明显的前后依赖关系,读者可以有选择性地阅读。实战篇的内容都以工程项目为背景,提供了对应监控需求的整套方案、架构以及实现方法。这些案例都在Linux系统下开发,都比较重量级!其中涉及的内容不仅包括NetSNMP相关的知识还包括其他的开发技术、软件、系统的集成。相对于基础篇来说,对读者的要求更高。建议读者学习并掌握相关的内容。
另外,实战篇按照传统IT企业软件项目的开发流程讲述,力求顺应软件开发人员的思维,同时为了适合书写要求,笔者提取了真实项目中核心的内容,简化或转化到适合讲解和呈现的程度。对那些简化的或转化后显得更“笨拙”的解决方法,且需要在项目中考虑和实现的内容,则在章节末尾以“优化、思考”的方式提醒读者,因为这些内容已经不是本书覆盖得到的!
第三部分为高级篇(第12章~第15章),是实战篇的延续。
第12章承接第9章的内容,首先讲述如何维护代理,并由此推演到重构和优化代理的必要性,*后给出了方案和具体的代码实现。比较有意思的是,本章还提及了代理免维护的思路和方案。应对变化*好的办法是将不变的固定而将变化的抽取出来,这可以通过代码框架的固定和配置文件的方式来实现。在这种思路下我们只需要开发代理一次,就能适应后续的需求变化,建议读者多多思考本章的思路,并自行实践。
第13章介绍了NetSNMP中的mib2c代理(代码)框架生成工具的编程语法,并在第12章重构后的代码的基础上编写了代码框架的配置文件。基于此配置文件可以实现自动生成第12章的代码,免去繁重的代码编写工作!如果读者觉得自动生成代码是件高大上的事,就如同当年的我一样,那么你应该认真地读完本章!
第14章讲述了NetSNMP中的高级开发技巧,包括一些实用的API、子代理模式开发代理、动态加载模式开发代理,同时对每个知识点都给出了应用示例。其中,子代理和动态加载模式是NetSNMP实现更为灵活的监控和分布式监控的有效手段。建议读者读完本章并在实际项目中使用。
第15章讲述了NetSNMP的测试和调试方法,这些方法能服务于实战篇和高级篇中程序的测试和调试。这一章用了较大篇幅讲述GDB及Linux网络程序的调试方法和技巧,内容都是“干货”。它们是Linux下通用的调试手段,而不仅仅是调试NetSNMP相关的程序,建议读者通读。
以上是本书各个章节的安排情况和写作思路,希望有助于读者阅读。
勘误和支持由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正,为此,我特意创建一个QQ行业交流群:203127943,欢迎大家加入。你可以将书中的错误和问题反馈给我,我将尽量在线上为你提供*满意的解答。书中的全部源文件除可以从华章网站下载外,还可以从Github网站下载,地址为https:github.comchansonZUnderstandingtheNetSNMP,项目代码分别放在对应章节的目录中。我也会将相应的更新及时发布出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱xtdwxk@gmail.com,期待能够得到你的真挚反馈。
致谢首先要感谢创建并提供NetSNMP源码的教育机构、世界各地开发和维护人员,以及负责这一开源项目的Wes Hardaker先生。同时感谢Wes在百忙之中回信给我,他不仅为我提供了资料还写下了他与NetSNMP的缘分和项目历史。
感谢每一位帮助过我的老师、同事和领导,是他们让我有了学习和总结的机会。书中的知识都来自于他们的帮助和营造的氛围。也感谢华章作者群的大咖和周围的朋友们,他们有时不经意说出的一句话,或随手转发的一篇文章都让我受益匪浅。
感谢《微信公众平台应用开发实战》的作者钟志勇,因为他的引荐,本书才有机会出版。同时感谢参与本书审阅的朋友们:钟志勇、徐鑫鑫、白良浩、郑坤。他们的批改细致而严谨!
感谢机械工业出版社华章公司的编辑杨福川和孙海亮老师,在这一年多的时间中是他们始终支持我的写作,他们的鼓励和帮助引导我能顺利完成全部书稿。
*后感谢我的爸爸、妈妈和姐姐在艰苦环境下将我培养成人,并时时刻刻为我灌输爱的力量!感谢哈尔滨、深圳两地教授我太极拳的老师们,他们鼓励我锻炼,使我增强了体质,这也是一年里支撑我写作到午夜的基础,尤其感谢唐老师和吴老师对我的关心!也要感谢我未来的女朋友,她没有在这一年出现,让我有时间写作,否则我肯定会拿出不少时间陪她聊天。
谨以此书献给我*亲爱的家人和朋友,以及正在为自我实现而奋斗的、充满朝气的IT工程师们!
张春强

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.