我正在 Linux 平台上使用 tshark (TShark 1.6.6) 调试 SNMP 陷阱问题。 (目标平台不支持 wireshark GUI。)PDU 中的 OID 以数字格式显示,即使我在 /usr/share/snmp/mibs
中安装了 MIB,并在 >/usr/local/share/mibs
。我试过 -V
。除了一些内存调试选项外,似乎没有 tshark 详细或调试选项。我已经检查了手册页,但在 SNMP 或 MIB 上找不到任何内容。我尝试了 strace
并找到了一个文件 /usr/share/wireshark/oid
文件,但是当我将 MIB 目录放在那里时,我得到了一个 flex
错误,用谷歌搜索这个神秘文件的含义,结果一无所获。我可以将 OID 复制并粘贴到 snmptranslate
命令中,它会正确翻译它们。我尝试用 smi_modules
和 smi_paths
("/usr/share/snmp/mibs"
)。我做了一个 tshark -G currentprefs
来查看是否有相关的偏好,但没有。我用谷歌搜索了这个问题,但我得到了太多的废话,无法取得任何进展。我检查了 unix.stackexchange.com、superuser.com 和这个站点。我确认人们在这个网站上问 wireshark 问题(其中 10,000 个)以确保它是主题。
调用示例:
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
的内容:
name_resolve: mtC
name_resolve_load_smi_modules: TRUE
snmp.display_oid: TRUE
snmp.desegment: TRUE
snmp.var_in_tree: TRUE
如何让 OID 以符号格式显示,例如sysUpTimeInstance
和 snmpTrapOID.0
?
最佳答案
我找到了资料Resolving SNMP OID in snmpbulkwalk and tshark有用。
将我的 MIB 添加到 ~/.wireshark/smi_modules(通过 wireshark 名称解析首选项),并确保 MIB 位于正确的位置
(在 Mac 上,我使用 dtrace 来跟踪“tshark”正在访问哪些文件并将路径定位为/usr/share/snmp/mibs)
关于linux - 使用 tshark (wireshark) 解码 SNMP OID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491733/