1. 配置
首先是snmp trap接收端的配置。
默认应该没有这个文件的,你可以通过touch命令来创建snmptrapd.conf
# 创建trapd配置文件
touch snmptrapd.conf
# 打开snmptrapd.conf文件
vim snmptrapd.conf
配置命令如下:
# authcommunity是为了设置所有用户的访问权限:可执行,记录,传递。
# community设定为public或者换成任何你设定的字符串,发送端也要同步
authcommunity execute,log,net public
snmpTrapdAddr udp:10222 # 指定协议以及发送端口
2. 测试
启动snmptrapd服务并显示详细信息
snmptrapd -M /home/super/snmp/mibs/:/home/super/snmp -C -c /home/super/snmp/trap/snmptrapd.conf -df -Lo
# -M 设备mib存放的文件夹
# -m 指定.mib文件
# -C 和 -c配合使用 只读-c后指定的配置文件
# -c snmptrapd.conf trapd配置文件
# -d 以16进制打印SNMP请求数据包和SNMP响应数据包
# -Lo 标准输出到控制台
# -Lf 输出到文件中
# -f Do not fork() from the calling shell. 告诫用户不要在shell脚本或者交互式shell中调用fork() 我也不太懂什么意思orz
运行成功如图:
这样trapd就会监听指定端口了。
在发送端触发trap,可以在刚刚设置的接收端看到发出的报文。
至此trapd设置成功。
PS.
当community设置相同时,可以看到有一个正常的informRequest和一个get-response的回包。
当community设置不同时,接收端过滤掉这条trap包,当发送端接受不到回包时会触发重传机制,重复发送(默认)6次。
但其实并不影响你接受trap报文,通过抓包我们其实可以看到trap上报其实已经发送过来了,并且由于snmp v1,v2c的特性,并没有加密机制。
标签:snmptrapd,snmp,分钟,发送,trapd,trap,conf,搞懂 From: https://www.cnblogs.com/cenima/p/17836877.html