作品简介

本书是首部从实战的角度讲解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
展开全部