Articles of snmp

Snmpwalk Linux Bash不返回数组

我运行一个nagios服务器上的opensuse linux通过snmp连接到esx 3.5服务器 我试图让snmpwalk返回一个数组,但它只返回一个值。 在esx盒子上,我用下面的shell来查找所有快照的大小 – /usr/bin/find /vmfs/volumes/ -name '*delta*.vmdk' -printf %f' '%s'\n' 这在esx框上运行时返回以下内容 – [root@localhost root]# /bin/sh /etc/snmp/snmp_snapshots.sh testnag01-000001-delta.vmdk 16840704 testnag01-000002-delta.vmdk 167835648 testnag01-000003-delta.vmdk 151058432 在nagios盒子上,我有以下shell – declare -a RESULT=$(/usr/bin/snmpwalk -v 2c -c public 10.10.0.20 .1.3.6.1.4.1.6876.57.101.2 | grep vmdk | awk {' print $4,$5 '} | sed 's/ /_size:/g' | sed 's/\"//g') echo "snapshot 1" […]

IPC :: Open3运行与独立snmwalk命令不同行为的snmpwalk

我已经做了一个自定义的子使用Open3在Perl中运行各种terminal命令。 我遇到了snmpwalk的一个奇怪的问题,当我在terminal运行命令它的工作,但与Open3它不会。 子是这样的: sub run_cmd { my ( $cmd, @args ) = @_; my ( $infh, $outfh, $errfh, $pid, $out, $err ); use Symbol 'gensym'; $errfh = gensym(); # open3 does not init stderr, we have to do it. output( "run_cmd: $cmd @args\n", 2, 1 ); #for debug eval { $pid = open3( $infh, $outfh, […]

使用tshark解码SNMP OID(wireshark)

我正在Linux平台上使用tshark(TShark 1.6.6)来debuggingSNMP陷阱问题。 (目标平台不支持wireshark GUI。)尽pipe我已经在/usr/share/snmp/mibs安装了MIB,并且链接到/usr/local/share/mibs但PDUs中的OID以数字格式显示。 我试过了-V 。 除了一些内存debugging选项,似乎没有tshark详细或debugging选项。 我已经检查了手册页,在SNMP或MIB上找不到任何东西。 我尝试strace ,我find了一个文件/usr/share/wireshark/oid文件,但是当我把MIB目录放在那里时,我得到一个flex错误,而谷歌search这个神秘的文件意味着什么都没有。 我可以将OID复制并粘贴到snmptranslate命令中,并正确地转换它们。 我试图用smi_modules和smi_paths ( "/usr/share/snmp/mibs" )创build~/.wireshark目录。 我做了一个tshark -G currentprefs ,看看是否有相关的偏好,但没有。 我已经search了这个问题,但我得到了太多的cha to,以取得任何进展。 我检查了unix.stackexchange.com,superuser.com和这个网站。 我核实了人们在这个网站上询问wireshark的问题(其中一万个),以确保它是在主题上。 示例调用: tshark -R "snmp && ip.dst==<nms_ip>" -i eth0 Running as user "root" and group "root". This could be dangerous. Capturing on eth0 4.675952 <agent_ip> -> <nms_ip> SNMP 115 sNMPv2-Trap 1.3.6.1.2.1.1.3.0 1.3.6.1.6.3.1.1.4.1.0 ~/.wireshark/preferences […]

snmpset / get返回超时:没有响应ipv6

我使用snmp来查询和设置一些在IPv6模式下的OID。 我使用下面的snmp命令。 我已经检查并configuration它来听取udp6:161。 snmpget -cpublic -v2c udp6:[2001:db8:3c4d::41a9:8e4e:a094:3840] .1.3.6.1.4.1.1429.5.1.1.2.5.6.0 它给出了结果 Timeout: No Response from udp6:[2001:db8:3c4d::41a9:8e4e:a094:3840] 使用ping检查时,给定的IP地址也是活动的。 将conf文件更改为包含rwcommunity6和rocommunity6。 我究竟做错了什么?

从Linux命令行发送SNMP2陷阱消息

伙计们, 我需要从Linux命令行使用此命令(snmptrap)将自定义消息发送给陷阱侦听器。 我需要根据用户设置在v1和v2c中发送相同的消息。 这是我发现的。 对于v1: snmptrap -v 1 -c Tas hostname 1.3.6.1.4.1.2.3 "" 6 3 1234 ss "This is a test" 上述命令的作品,我在我的听众看到以下消息。 Display of SNMPv1 trap: community: Tas enterprise oid: 1.3.6.1.4.1.2.3 ….. ibmAgents agentAddress: hostname generic-trap: enterpriseSpecific ('00000006'h) specific-trap: 3 ('00000003'h) time-stamp: 1234 – 12.34 seconds varBind oid: OBJECT_IDENTIFIER 1.3.6.1.6 name: snmpV2 value: OCTET_STRING This […]

与gcc -lnetsnmp链接时未定义的引用

我试图编译和运行我需要snmp库的树莓派上的代码。 但是,我得到链接错误,如“未定义的引用到'EVP_DigestUpdate'”。 过去几天我一直在研究这个问题,并发现这通常发生在snmp无法findssl库encryption时,例如,如果您在链接对象时未指定-lsnmp时指定-lcrypto,或者何时链接器只是不能find-lcrypto。 但是,在我的树莓派我有所有需要的库在/ usr / lib / gcc / arm-linux-gnueabihf。 这是我安装库的方式: apt-get install libssl-dev libsnmp-dev libsnmp-base libsnmp30 我用这个命令生成trap.o: gcc -c -g -pedantic -Wall -Wshadow -I/home/pi/tests/h -I/usr/include trap.c -o trap.o 我用这个命令链接trap.o库: gcc -static -g -pedantic -Wall -Wshadow trap.o -o trap -L/usr/lib/arm-linux-gnueabihf/lib -lcrypto -lpthread -lnetsnmpagent -lnetsnmpmibs -lnetsnmphelpers -lnetsnmp 然后我得到这个错误: gcc -static -g -pedantic -Wall -Wshadow trap.o […]

通过使用SNMP协议的SNMP命令运行脚本可以在脚本独立运行时提供不同的输出

我想通过SNMP命令执行脚本。因此,对于该脚本,我已经在/etc/snmp文件夹下的snmpd.confconfiguration了OID 。 我的脚本看起来像工作只是将"text"redirect到output.txt文件,然后打印在控制台上执行的脚本。 #!/usr/bin/ksh Input_path="$HOME/input.txt" Out_Path="$HOME/output.txt" #I have to take the line_num from output.txt which is actually number of line present in output.txt line_num=`wc -l <$out` #after that i need to take that line from INPUT file line=`head -$a $Input_path | tail -1 ` #i need to uppend data to 1 kb for that i […]

CentOS使用SNMP来显示界面的使用

我有一个SNMP监视框,并希望监视群集数据库服务器上的接口利用率。 我试图找出正确的OID来监视 – 我只需要SNMP来返回给定时间的总接口吞吐量。 SNMP框已经configuration,并将正确地绘制它。 我可以find所有关于设置Catci或MRTG的说明,这些都很好,但是我所需要的似乎更简单,但是我似乎无法find我要找的东西。 SNMP框已经configuration了正确的社区名称等等,所以这在理论上应该是非常容易的。 任何帮助非常感激地收到 谢谢

SNMP有效负载地址转换

我使用linux下的iptables来进行SNMP通信。 某些SNMP数据包的VARBIND包含生成它们的设备的(真实)IP地址。 这混淆了标准pipe理工具,它们需要在VARBIND中查看NAT地址。 所以我需要翻译有效载荷中的地址以及标题中的地址。 标准工具是nf_nat_snmp_basic.ko内核模块,但是原始版本只翻译地址的第一个八位字节,最新版本只是简单地破坏了数据包。 这显然是networking上的“常识”(www.netfilter.org),我已经在自己的设备上进行了validation。 在深入内核之前,有没有其他人研究过这个问题,并提出一个合适的解决scheme? 现在,仅将那些将OID指定为IP地址types的VARBIND进行转换就足够了。 换句话说,我不需要翻译embedded到string数据中的地址,这会更困难。 感谢您的build议!

SNMPpipe理的树莓派

我有一个树莓派,与我的networking中的一些路由器和交换机连接。 我使用OpenNMS来pipe理这些networking设备。 我也希望在OpenNMS中监控Pi的状态。 我需要监视一些参数,如 networking带宽使用情况 CPU使用率(可选)。 存储卡上的可用空间。 陷阱在不正确的login尝试的情况下。 还有一些像上次login时间等参数 我打算在C / C ++ / Java中为Pi编写一个SNMP代理 。 谁能告诉我在哪里可以find一些好的资源来编写自己的SNMP代理?