gpt4 book ai didi

snmp - 如何使用 snmpget 通过 SNMP 传递脚本的变量?

转载 作者:行者123 更新时间:2023-12-04 20:33:26 28 4
gpt4 key购买 nike

我有一个简单的 bash 脚本调用 test_snmp,让我们说:

#!/bin/bash
echo $1

我将 snmpd.conf 设置如下:
rwcommunity public 127.0.0.1
extend .1.3.6.1.4.1.2021.53 /bin/bash /tmp/test_snmp

我想做的是运行 snmpwalk 命令,例如:
snmpwalk -v2c -c public 127.0.0.1 .1.3.6.1.4.1.2021.53 "PRINT SOMETHING"

从输出我看到 oid = iso.3.6.1.4.1.2021.53.3.1.1.9.47.98.105.110.47.98.97.115.104 = "" , 是脚本的输出。但我想传递那个字符串 "PRINT SOMETHING" ,作为 $1上面提到的脚本的参数,然后使用 "PRINT SOMETHING" 获取字符串(在本例中为 snmpget )命令,类似于:
snmpget -v2c -c public 127.0.0.1 iso.3.6.1.4.1.2021.53.3.1.1.9.47.98.105.110.47.98.97.115.104

这只是一个例子,我正在通过通过 snmp 运行脚本来测试我有哪些选项,因为如果这可行,那么我将编写另一个脚本来远程运行,但我必须使用变量来运行它们。

有谁知道怎么做?

谢谢

最佳答案

我花了很多时间才找到所有答案。我希望,这将成为某人的起点并节省时间。

/etc/snmp/snmpd.conf:

rwcommunity public
pass .1.3.6.1.4.1.YOUR_NUM_HERE.1 /path/to/your/script.sh

/path/to/your/script.sh:
#!/bin/bash 

case "$1" in
-g) // GET Req
echo $2 # ANSWER OID
echo "string" # string/int/etc...
echo "you data" #
;;
-s) // SET Req
# Your code for processing SET Req
exit 0
;;

-n) // GETNEXT Req

echo $2
echo "string"
# Your code for processing GETNEXT Req
;;
*)
;;
esac

您可以使用 snmpwalk 之后,将您的代码放在“-n”案例之后。
如果是 snmpget ,您的代码将在“-g”之后

关于snmp - 如何使用 snmpget 通过 SNMP 传递脚本的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40525027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com