我正在使用Linux平台上的tshark(TShark 1.6.6)调试一个SNMP陷阱问题。(目标平台不支持wireshark GUI。)尽管我已经在
示例调用:
/usr/share/snmp/mibs
中安装了MIB文件并在/usr/local/share/mibs
中创建了一个链接,但PDU中的OID以数字格式显示。我尝试了-V
选项,但似乎没有tshark详细或调试选项,除了一些内存调试选项外。我查看了man页面,没有找到关于SNMP或MIB的内容。我尝试使用strace
命令,并发现一个/usr/share/wireshark/oid
文件,但当我把MIB目录放在那里时,会出现flex
错误,而对这个神秘文件的搜索结果却是空白。我可以将OID复制粘贴到snmptranslate
命令中,并正确翻译它们。我尝试创建一个~/.wireshark
目录,并添加smi_modules
和smi_paths
("/usr/share/snmp/mibs"
)。我执行了tshark -G currentprefs
命令,查看是否有相关的首选项,但并没有。我已经在Google上搜索了这个问题,但是得到的结果太多,无法取得任何进展。我检查了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
?
~/.wireshark/smi_paths
设置为net-snmp
MIB目录就足以让tshark
找到MIB,但似乎并不是这样。感谢您的建议,我很感激。 - Vercingatorix