snmptrap作用,SNMPTRAP

  snmptrap作用,SNMPTRAP

  在“snmpwalk的介绍和使用”一文中,介绍了net-snmp的snmpwalk的使用方法。众所周知,net-snmp也有trap的命令程序,可以用来测试snmp的trap方法(包括inform方法)。这些命令程序是:snmptrap、snmpinform和snmptrapd。其中包括:

  Snmptrap:可以模拟snmp代理向snmp管理端(一般称为网络管理、SNMP管理器或SNMP客户端)发送陷阱;

  Snmpinform:可以模拟snmp代理向snmp管理端发送inform请求(Trap是发送给SNMP管理器通知网络状态的警告消息,inform是需要SNMP管理器确认接收的陷阱。与Inform相比,Trap通知方式是不可靠传输,因为snmp管理端在收到Trap通知后不需要回复任何确认信息,所以snmp代理无法知道Trap通知是否已经被snmp管理端正确接收);

  Snmptrapd:模拟snmp管理端接收trap/inform通知的程序;

  从上面可以看出,通过上面的三个命令程序,我们可以研究snmp的陷阱行为和消息。如果你正在开发snmp代理的trap功能,但是没有snmp管理终端,这三个程序可以帮到你很多。下面详细介绍这三个命令程序的具体用法。

  snmptrapd的配置和使用

  Snmptrapd.conf文件

  和snmp代理一样,snmptrapd需要一个配置文件才能运行,否则会提示无法接收陷阱信息。snmptrapd需要的配置文件名叫做snmptrapd.conf安装net-snmp后,这个配置文件默认不可用,所以需要新建一个文件。文件snmptrapd.conf可以放在net-snmp的安装路径中,也可以放在其他路径中,但需要在启动时指定。建立后,添加以下文件内容:

  authCommunity日志,执行,网络公共

  上述声明指出了snmp“通知”的允许操作,其中“公共”作为“团体”请求[参见参考文献2]。以上是比较简单的配置,但是可以让snmptrapd程序正确运行并接收trap包。snmptrapd.conf文件更详细的配置及其解释参考[1]。

  运行snmptrapd程序

  sudo snmptrapd-C-C Documents/snmptrapd . conf-df-Lo

  上述命令中的选项表示:

  -C:表示配置文件snmptrapd.conf在默认路径下,不使用net-snmp

  -c:指定snmptrapd.conf文件;

  -d:显示接收和发送的数据报,通过该选项可以看到数据报;

  -f:默认情况下,snmptrapd在后台运行。有了这个选项,就意味着在前台运行;

  -L:指定记录日志的位置,后面的O表示直接输出到屏幕。如果后面跟F,表示日志记录在指定的文件中;

  snmptrap的使用

  Snmptrap可以模拟发送不同snmp协议版本的trap包。snmptrap在各个协议版本中的使用方法略有不同。

  一种发送V1版本陷阱消息的方法

  sudo snmptrap-v1-c public 10 . 10 . 12 . 219 1 . 3 . 6 . 1 . 4 . 1 . 1 10 . 10 . 12 . 219 2 3 1000 1 . 3 . 6 . 1 . 9 . 44 . 1 . 2 . 1 I 12 1 . 3 . 4 . 1 . 2 . 3 . 1s test _ snmptrap

  上述指令参数的含义如下:

  在上面的例子中,snmptrapd和snmptrapd都是在虚拟Ubuntu中执行的,因此snmp管理IP与snmp代理IP相同。执行后,可以在执行snmptrapd的窗口中接收数据,如下所示:

  04 01 01 40 04 0A 0A 0C DB 02 01 02。….@…… .

  0032:02 01 03 43 02 03 E8 30 29 30 0E 06 09 2B 06 01…C…0).

  0048:09 09 2C 01 02 01 02 01 0C 30 17 06 06 2B 04 01.……0… .

  0064:02 03 01 04 0D 74 65 73 74 5F 73 6E 6D 70 74 72….test_snmptr

  0080: 61 70美联社

  2013-03-23 17:44:32 Ubuntu . local[10 . 10 . 12 . 219](via UDP:[10 . 10 . 12 . 219]:52930)陷阱,SNMP v1,社区公共

  SNMPv2-SMI:enterprises.1链接中断陷阱(3)正常运行时间:0:00:10.00

  SNMP v2-SMI:internet . 9 . 9 . 44 . 1 . 2 . 1=INTEGER:12 snmpv 2-SMI:org . 4 . 1 . 2 . 3 . 1=STRING:" test _ snmptrap "

  Snmptrapd收到一个陷阱类型为2(即链接关闭类型)且功能代码为3的陷阱数据包。

  一种发送V2版本陷阱消息的方法

  从上面可以看出,V1版发送trap包时有很多参数比如uptime,但是在V 2c版是给指令程序的。

  sudo snmptrap-v 2c-c public 10 . 10 . 12 . 219 AAA 1 . 3 . 6 . 1 . 4 . 1 . 2345 SNMP v2-MIB:sys location . 0s 就在这里

  上面指令各项参数的意思分别为:

  “aaa”:分别是简单网络管理协议简单网络管理协议代理的互联网协议(互联网协议)和主机名称,主机名称可以为空;

  1.3.6.1.4.1.2345:企业OID,企业-OID;

  SNMPv2-MIB:sysLocation.0 s "就在这里":分别是:数据OID,数据类型、数据值。

  使用V2c版本,是不是省了很多,不用输入很多的参数选项。执行指令后,snmptrapd收到如下数据信息:

  从用户数据报协议(User Datagram Protocol)收到75字节:[10.10.12.219]:40033

  0000:30 49 02 01 01 04 06 70 75 62 6C 69 63 A7 3C 02 0I….公共的。

  2E 30 15 06.

  2B 06 01 06 03 01 01 04 01 00 06 07 2B 06 01.

  2B 06 01 02 01 01 06 00……)0……

  6A 75 73 74 20 68 65 72 65.就在这里

  Ubuntu。本地[UDP:[10。10 .12 .219]:40033]:

  SNMP v2-MIB:snmptrapoid。0=OID:SNMP v2-SMI:企业。2345 SNMP v2-MIB:sys位置。0=字符串:就在这里

  snmpinform的使用方法

  snmpinform的使用跟snmptrap的使用方法是一样的,在这里就不多介绍和说明了。最后,贴上它们的使用帮助信息:

  用法:snmptrap[选项]代理陷阱-参数

  版本:5.3.0.1

  网络:http://www.net-snmp.org/

  电子邮件:net-snmp-coders@lists.sourceforge.net

  选项:

  救命啊显示此帮助消息

  -理解高清显示配置文件指令

  -v1 2c 3指定要使用的简单网络管理协议(Simple Network Management Protocol)版本

  -V,-版本显示软件包版本号

  简单网络管理协议(Simple Network Management Protocol)版本一或2c特定

  -c社区设置社区字符串

  简单网络管理协议(Simple Network Management Protocol)版本3特定

  -协议集认证协议(MD5SHA)

  -密码短语集身份验证协议密码短语

  -e引擎ID设置安全引擎ID(例如800000020109840301)

  -E引擎-IDset上下文引擎ID(例如800000020109840301)

  水平设置安全级别(noAuthNoPriv authNoPriv authPriv)

  语境设置上下文名称(例如桥1)

  -你用户名设置安全名称(例如伯特)

  加在以-u结尾的法语词源的名词之后构成复数协议集隐私协议(DESAES)

  加在以-u结尾的法语词源的名词之后构成复数密码设置隐私协议密码

  -Z型靴子,时间设定目的地引擎启动/时间

  常规通信选项

  -r次重试设置重试次数

  超时请求超时(秒)

  排除故障

  -十六进制的ddump输入/输出数据包

  -D令牌[,]打开指定令牌的调试输出

  (全部给出极其详细的调试输出)

  常规选项

  -m MIB[:]加载给定的管理信息库列表(全部加载所有内容)

  -M目录[:]在给定的目录列表中查找管理信息库

  -P MIBOPTSToggle控制管理信息库解析的各种缺省值:

  u:允许在管理信息库符号中使用下划线

  丙:不允许使用"-"来结束注释

  d:保存管理信息库对象的描述

  e:当管理信息库符号冲突时禁用错误

  女:当管理信息库符号冲突时启用警告

  女:当管理信息库符号冲突时启用详细警告

  r:替换最新模块中的管理信息库符号

  -O OUTOPTSToggle控制输出显示的各种默认值:

  0:打印一位数十六进制字符的前导0

  答:以美国信息交换标准码格式打印所有字符串

  不要分解似…的指数

  e:打印数字清单

  e:字符串索引中的转义引号

  女:在输出上打印完整的似…的

  n:用数字打印似…的

  问:快速打印以便于解析

  问:带等号的快速打印

  只印似…的最后的象征元素

  学生:打印管理信息库模块编号加上最后一个元素

  t:打印未解析为数字整数的时间标签

  t:打印人类可读的文本以及十六进制字符串

  u:使用UCD式前缀抑制打印似…的

  u:不打印单位

  五:仅打印值(非OID=值)

  x:以十六进制格式打印所有字符串

  x:扩展索引格式

  -我不在切换控制输入解析的各种缺省值:

  乙:进行最佳/正则表达式匹配来查找管理信息库节点

  不要应用显示提示

  r:不检查范围/类型合法性的值

  随机访问似…的标签

  u:顶级似…的必须有"."前缀(UCD风格)

  s后缀:在解析之前给所有文本似…的附加后缀

  s前缀:在解析之前在所有文本似…的前面加上前缀

  -L LOGOPTSToggle控制日志记录的各种默认值:

  e:记录到标准错误

  o:记录到标准输出

  根本不要登录

  f文件:记录到指定的文件

  s工具:记录到系统日志(通过指定的工具)

  (变体)

  [EON]优先级:记录到标准错误,对于"优先级"及以上级别,输出或/dev/null

  [EON] p1-p2:记录级别" p1 "到" p2 "的标准错误、输出或/dev/null

  [FS] pri令牌:记录到"优先级"及以上级别的文件/系统日志

  [FS] p1-p2标记:记录到级别" p1 "到" p2 "的文件/系统日志

  -丙应用程序设置各种特定于应用程序的行为:

  我:发送通知而不是陷阱

  -第一版阱-参数:

  企业似…的代理陷阱类型特定类型正常运行时间[OID类型值]…

  或者

  -v 2捕集阱-参数:

  正常运行时间梯形[OID类型值] …

  如果还不明白的,可以看一下下面的参考资料,或许对你有帮助。

  参考资料

  [1]http://blog . . net/dumeifang/article/details/4201860

  [2]http://hi . Baidu . com/snail zone/item/73b 4541 c 104154701009 b590

  [3]http://blog . China UNIX . net/uid-677314-id-83386 . html

  [4]http://blog . . net/FX Zhang/article/details/5408827

snmptrap作用,SNMPTRAP