我正在尝试使用以下命令行发送snmp陷阱:
snmptrap -v 1 -c public host '1.2.3.4.5.6' '192.193.194.195' 6 99 '55' 1.11.12.13.14.15 s "teststring"
或
snmptrap -v 2c -c public host "" UCD-NOTIFICATION-TEST-MIB::demoNotif \
SNMPv2-MIB::sysLocation.0 s "Just here"
但我收到此错误消息:
getaddrinfo: host Name or service not known
getaddrinfo("host", NULL, ...): Name or service not known
snmptrap:
zsh: exit 1 snmptrap -v 1 -c public host '1.2.3.4.5.6' '192.193.194.195' 6 99 '55' s
怎么了?我好像没有得到什么......
我的最终目的是在shell脚本中的特定端口上发送localhost上的陷阱..
编辑:我有一个新错误:
read_config_store open failure on /var/lib/snmp/snmpapp.conf
我该如何解决?我无法修改计算机上的任何文件。我只能在shell脚本中写一些行来发送陷阱..
答案 0 :(得分:3)
我认为主持人"主持人"在您的网络上不存在。请尝试输入陷阱目标的IP地址或现有主机名。
顺便说一句,你不需要在OID字符串周围加上引号。在手册页上有关于命令语法的更多信息," man snmptrap"
编辑: 您的第二个错误看起来是您正在处理的计算机配置错误的结果。构建(编译)程序的人犯了错误,或者sysadmin在某些文件/目录上设置了异常权限。
假设它是某种Unix / Linux,我已经在网上搜索了建议,你可以尝试将shell变量SNMP_PERSISTENT_DIR设置为可写给用户的目录(例如/ tmp)。然后再次尝试该命令。 即如果使用Bash:
# SNMP_PERSISTENT_DIR=/tmp
# export SNMP_PERSISTENT_DIR
# snmptrap <etc>