LwIP的SNMP学习笔记】的更多相关文章

关于这方面的资料网上非常少,做一下笔记. 在LwIP中,在\lwip-1.4.1\src\core\snmp目录下有SNMP相关的c文件,在lwip-1.4.1\src\include\lwip目录下有SNMP相关的h文件,在\lwip-1.4.1\doc目录下有一个snmp代理的说明,这是LwIP最直接的说明文档: snmp_init(void)中会设置UDP接收的回调函数,这样,所有发往本机161端口的udp包都会由snmp_recv处理 /** * Starts SNMP Agent. *…
0x00 SNMP TRAP简介 SNMP(Simple Network Management Protocol) trap是一种很有用,但是也容易让人难以理解的协议. 虽然名字叫做简单网络管理协议,但实际上并不是字面上的意思,尤其是看到.1.3.6.1.2.1.1.1.0这样一串串诡异的数字时候,就会有点让人崩溃. 不管怎么说,现在所有的网络设备的都需要支持SNMP.而且现在还有很多的开源的网络管理系统,所以就有利于我们来学习和理解SNMP. SNMP trap是由被管理的设备主动的向管理服务…
原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freeloda.blog.51cto.com/2033581/1306743 大纲 一.什么是SNMP 二.SNMP背景 三.SNMP结构概述 四.SNMP支持的网管操作 五.SNMP的实现结构 六.SNMP的技术内容 七.SNMP的发展历史 八.SNMP的技术术语 九.综合…
1.1.    SNMP概览 SNMP的基本知识介绍简单网络管理协议(SNMP-Simple Network Management Protocol)是一个与网络设备交互的简单方法.该规范是由IETF在1990年五月发布的RFC 1157中定义的.SNMP通常被认为相当难懂,并且过于复杂,其可用的API似乎在本来非常简单的东西外面封装了大量的东西.现在关于SNMP的书籍又往往只是把它更加复杂化了,而没有解释清楚.SNMP对于任何程序设计人员来说是特别易于理解的.总体的简化能够很好地把这个系统简化…
snmp5.5 client 包含头文件 #include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-includes.h> 用到的函数有:初始化snmp库:void init_snmp(const char *);                   用于初始化snmp库 netsnmp_session *snmp_open(netsnmp_session *);  打开socket并绑定响应的udp端口,如…
0x00 增加snmp v3用户 增加用户的时候,必须要停止SNMP服务. # service snmpd stop # net-snmp-config --create-snmpv3-user -ro -a ttlsapwd -x DES -X ttlsades ttlsa adding the following line to /var/lib/net-snmp/snmpd.conf: createUser ttlsa MD5 "ttlsapwd" DES ttlsades ad…
Basic command of SNMP: GET: The GET operation is a request sent by the manager to the managed device. It is performed to retrieve one or more values from the managed device. GET NEXT: This operation is similar to the GET. The significant difference i…
0x00 MIB Browser iReasoning MIB浏览器是一个强大和易于使用的工具由iReasoning SNMP API提供支持. MIB浏览器是工程师管理启用SNMP的网络设备和应用程序不可或缺的工具. 它允许用户加载标准的,专有的MIB,甚至一些错误的MIB. 它还允许它们发出SNMP请求以检索代理的数据,或对代理进行更改. 内置陷阱接收器可以根据其规则引擎接收和处理SNMP陷阱. 下载地址:http://www.ireasoning.com/download.shtml 安装…
0x00 概览 用python获取snmp信息有多个现成的库可以使用,其中比较常用的是netsnmp和pysnmp两个库.网上有较多的关于两个库的例子. 本文重点在于如何并发的获取snmp的数据,即同时获取多台机器的snmp信息. 0x01 netsnmp多线程测试 先说netsnmp.python的netsnmp,其实是来自于net-snmp包. python通过一个c文件调用net-snmp的接口获取数据. 因此,在并发获取多台机器的时候,不能够使用协程获取.因为使用协程,在get数据的时候…
0x00 概述 本文是介绍SNMP在Windows和Linux(Ubuntu)下的安装,以及通过Python调用其接口的文章. 0x01 开发环境 Python 3.5.1 Windows 10 64位,Ubuntu 16.04 64位(虚拟机) 0x02 SNMP SNMP(简单网络管理协议),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组资源对象.该协议能够支持网络管理系统,用以监测连接…
收集整理一些Linux下snmp常用的OID,用做服务器监控很不错. 应用示例 查看服务器1分钟平均负载: snmpwalk -v1 -c public 127.0.0.1 .1.3.6.1.4.1.2021.10.1.3.1 UCD-SNMP-MIB::laLoad.1 = STRING: 0.25 查看服务器当前连接: snmpwalk -v1 -c public 127.0.0.1 1.3.6.1.2.1.6.13.1.1 TCP-MIB::tcpConnState.0.0.0.0.22.…
0x00 安装yum源安装SNMP软件包 1.yum源安装SNMP服务: yum -y install net-snmp net-snmp-utils 2.查看SNMP版本号: snmpd -v 0x01 更改团体名 vi /etc/snmp/snmpd.conf com2sec notConfigUser default publi 改为: com2sec nontConfigUser defautl passw0rd #(此为需要验证的团体名) 如果你有权限,你可以看到路由器配置里有一句:s…
注意:本篇安装用户是root,非root用户启动的时候会报缺少文件错误. 一.安装SNMP 1.1.下载Net-SNMP的源代码 选择一个SNMP版本,比如5.7.1,下载地址如下:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/,如下图所示: 下载完成之后得到如下图所示的一个压缩包 1.2.把压缩包传输到远程的Linux服务器 把压缩包使用FTP传输工具传输到远程的Linux服务器 上传成功后在linux的root目录…
0x00 SNMP4J介绍 SNMP4J是一个用Java来实现SNMP(简单网络管理协议)协议的开源项目.它支持以命令行的形式进行管理与响应.SNMP4J是纯面向对象设计与SNMP++(用C++实现SNMPv1/v2c/v3)相类似. SNMP4J API 提供以下下特性: 支持MD5和SHA验证,DES,3DES,AES128.AES192和AES256加密的SNMPv3. 支持MPv1,MPv2C和MPv3,带执行的可阻塞的信息处理模块. 全部PDU格式. 可阻塞的传输拓扑.支持UPD.TC…
下面主要的内容就是SNMPv3的加密和认证过程! USM的定义为实现以下功能: 鉴别 数据加密 密钥管理 时钟同步化 避免延时和重播攻击 1.UsmSecurityParameters(安全参数) 安全参数存在于snmp消息中的msgSecurityParameters字段,以ASN.1语法定义如下: UsmSecurityParameters ::= SEQUENCE { -- global User-based security parameters msgAuthoritativeEngi…
本篇文章将重点分析SNMP报文,并对不同版本(SNMPv1.v2c.v3)进行区别! 四.SNMP协议数据单元 在SNMP管理中,管理站(NMS)和代理(Agent)之间交换的管理信息构成了SNMP报文,报文的基本格式如下图1: 图 1 SNMP主要有SNMPv1.SNMPV2c.SNMPv3几种最常用的版本. 1.SNMPv1 SNMPv1是SNMP协议的最初版本,提供最小限度的网络管理功能.SNMPv1的SMI和MIB都比较简单,且存在较多安全缺陷. SNMPv1采用团体名认证.团体名的作用…
下面我们就主要讲解SNMPv3的报文格式以及基于USM的认证和加密过程! 1.SNMPv3的消息格式 如下图1: 图 1 其中,整个SNMPv3消息可以使用认证机制,并对EngineID.ContextName.PDU消息体部分进行加密.RequestID.MaxSize.Flags.SecurityModel.SecurityParameters构成SNMPv3消息头. 报文中的主要字段定义如下: RequestID:请求报文的序列号. MaxSize:消息发送者所能够容纳的消息最大字节,同时…
0x00 SNMP简单概述 0.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议".SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议.SNMP主要用于网络设备的管理.由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议. SNMP协议主要由两大部分构成:SNMP管理站和SNMP代理.SNMP管理站是一个中…
0x00 简介 简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议.在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案:由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能.现在,已经有了SNMPv3版本.一套完整的SNMP系统主要包括管理信息库(MIB).管理信息结构(SMI)及SNMP报文协议. (1)管理信息库MIB:任何一个被管理的资源都表示成一个对象…
0x00 简介 snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户.通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址.内存使用率等,也可用来协助开发SNMP功能. 在日常监控中,经常会用到snmp服务,而snmpwalk命令则是采集系统各种信息最有效的方法. 0x01 Linux安装过程 在linux下使用snmpwalk工具,我们…
SNMPWALK是一个通过SNMP GET-NEXT类型PDU,实现对目标AGENT的某指定MIB分支信息进行完整提取输出的命令工作. 命令行: snmpwalk [选项] agent [oid] 选项参数:由于SNMP协议中,不同的协议版本存在不同的参数选项,以下参数按协议分开说明.1.    普通选项 a) –h 显示帮助 b) –v |2c| 指定SNMP协议版本 c) –V 显示当前SNMPWALK命令行版本 d) –r RETRIES 指定重试次数,默认为0次. e) –t TIMEO…
* Bind an UDP PCB. * * @param pcb UDP PCB to be bound with a local address ipaddr and port. * @param ipaddr local IP address to bind with. Use IP_ADDR_ANY to * bind to all local interfaces. * @param port local UDP port to bind with. Use 0 to automati…
0.前言     去年(2013年)的整理了LwIP相关代码,并在STM32上"裸奔"成功.一直没有时间深入整理,在这里借博文整理总结.LwIP的移植过程细节很多,博文也不可能一一详细解释个别部分仅仅能点到为止.     [本文要点]     [1]不带操作系统的LwIP移植,LwIP版本号为1.4.1.     [2]MCU为STM32F103VE,网卡为ENC28J60.     [3]移植过程重点描写叙述ethernetif.c和LwIP宏配置等.     [4]一个简单的TCP…
计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链路层 TCP/IP详解学习笔记(3)-- IP:网际协议 TCP/IP详解学习笔记(4)-- ARP 和 RARP TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议 TCP/IP详解学习笔记(6)-- IP选路 TCP/IP详解学习笔记(7)-- 初识运输层 TCP/IP…
Squid学习笔记 1.安装前的配置 编译安装之前需要校正的参数主要包括File Descriptor和Mbuf Clusters. 1.File Descriptor 查看文件描述符的限制数目: ulimit –n 调整文件描述符的数目需要3步: step 1,编辑系统头文件/usr/include/bits/types.h define __FD_SIZIEFD 8192 step 2,调整内核的FD限制数目 echo 8192 > /proc/sys/fs/file-max step 3,…
0 前言     2014年8月yeelink推出基于MQTT协议的开关类型设备控制API.相比于基于HTTP RESTful的轮训方式,通过订阅相关主题消息,能够远程控制类应用实时性更好. 本文使用两种方式实现开关类型设备的远程控制,一种是基于nodeJS的MQTT.js扩展库,还有一种是基于python的paho-mqtt扩展库.     [相关博文--MQTT]     [MQTT学习笔记--MQTT协议体验 Mosquitto安装和使用]     [MQTT学习笔记--树莓派MQTTcl…
TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所示.       1)链路层(数据链路层或网络接口层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡. 2)网络层(互联网层),处理分组在网络中的活动. 3)运输层,主要负责两台主机上的应用程序提供端到端的同信.(TCP(传输控制协议)UDP(用户数据包协议). 4)应用层,主要负责处…
1.前言     使用modbus有些时间了,期间使用过modbus RTU也使用过modbus TCP,通过博文和大家分享一些MODBUS TCP的东西.在嵌入式中实现TCP就需要借助一个以太网协议栈,在这里我选择最简单的uIP协议栈.uIP协议栈简单易用方便上手,相比于LwIP无论是移植还是使用难度都低些,这样就可以把更多的精力花在modbus tcp协议本身而不必花大量的时间研究以太网协议栈.modbus协议栈为freemodbus   [其他有用的博文]     [1]uIP学习笔记  …
源:uCOS-II的学习笔记(共九期)和例子(共六个) 第一篇 :学习UCOS前的准备工作http://blog.sina.com.cn/s/blog_98ee3a930100w0eu.html 第二篇 uCOS-II的移植步骤http://blog.sina.com.cn/s/blog_98ee3a930100w2uh.html 第三篇:uCOS-II 任务的创建,挂起,恢复,删除http://blog.sina.com.cn/s/blog_98ee3a930100w8zm.html第四篇:u…
题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由于标准制定工作还没完成,所以没有多少主流的服务器支持,自己在网上下载了几个实现,包括php的.C#的.甚至Node.js的,但一个是协议变化比较大,很多代码已经过时了,再就是有一些支持最新的标准,但是我想稍微改造一下,看人家源代…