您当前的位置: 首页 > 电脑安全 > 电脑安全基础知识 浏览
在 Wireshark 抓包中显示 snmp mib 名
发布时间:2015-12-02    点击率:次    来源:www.sytcke.com    作者:电脑技术学习网

  Wireshark 是最富盛名的开源抓包工具了,在电信网管开发的日常工作中是不可或缺的,经常需要抓包分析。那有没有办法可以在抓到的包中直接显示 snmp mib 的名字,而不是 OID 呢?办法当然是有的,也很简单,在官方的文档里面就有说明了。这里讲下实际配置步骤:

  1. 把 mib 文件放到 “C:Program FilesWiresharksnmpmibs” 目录下。

  2. 打开 “%APPDATA%Wiresharksmi_modules” 文件,在里面按原有的格式,添加mib名字。

  3. 修改 Wireshark 的配置,选中 “Enable OID resolution”,”Suppress SMI errors”(如下图)。修改之后关闭再重新打开 Wireshark 就生效了。

在 Wireshark 抓包中显示 snmp mib 名  三联

  注意事项:

  1. 如果看到的配置界面跟上面的不一样的话,是 Wireshark 版本太低了,升级到最新的版本即可。

  2. 不是所有的 mib 文件都能被正确的解析,这是一个已知问题,因为其用的开源的 mib 解析模块 libsmi 有问题。如果发现加了某几个 mib 之后 Wireshark 就启动不了了,那就还是把改动回退吧。

  参考阅读:1,2,3。

  另外,因为要求 mib 文件的名字必须是 mib 模块的名字,但是存在文件名和模块名不一致的情况,写了个 groovy 脚本,对指定目录下的 mib 文件进行重命名:

  import java.util.regex.*

  def dir = new File(C:Program FilesWiresharksnmpmibs)

  def pattern = ~/(?ms).*^s*([w-]+)s*DEFINITIONS ::= BEGINs*$.*/

  dir.eachFileRecurse{ f ->

  if ( f.file && f.name.endsWith(".mib") ) {

  Matcher m = pattern.matcher( f.getText() );

  if (m.matches()) {

  f.renameTo( f.parentFile.path + "" + m[0][1] )

  println " + m[0][1] + "

  }

  }

 

  }

来源 电脑技术网 www.sytcke.com
发表留言
发表留言请先登录!
免责声明:本站发布的信息和评论纯属网民个人行为,并不代表本站立场,如发现有违法信息或侵权行为,请直接与本站管理员联系,我们将在收到您的信息后24小时内作出处理!