精华内容
下载资源
问答
  • snmp4j接收到的trap数据,snmpv3 trap 如何解析? 请参考 链接: https://blog.csdn.net/libing666666/article/details/114267874.

    snmp4j接收到的trap数据,snmpv3 trap 如何解析?

    请参考
    链接: https://blog.csdn.net/libing666666/article/details/114267874.

    展开全文
  • snmptrap 命令解析

    千次阅读 2015-09-18 11:55:40
    # snmptrap -v 2c -c public 10.10.12.219 "aaa" 1.3.6.1.4.1.2345 SNMPv2-MIB::sysLocation.0 s "just here" snmptrap 命令 -v 2c Snmp协议版本 -c public 共同体 10.10.12.

    example:


    # snmptrap -v 2c -c public 10.10.12.219 "aaa" 1.3.6.1.4.1.2345 SNMPv2-MIB::sysLocation.0 s "just here"  


    snmptrap 命令
    -v 2c Snmp协议版本
    -c public 共同体
    10.10.12.219 snmp代理的IP
    "aaa" 主机名称, 可以为空
    1.3.6.1.4.1.2345 Enterprise-OID
    SNMPv2-MIB::sysLocation.0 数据OID
    s 数据类型
    "This is a test" 数据值


    展开全文
  • SNMPv2 Trap报文SNMPv2的Trap报文格式如图8所示: 同样的,这里除了trap类型和报文长度是标准网络字节序之外,其余协议字段也均为BER编码方式。可以看到v2版的trap报文正在向统一的报文格式发展,已经非常类似普通...

    转载地址: https://blog.csdn.net/eric_sunah/article/details/19557683

    SNMP的报文格式

    SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。

    在实际网络传输环境下,SNMP报文的长度取决于其所采用的编码方式。SNMP统一采用BER(Basic Encoding Rule)的编码规则,同时在正式SNMP规范中使用的是ASN.1语法,AbastractSyntax Notation v1,即抽象语法描述语言。这两个概念在后面实践环节再做进一步介绍,这里只要稍微了解一下即可,不妨碍我们对协议本身的分析。这里我们简单解释一下BER编码规则:

    BER作为ANS.1的基本编码规则,描述具体的ANS.1对象如何编码为比特流在网络上进行传输。BER编码规则由三部分组成:

    SNMP中定义了几种基本的数据类型,其中v1和v2版有些改动,具体参见相应的RFC文档。这里我们只介绍几种最常见的类型:

    l  INTEGER:一个整数

    l  OCTER STRING: 0或多个8bit字节,每个字节在0~255之间取值

    l  DisplayString:0或多个8bit字节,每个字节必须是ASCII码。在MIB-II中,所有该类型变量不能超过255个字符(0个字符可以)

    l  NULL:代表相关的变量没有值

    l  IpAddress:4字节长的OCTER STRING,以网络字节序表示IP地址

    l  PhyAddress:6字节长的OCTER STRING,代表物理地址

    l  Counter:非负整数,可以从0递增到232-1()。达到最大值后归0

    l  TimeTicks:时间计数器,以0.01秒为单位递增,不同的变量可以有不同的递增幅度。所以在定义这种类型的变量时需要制定递增幅度

    l  SEQUENCE:与C语言中的结构体类似

    l  SEQUENCE OF:一个向量,参见后面ANS.1语法详细介绍章节

    SNMP报文在传输层是封装在UDP报文中的,而UDP又是基于IP网络的,因此,我们可以得到完整的报文描述结构,如下图所示:

    PDU类型其实包含两个字节,第一个字节表示真实的PDU的类型;第二个字节表示后面报文所占的字节总数。针对SNMPv1,这个字段取值如下:

    表1 PDU类型

    PDU类型

    名 称

    0

    get-request

    1

    get-next-request

    2

    get-response

    3

    set-request

    4

    trap

    也就是说,trap的类型是4。但是在数据报文中,该字段一般表示为ax,其中x取[0,4],即a0~a3表示相应的get、set等操作,a4表示trap报文。这里除了类型字段意外,其他字段均采用BER编码方式:

    实战演练之报文格式分析

    Trap报文格式和上述图5所展示的结构有些差别,这里我们只分析SNMPv1和SNMPv2的Trap报文格式。trap报文前面的部分都一样,区别在PDU协议数据单元部分。

    SNMPv1 Trap报文

    SNMPv1的Trap报文格式如下所示:

    注意:除了PDU类型和PDU长度字段外,后面的每个字段都是BER编码方式。

    trap类型”可以取以下值,其中0~6是已定义的特定trap,7及其以后的类型由供应商自定义。

    表2 trap类型、名称及描述信息

    trap类型

    名称

    描述信息

    0

    coldStart

    代理进程对自己初始化

    1

    warmStart

    代理进程对自己重新初始化

    2

    linkDown

    一个接口已从工作状态变为故障状态(报文中的第一个变量标识此接口)

    3

    linkUp

    一个接口已从故障状态变为工作状态(报文中的第一个变量标识此接口)

    4

    authenticationFailure

    从SNMP管理进程收到无效共同体的报文

    5

    egpNeighborLoss

    一个EGP邻站已变为故障状态(报文中的第一个变量包含邻站IP地址)

    6

    enterpriseSpecific

    在这个特定的代码段中查找trap信息

    通过wireshark抓包工具,捕获一条如下的SNMP报文,接下来对其进行仔细分析。

    SNMPv1原始报文内容:

    00 23 5a 9e 58b9 00 4c 41 49 50 55 08 00 45 00 00 48 00 00 40 00 40 11 a5 4e c0 a80a 01 c0 a8  0a05 0c00 00 a200 34 ff e0 30 2a 02 01 00 04 06 70 75 62 6c 69 63a4 1d 06 0a 2b 06 01 04 01 bf 08 03 02 0a 40 04 c0 a8 0a01 02 01 00 02 01 00 43 01 0e 30 00

    目的MAC:00 23 5a 9e 58 b9

    源MAC:00 4c 41 49 50 55

    协议类型:08 00 ,为IP数据报

    IP头:45 00 00 48 00 00 40 00 40 11 a5 4e c0 a80a 01 c0 a80a 05 0c

    UDP头:0c00 00 a2 00 34 ff e0

    其余部分都为SNMP报文,接下来我们对照前面的报文结构体来逐个分析一下。

    n  30 表示SNMP消息是ASN.1的SEQUENCE类型;

    n  2a 表示该SNMP报文的总长度是42(0x2a)个字节,该字段所表示的报文长度起始于它后面的第一个字节直到报文结束;

    n  02 01 00 表示版本号,可见其确实为BER编码方式。02表示该字段是INTEGER类型;01表示该字段占1个字节;00表示版本号,该值为“版本号-1”;

    n  04 06 70 75 62 6c 69 63 表示团体名,04表示该字段为OCTETSTRING类型;06表示该字段占6个字节;70 75 62 6c 69 63表示团体名的ANSII码的十六进制形式,这里是“public”;

    n  a4 1d 其中a4中的“4”表示这是一个trap报文,a4又叫报文的标签标记;1d表示后面还有29(0x1d)个字节的数据;

    n  06 0a 2b 06 01 04 01 bf 08 03 02 0a 企业OID标识。06表示该字段是个对象标识符,OBJECTIDENTIFIER;0a表示该字段占10(0x0a)个字节;关于SNMP的OID的编码方式有些奇特:例如1.3.6.1.2…. 取前两个数字分别记为x和y。编码时40*x+y,这里x=1,y=3,因此结果为40*1+3=43,即表示十六进制的2b。因此,这里的企业OID编码即为1.3.6.1.4.1.8072.3.2.10;

    n  40 04 c0 a80a 01 同样40表示该字段为OCTET STRING 类型;04表示IP地址占4个字节;IP地址为192.168.10.1;

    n  02 01 00 其中00表示trap类型为coldStart;

    n  02 01 00 其中00表示我们指定的trap即specific-trap也为coldStart类型;

    n  43 01 0e 43表示为TimeTicks类型;01表示该字段占1个字节;0e即十进制的14表示时间标签为0.14秒,这里时间计数器以0.01秒递增;

    n  30 00 30表示“键-值”值对的编码类型为SEQUENCE;00表示该字段占0个字节,即没有该字段。

    SNMPv2 Trap报文SNMPv2的Trap报文格式如图8所示:

    同样的,这里除了trap类型和报文长度是标准网络字节序之外,其余协议字段也均为BER编码方式。可以看到v2版的trap报文正在向统一的报文格式发展,已经非常类似普通的SNMP请求、响应报文了。

    SNMPv2原始报文内容:

    00 23 5a 9e 58b9 00 4c 41 49 50 55 08 00 45 00 00 7b 00 00 40 00 40 11 a5 1b c0 a8 0a01 c0 a8 0a05 0c01 00 a2 0067 04 bb 305d 02 01 01 04 06 70 75 62 6c 69 63a7 50 02 04 1773 2c fb 02 01 00 02 01 00 30 42 30 0d 06 08 2b 06 01 02 01 01 03 00 43 01 0e 30 17 060a 2b 06 01 06 03 01 01 04 01 00 06 09 2b 06 01 0603 01 01 05 01 3018 06 0a2b 06 01 06 03 01 01 04 0300 06 0a2b 06 01 04 01 bf 08 03 02 0a

    目的MAC:00 23 5a 9e 58 b9

    源MAC:00 4c 41 49 50 55

    协议类型:08 00,IP报文

    IP头:45 00 00 7b 00 00 40 00 40 11 a5 1b c0 a80a 01 c0 a80a 05

    UDP头:0c01 00 a2 00 67 04 bb

    余下部分全为SNMP报文内容,这里我们做一下简单的约定:

    xx 标注类型;xx 标注长度;xx 标注真正的数据。

    这样一来上面这串原始数据就好分析多了J

    n  30 5d 整个SNMP报文的编码方式为30,即SEQUENCE类型,报文长度93(0x5d)字节;

    n  02 01 01 版本号01即v2版本;

    n  04 06 70 75 62 6c 69 63 团体名70 75 62 6c69 63  即英文的“public”;

    n  a7 50 a7表示trap类型为7,即厂商自定义trap;50表示PDU区段占80(0x50)字节;

    n  02 04 17 73 2c fb 请求ID为17 73 2c fb 十进制的393424123;

    n  02 01 00 错误状态0;

    n  02 01 00 错误索引0;

    n  30 42 “变量名-值”对编码类型30 即SEQUENCE类型;“变量名-值”所占总字节0x42,即66字节;

    n  30 0d 06 08 2b 06 01 02 01 01 03 00 43 01 0e 第一个“名-值”对区段编码方式30 即SEQUENCE类型;第一个“名-值”对总长度0x0d,13字节;第一个变量名的编码类型0x06,时间标签;第一个变量名占0x08个字节;第一个变量名2b 06 01 02 01 01 03 00,为1.3.6.1.2.1.1.3.0;第一个变量值为0x0e,即14;

    n  30 17 06 0a2b 06 01 06 03 01 01 04 0100 06 09 2b 06 01 06 03 01 01 05 01 第二个“名-值”对;变量名1.3.6.1.6.3.1.1.4.1.0;变量值1.3.6.1.6.3.1.1.5.1;

    n  30 18 06 0a2b 06 01 06 03 01 01 04 0300 06 0a2b 06 01 04 01 bf 08 03 02 0a 第三个“名-值”对;变量名1.3.6.1.6.3.1.1.4.3.0;变量值1.3.6.1.4.1.8072.3.2.10;

    展开全文
  • (1)snmp-agent sys-info contact 设置管理员的标识及联系方法,请把替换为你要设置成的值,下同。这个值初始是HuaWei BeiJing China,用指令display current-configuration可以在当前执行的配置的靠末尾看到该项。...

    77b1adb3add2f446e3bf450c28cc45f2.png

    (1)

    snmp-agent sys-info contact

    设置管理员的标识及联系方法,请把替换为你要设置成的值,下同。这个值初始是HuaWei BeiJing China,用指令

    display current-configuration

    可以在当前执行的配置的靠末尾看到该项。

    (2)

    snmp-agent sys-info location

    设置交换机的位置信息,这项初始没有设置。

    (3)

    snmp-agent community read public

    设置一个SNMP Community,使用该Community连接交换机时,只可以读取其SNMP信息。你可以把指令中的public换成你想要的字符串。

    (4)

    snmp-agent community write private

    设置一个SNMP Community,使用该Community连接交换机时,不仅可以读取其SNMP信息,还可以将值写入SNMP的MIB对象,实现对设备进行配置。你可以把指令中的private换成你想要的字符串。

    (5)

    snmp-agent sys-info version all

    设置交换机支持的SNMP协议,有v1,v2c,v3这3个版本,如果你不确定,最好设为all,将会同时支持这3个协议。在S3050C-0025上初始是只支持v3版本的,如果你没有正确设定它,mibbrower等一些读取软件可能会无法读取信息。

    一般只需设置第(3)和第(5)个指令就可以读取到交换机的SNMP信息了。在旧的vrp系统上设置可能不同,我测试的交换机使用的是vrp3.10版本。

    ◆◆

    评论读取中....

    请登录后再发表评论!

    ◆◆

    修改失败,请稍后尝试

    展开全文
  • SNMP TRAP报文解析

    2019-10-04 21:10:21
    SNMPv2 Trap报文 SNMPv2的Trap报文格式如图8所示: 同样的,这里除了trap类型和报文长度是标准网络字节序之外,其余协议字段也均为BER编码方式。可以看到v2版的trap报文正在向统一的报文格式发展,已经非常类似...
  • 二、SNMP版本解析 SNMP现有的几个版本:v1,v2,v3 ▶ v1和v2都具有基本的读、写MIB功能。 ▶ v2增加了警报、批量数据获取、管理站和管理站通信能力。 ▶ v3在v2的基础上增加了USM,使用加密的数据和用户验证技术,...
  • 如果在windows下的编辑器中获取了一个编辑器的输入,则将编辑器的输入内容转换为Element的Text存储,在jdom中会做一个转换,里面主要做了一步操作,就是将原来文本的内容中回车换行转换为回车换行。...
  • 今天就将上面的函数,该函数实现的功能就是:该函数代码很小,主要就是:  memcpy((void *)vectors, __vectors_start, __vectors_end - __vectors_start);  memcpy((void *)vectors + 0x200, __stubs_...
  • zabbix接收trap的工作流程:snmptrapd 收到trapsnmptrapd将trap传递给SNMPTT或调用Perl接收器SNMPTT或Perl trap接收器解析,格式化并将trap写入文件Zabbix SNMP trap读取并解析trap文件对于每个trap,Zabbix发现主机...
  • trap接收工具

    2012-03-31 11:31:56
    用于接收SNMP TRAP 的工具,可以解析部分中文,打开就可以使用,用于监听本地162端口
  • SNMPTT或Perl trap接收器解析,格式化并将trap写入文件 Zabbix SNMP trap读取并解析trap文件 对于每个trap,Zabbix发现主机接口与接收的trap地址匹配的所有“SNMP trap”监控项。请注意,在匹配期...
  • Android trap攻防思路整理

    千次阅读 2016-12-11 19:31:12
    Android trap攻防  图/文 h_one 0x01 反编译出错 1.插入无效指令是部分逆向工具崩溃 原理:大部分逆向工具都是线性读取字节码并解析, 如dex2jar,baksmali,apktool等,当遇到无效字节码时,就会引起反编译工具解
  • linux下基于netsnmp写的trap服务器,纯C代码,可解析trap发送方的地址及trap消息内容,可直接编译和测试。编译方法为: gcc trap.c -lnetsnmp
  • android trap攻防

    千次阅读 2015-03-13 10:53:36
    android trap攻防  图/文 h_one 0x01 反编译出错 1.插入无效指令是部分逆向工具崩溃 原理:大部分逆向工具都是线性读取字节码并解析, 如dex2jar,baksmali,apktool等,当遇到无效字节码时,就会引起反编译...
  • Trap Receiver实验程序

    2013-11-13 19:39:44
    计算机网络编程 完整的实验代码 有解析
  • net-snmp 安装与trap调试

    千次阅读 2018-03-07 17:41:04
    1、实验环境 windows(7) ... 了解snmp-trap的接受与解析,实验当相关trap发生时,对应的服务器立即响应 TRAP是提供从代理进程到管理站的异步报告机制 snmp(简单网络管理协议)为了使服务端及时...
  • logstash(二):搭建snmptrap测试环境

    千次阅读 2017-08-08 09:23:33
    对于网络设备,抓取日志的最佳方式莫过于snmptrap,简单快捷、扩展丰富、解析方便,首先需要配置snmptrap插件,这是默认安全的输入插件。首先检查插件的安装情况与版本信息:# 检查安全包内是否包含此插件 bin/...
  • 存储、Dell,EMC mib库

    热门讨论 2012-11-20 11:44:29
    存储、Dell,EMC mib库 ,可用于trap解析,主动获取值
  • SNMP的操作命令:Get Set Trap

    千次阅读 2016-08-23 15:02:55
    SNMP的基本操作命令 SNMP之所以这么简单易用,是附带了三种简单易用的命令: ...Get:管理站读取代理者所处对象的值,从网络设备中获得管理...它可以设置设备的名称,关掉一个端口或清除一个地址解析表中的项。
  • wireshark解析报文一点根据 问题:遇到一个问题,net-snmp发出trap的时候,通过wireshark抓包发现只能发送知名端口162的告警报文。处理过程如下: 检查代码:经过代码排查发现net-snmp没有对端口做任何限制。 抓包...
  • shell : read命令解析

    2020-05-14 14:06:30
    起初是rcS脚本接受不到终止命令,trap read -t 5 -p “put ‘y’ enter nomal mode. put others or wait 5s enter tcp_test mode:” confirm [ $confirm == ‘y’ ] && exit 0 /wy_wapi_static
  • ……软件中断能力(TRAP)……具有灵活的优先级和中断等级管理,支持可嵌套和同级中断管理: ——多达4个软件可编程的嵌套等级;——多有32个中断向量,其入口地址由硬件固定;——2个不可避免的中断:RESET,TRAP;——1...
  • LeetCode第42题解析

    2020-07-21 08:25:47
    给定n个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个... int trap(vector<int&...
  •  函数指针 ... 今天与几个同学看到了一个函数指针定义:   void (*f(int, void (*)(int)...以前在C trap pit fails里面见过,但是文章里面介绍的很详细,但是往往使初学者抓不到重点, 结果弄的一头污水。这里就
  • 代码A: #include <stdio.h> int main(void){ int n,t,i,flag=1,step=0; scanf("%d",&t); while(t--){ ... int trap[n][2]; flag=1; step=0; for(i=0;i<n;i++){ scanf("%d %d",
  • 1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL  ◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的. 从技术角度讲. 表明在内核模式中存在以太高的进程内部请求级别(IRQL)... 2、0x00000012:TRAP_...
  • Windows提供的机制有:  陷阱分发,包括中断、延迟过程调用、异步过程调用、异常分发,以及系统服务分发;  执行体对象管理器;  同步,包括自旋锁、内核分发器对象,以及..._ktrap_frame查看陷阱帧(trap frame)...
  • robots.txt文件规定了爬虫在爬取该网站时有哪些约束。robots.txt示例下面给出一个robots.txt示例:禁止用户代理为BadCrawler的爬虫.../trap链接是禁止链接,如果访问了这个链接,服务器就会封禁你的IP一分钟或者永久
  • 下面是我对源代码写的注解,一些晦涩的地方已经逐一注释,有心人应该不难看懂: #!/bin/bash menu_choice=""...#trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本...
  • 文章目录1. 宏定义`_syscall0`2. `setup.s`读取的参数3.... main函数4.1 根设备号4.2 复制硬盘参数表4.3 计算主内存起始位置4.4 虚拟盘4.5 `mem_init`函数4.6 `trap_init`函数4.6.1 `set_trap_gate

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

trap解析