网站图标显示

3分钟搞懂snmptrapd的配置与使用

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

运行成功如图:
image

这样trapd就会监听指定端口了。

在发送端触发trap,可以在刚刚设置的接收端看到发出的报文。

image

至此trapd设置成功。

PS.

当community设置相同时,可以看到有一个正常的informRequest和一个get-response的回包。

image

当community设置不同时,接收端过滤掉这条trap包,当发送端接受不到回包时会触发重传机制,重复发送(默认)6次。

image

但其实并不影响你接受trap报文,通过抓包我们其实可以看到trap上报其实已经发送过来了,并且由于snmp v1,v2c的特性,并没有加密机制。

posted @ 2023-11-17 14:24  纯真丁一郎です  阅读(1574)  评论(0编辑  收藏  举报