深入理解Net-SNMP
作品简介
本书是首部从实战的角度讲解Net-SNMP开发的书籍。本书从网络管理概念开始,到MIB的开发设计,最后到使用Net-SNMP开发网络管理应用,实现了由网络管理理论到实践的落地。Net-SNMP还在不断发展,基于Net-SNMP的开源库日益火热、支持的API种类日益众多,已逐渐发展出了像LuaSNMP这样独立开发的方式,支持或配合使用C/C++、Shell、Perl、Python等语言的开发模式;既支持代理端开发、管理端开发,也支持Trap开发。再看看开源社区计划中的“To Do list”功能项,真让人激动不已!Net-SNMP作为早期的开源项目之一,其中的软件编码技术、Linux系统构建技术都是开源中的典范,值得每一位软件工程师学习,因为它们永远也不过时。
张春强 著
作品目录
深入理解Net-SNMP
前言
第一部分 基础篇
第1章 网络管理
1.1.1 网络管理的需求
1.1.2 网络管理标准
1.2.1 网络管理模型
1.2.2 网络管理模式与技术
1.2.3 网络管理功能
1.3.1 SNMP的发展历史
1.3.2 SNMP的框架组成
1.3.3 SNMP的功能
1.3.4 实现版本
第2章 抽象语法标记
2.3.1 ASN.1的基础符号
2.3.2 定义方法
2.5.1 简单数据类型
2.5.2 构造数据类型
2.5.3 其他类型
2.5.4 子类型
2.5.5 标签类型定义
第3章 管理信息结构SMI
3.2.1 OID树
3.2.2 节点信息
3.3.1 基础数据类型
3.3.2 自定义数据类型
3.3.3 子类型
3.4.1 OBJECT-TYPE
3.4.2 TRAP
3.4.3 MODULE-IDENTITY
3.4.4 OBJECT-IDENTITY
3.4.5 一致性陈述
3.4.6 文本约定
第4章 管理信息库MIB
4.4.1 标量和表格对象
4.4.2 TRAP定义
4.5.1 编写建议
4.5.2 MIB的编写和编译工具
4.5.3 常见错误
第5章 BER传输编码
5.2.1 Tag编码
5.2.2 长度编码
5.2.3 值编码
5.3.1 报文解析
5.3.2 抓包示例
第6章 Net-SNMP基础
6.1.1 Net-SNMP的由来
6.1.2 Net-SNMP的特点
6.1.3 Net-SNMP重要组件
6.2.1 USM
6.2.2 VACM
6.2.3 TSM
6.2.4 基于SSH的安全传输机制
6.2.5 如何选择安全机制
6.3.1 协议操作工具
6.3.2 信息收集与查看工具
6.3.3 配置工具
6.3.4 权限配置工具
6.3.5 mib2c代码生成工具
6.4.1 开发语言
6.4.2 开发模式
6.4.3 选择开发模式
第二部分 实战篇
第7章 使用Net-SNMP监测系统
7.1.1 configure详解
7.1.2 编译安装
7.2.1 snmpd.conf详解
7.2.2 snmp.conf详解
7.2.3 snmptrapd.conf详解
7.3.1 系统监测需求
7.3.2 监测方案
7.3.3 工具简介与配置
7.3.4 Net-SNMP监测示例
7.3.5 系统集成
第8章 管理端应用开发
8.1.1 通信流程
8.1.2 主要的数据结构
8.1.3 主要的API
8.1.4 程序示例
8.1.5 同步与异步
8.5.1 程序框架
8.5.2 设计与开发
8.5.3 代码清单
8.5.4 编译与运行
8.6.1 实现守护进程
8.6.2 数据保存
8.6.3 绑定多个OID
8.6.4 读取MIB文件
第9章 SNMP代理开发实战
9.2.1 标量代码框架
9.2.2 表格代码框架iterate
9.2.3 Trap/Information框架
9.3.1 开发需求
9.3.2 实现方案
9.5.1 数据模型
9.5.2 共享内存编程实践
9.5.3 通信接口
9.7.1 参数类数据实现
9.7.2 实时类数据实现
9.7.3 Trap实现
9.7.4 配置与编译
9.8.1 实时数据测试
9.8.2 参数数据测试
9.8.3 告警数据测试
9.9.1 数据字典的优化
9.9.2 告警完善
9.9.3 共享内存接口的优化
9.9.4 框架优化
9.9.5 双索引实现方法
第10章 使用Python开发SNMP应用程序
10.1.1 Python简介
10.1.2 Python模块简介
10.1.3 安装模块
10.2.1 变量绑定
10.2.2 会话类
10.4.1 query模块
10.4.2 nmsapp主模块
10.4.3 运行情况
第11章 使用Perl开发SNMP应用程序
11.1.1 Perl简介
11.1.2 Perl模块简介
11.1.3 安装模块
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.5.1 MySQL信息查看:SHOW GLOBAL STATUS
11.5.2 自动生成MIB
11.5.3 代理实现
11.5.4 运行情况
第三部分 高级篇
第12章 代理的重构与优化
12.1.1 回顾代理开发的艰辛
12.1.2 维护代理的漫漫长路
12.3.1 分析代码框架
12.3.2 old-api框架重构实例
12.3.3 iterate框架重构方向
12.4.1 MIB自动化
12.4.2 深处探究
第13章 mib2c晋级之自定义代码框架
13.1.1 从例子开始
13.1.2 指令
13.1.3 变量
13.1.4 子程序
13.2.1 生成h文件
13.2.2 生成c文件
13.3.1 定制h文件配置文件
13.3.2 定制c文件配置文件
13.3.3 集成
第14章 Net-SNMP代理开发高级技术集锦
14.1.1 动态表
14.1.2 上下文
14.1.3 持久数据
14.1.4 数据同步
14.2.1 配置AgentX
14.2.2 开发子代理示例
14.2.3 编译与运行
14.2.4 分布式监控示例
14.3.1 加载共享对象
14.3.2 开发共享对象示例
14.3.3 编译与运行
第15章 代理测试与调试
15.1.1 使用MG Soft MIBbrowser测试
15.1.2 使用iReasoning测试
15.1.3 编写脚本测试
15.3.1 token调试机制
15.3.2 日志
15.3.3 打印原始数据报
15.4.1 调试前的准备
15.4.2 调试过程与指令
15.4.3 GDB脚本调试技术
15.5.1 tcpdump
15.5.2 nm
15.5.3 objdump
15.5.4 strace
载入中