linux - 使用 tshark (wireshark) 解码 SNMP OID

标签 linux snmp wireshark tshark

我正在 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_modulessmi_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 以符号格式显示,例如sysUpTimeInstancesnmpTrapOID.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/

相关文章:

c++ - 第二次运行tshark.c源文件后的 fatal error

linux - 当条件处于ansible状态时

php - 对某些 CMS 或框架的多个实例使用符号链接(symbolic link)

c++ - boost/asio async_read() TCP 服务器 - 了解 io_service.run() 在 linux 上

ubuntu-14.04 - snmpd 的 SNMPDOPTS 中的 mteTrigger 选项有什么作用?

java - 基于wireshark网络嗅探器分析java.io.IOException

linux - 在 Linux 中启用 Blender openCL 计算

SNMP:ASN.1 MIB 定义。在表中引用表

python - PySNMP 无法识别响应

ssl - Wireshark 解密 SSL 相互