SNMP协议交互学习-获取udp的udpindatagrams
MIB的组织结构,如下左图,对于udp来说1.3.6.1.2.1.7,组织如下右图,包括4个标量和1个表格


udp节点在LwIP中的定义如下:
const s32_t udp_ids[] = { , , , , };
struct mib_node* const udp_nodes[] = {
(struct mib_node*)&udp_scalar, (struct mib_node*)&udp_scalar,
(struct mib_node*)&udp_scalar, (struct mib_node*)&udp_scalar,
(struct mib_node*)&udptable
};
const struct mib_array_node udp = {
&noleafs_get_object_def,
&noleafs_get_value,
&noleafs_set_test,
&noleafs_set_value,
MIB_NODE_AR,
,
udp_ids,
udp_nodes
};
SNMPv1的报文格式如下:

版本、PDU类型、请求标识、差错状态、差错索引均为4个字节(这个理解是不对的!!!所有的字段都是TLV格式)
共同体一般为6个字符“public”
/* public (non-static) constants */
/** SNMP v1 == 0 */
const s32_t snmp_version = ;
/** default SNMP community string */
const char snmp_publiccommunity[] = "public";
后面的名称、值,不知道该如何写?
比如,如果想获取udp的udpindatagrams变量,那么,该遍历的MIB编码为1.3.6.1.2.1.7.1,那么,SNMP报文中的名称、值该如何填呢?
从net-snmp那本书上看到了一个例子,在lwip上测试了一下可以正常操作。
串口终端发送(串口上跑SLIP协议):SNMP get-request,获取udp的udpindatagrams,1.3.6.1.2.1.7.1.0
C0 45 00 00 45 00 08 00 00 FF 11 00 00 DB DC A8 65 05 DB DC A8 65 0A 07 F8 00 A1 00 31 00 00 30 27 02 01 00 04 06 70 75 62 6C 69 63 A0 1A 02 02 00 BD 02 01 00 02 01 00 30 0E 30 0C 06 08 2B 06 01 02 01 07 01 00 05 00 C0
30 27是序列,02 01 00是整型(type=2)版本号,04 06 70 75 62 6C 69 63是字符型(type=4)public,A0 1A是上下文(type=A0)表示get-request,02 02 00 BD是整型请求标识,后面是差错状态和差错索引,30 0E 30 0C是序列(序列怎么理解,怎么有两个???),06 08 2B 06 01 02 01 07 01 00是Object ID(type=6),前两个1.3需要用1个字节表示,用1*40+3=43表示,最后的05 00是NULL空值。
串口终端返回的:SNMP,get-response,回复udp的udpindatagrams
C0 45 00 00 46 00 01 00 00 FF 11 00 00 DB DC A8 65 0A DB DC A8 65 05 00 A1 07 F8 00 32 00 00 30 28 02 01 00 04 06 70 75 62 6C 69 63 A2 1B 02 02 00 BD 02 01 00 02 01 00 30 0F 30 0D 06 08 2B 06 01 02 01 07 01 00 41 01 03 C0
最后,返回的值是41 01 03,41是Counter类型,03表示udpindatagrams=03
SNMP使用的TLV中type类型如下表:


以太网发送及回复的内容:

参考资料:
http://blog.csdn.net/jiangtaohu123/article/details/7404920
SNMP协议交互学习-获取udp的udpindatagrams的更多相关文章
- 关于zabbix利用snmp协议从交换机获取的端口带宽数据的概念问题
关于zabbix利用snmp协议从交换机获取的端口带宽数据的概念问题:使用端口OID号获得的数据实际是即时的端口总数据量,而在计算带宽时,需要选择一个时间段,在时间段的结束点获得的总数据量减去在时间段 ...
- python通过snmp协议运用多线程获取多台主机网卡信息,写入数据库
#-*- coding:utf-8 -*- import netsnmp class SnmpClass(object): """ SNMP ""&q ...
- SNMP协议介绍
SNMP协议介绍 一.什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议.SNMP用于网络设备的管理.SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了 “读”操作:管理 ...
- SNMP协议
SNMP(Simple Network Management Protocol,SNMP)简单网络管理协议,其定义了传送管理信息的协议消息格式及管理站和设备代理相互之间进行消息传送的规程 ...
- 浅议SNMP安全、SNMP协议、网络管理学习
相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...
- 《Python网络编程》学习笔记--UDP协议
第二章中主要介绍了UDP协议 UDP协议的定义(转自百度百科) UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务 ...
- SNMP协议学习笔记
什么是SNMP协议? SNMP协议是以UDP为基础的应用层协议,全称为 简单网络管理协议,用于网络管理系统与被管设备(路由器,交换机,服务器等设备)进行通信. 应用场景 随着网络设备的增多,需要单独的 ...
- TCP/IP协议组学习笔记
TCP/IP协议族学习笔记: 一.基础概念: (1)TCP(Transmission Control Protocol) 传输控制协议. (2)IP(Internet Protocol)网际协议.IP ...
- SNMP 协议介绍 转载
一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...
随机推荐
- 为WPF, UWP 及 Xamarin实现一个简单的消息组件
原文地址:Implementing a simple messenger component for WPF, UWP and Xamarin 欢迎大家关注我的公众号:程序员在新西兰了解新西兰IT行业 ...
- 一步一步教你PowerBI利用爬虫获取天气数据分析
对于爬虫大家应该不会陌生,我们首先来看一下爬虫的定义:网络爬虫是一种自动获取网页内容的程序,是搜索引擎的重要组成部分.网络爬虫为搜索引擎从万维网下载网页,自动获取网页内容的应用程序.看到定义我们应该已 ...
- C# html生成图片保存下载
最近有个需求,需要把内容生成图片,我找到一些资料可以将html页面生成图片并保存下载 下面是简单的实现 1.html页面 @{ Layout = null; } <!DOCTYPE html&g ...
- git 工作中实用 多人协同开发
多人协同开发 .克隆分支 git clone -b dev1. url .创建并关联远程分支 git checkout -b dev_wt origin/dev_wt 情况一获取其它分支的代码,并合并 ...
- DataFrame数据合并
一.join 作用:默认情况下,他是把行索引相同的数据合并到一起注意:以左为准,没有的部分用NaN补全 例子 import pandas as pd import numpy as np df1 = ...
- 9.Java三大版本以及JDK,JRE,JVM简单介绍
Write Once,Run Anywhere. JavaSE:标准版(桌面程序,控制台开发...),是Java的基础和核心. JavaME:嵌入式开发(手机,小家电...),现在基本不用已经过时. ...
- Java入门 - 语言基础 - 08.运算符
原文地址:http://www.work100.net/training/java-operator.html 更多教程:光束云 - 免费课程 运算符 序号 文内章节 视频 1 概述 2 算术运算符 ...
- 「 神器 」在线PDF文件管理工具和图片编辑神器
每天进步一丢丢,连接梦与想 在线PDF文件管理工具 完全免费的PDF文件在线管理工具,其功能包括:合并PDF文件.拆分PDF文件.压缩PDF文件.Office文件转换为PDF文件.PDF文件转换为JP ...
- 关于PDF阅读器
获取流程 1.点击下载xodo 2.跳转到如下界面,单击箭头所指的版本: 3.单击转到 中国-中文 4.点击获取 5.在跳出来的界面点击红框 6.打开本机的Microsoft Store下载应用 介绍 ...
- Perl语言入门(中文版)(第6版) 东南大学出版社
第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? ...