<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>开心e点 &#187; nms</title>
	<atom:link href="http://www.ebnd.cn/tag/nms/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ebnd.cn</link>
	<description>好好学习 天天向上</description>
	<lastBuildDate>Tue, 21 Jun 2011 15:00:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>在 Wireshark 抓包中显示 snmp mib 名</title>
		<link>http://www.ebnd.cn/2010/12/09/display-snmp-mibname-in-wireshark/</link>
		<comments>http://www.ebnd.cn/2010/12/09/display-snmp-mibname-in-wireshark/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 01:42:50 +0000</pubDate>
		<dc:creator>dandan</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[nms]]></category>
		<category><![CDATA[Wireshark]]></category>

		<guid isPermaLink="false">http://www.ebnd.cn/?p=564</guid>
		<description><![CDATA[Wireshark 是最富盛名的开源抓包工具了，在电信网管开发的日常工作中是不可或缺的，经常需要抓包分析。那有没有办法可以在抓到的包中直接显示 snmp mib 的名字，而不是 OID 呢？办法当然是有的，也很简单，在官方的文档里面就有说明了。这里讲下实际配置步骤： 1. 把 mib 文件放到 “C:\Program Files\Wireshark\snmp\mibs” 目录下。 2. 打开 “%APPDATA%\Wireshark\smi_modules” 文件，在里面按原有的格式，添加mib名字。 3. 修改 Wireshark 的配置，选中 “Enable OID resolution”，”Suppress SMI errors”（如下图）。修改之后关闭再重新打开 Wireshark 就生效了。 注意事项： 1. 如果看到的配置界面跟上面的不一样的话，是 Wireshark 版本太低了，升级到最新的版本即可。 2. 不是所有的 mib 文件都能被正确的解析，这是一个已知问题，因为其用的开源的 mib 解析模块 libsmi 有问题。如果发现加了某几个 mib 之后 Wireshark 就启动不了了，那就还是把改动回退吧。 参考阅读：1，2，3。 另外，因为要求 mib 文件的名字必须是 mib 模块的名字，但是存在文件名和模块名不一致的情况，写了个 groovy 脚本，对指定目录下的 mib [...]]]></description>
			<content:encoded><![CDATA[<p><a href="www.wireshark.org" target="_blank">Wireshark</a> 是最富盛名的开源抓包工具了，在电信网管开发的日常工作中是不可或缺的，经常需要抓包分析。那有没有办法可以在抓到的包中直接显示 snmp mib 的名字，而不是 OID 呢？办法当然是有的，也很简单，在官方的文档里面就有说明了。这里讲下实际配置步骤：</p>
<p>1. 把 mib 文件放到 “C:\Program Files\Wireshark\snmp\mibs” 目录下。</p>
<p>2. 打开 “%APPDATA%\Wireshark\smi_modules” 文件，在里面按原有的格式，添加mib名字。</p>
<p>3. 修改 Wireshark 的配置，选中 “Enable OID resolution”，”Suppress SMI errors”（如下图）。修改之后关闭再重新打开 Wireshark 就生效了。</p>
</p>
<p><img src="http://pic.yupoo.com/moonese/AGgXsx6C/medium.jpg" alt="配置 Wireshark " /></p>
<p><br/></p>
<p>注意事项：</p>
<p>1. 如果看到的配置界面跟上面的不一样的话，是 Wireshark 版本太低了，升级到最新的版本即可。</p>
<p>2. 不是所有的 mib 文件都能被正确的解析，这是一个<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560325" title="libsmi2ldbl: crashes wireshar when MIB-s are missing" target="_blank">已知问题</a>，因为其用的开源的 mib 解析模块 libsmi 有问题。如果发现加了某几个 mib 之后 Wireshark 就启动不了了，那就还是把改动回退吧。</p>
<p>参考阅读：<a href="http://wiki.nil.com/Add_MIB_files_to_Wireshark_SNMP_decoder" title="Add MIB files to Wireshark SNMP decoder" target="_blank">1</a>，<a href="http://wiki.wireshark.org/SNMP" title="Wireshark wiki: Simple Network Management Protocol (SNMP)" target="_blank">2</a>，<a href="http://hpux.ewi.tudelft.nl/hppd/hpux/Gtk/Applications/wireshark-1.4.1/readme.html" title="Wireshark 1.4.1 readme" target="_blank">3</a>。</p>
<p><br/></p>
<p>另外，因为要求 mib 文件的名字必须是 mib 模块的名字，但是存在文件名和模块名不一致的情况，写了个 groovy 脚本，对指定目录下的 mib 文件进行重命名：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.regex.*</span>
def dir <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">File</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #0000ff;">'C:<span style="color: #000099; font-weight: bold;">\P</span>rogram Files<span style="color: #000099; font-weight: bold;">\W</span>ireshark<span style="color: #000099; font-weight: bold;">\s</span>nmp<span style="color: #000099; font-weight: bold;">\m</span>ibs'</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span>
def pattern <span style="color: #339933;">=</span> ~<span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span>ms<span style="color: #009900;">&#41;</span>.<span style="color: #339933;">*^</span>\s<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>\w\<span style="color: #339933;">-</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#41;</span>\s<span style="color: #339933;">*</span>DEFINITIONS <span style="color: #339933;">::=</span> BEGIN\s<span style="color: #339933;">*</span>$.<span style="color: #339933;">*/</span>
dir.<span style="color: #006633;">eachFileRecurse</span><span style="color: #009900;">&#123;</span> f <span style="color: #339933;">-&gt;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> f.<span style="color: #006633;">file</span> <span style="color: #339933;">&amp;&amp;</span> f.<span style="color: #006633;">name</span>.<span style="color: #006633;">endsWith</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;.mib&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		Matcher m <span style="color: #339933;">=</span> pattern.<span style="color: #006633;">matcher</span><span style="color: #009900;">&#40;</span> f.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>m.<span style="color: #006633;">matches</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			f.<span style="color: #006633;">renameTo</span><span style="color: #009900;">&#40;</span> f.<span style="color: #006633;">parentFile</span>.<span style="color: #006633;">path</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span> <span style="color: #339933;">+</span> m<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span>
			println <span style="color: #0000ff;">'&quot;'</span> <span style="color: #339933;">+</span> m<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">'&quot;'</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><br/></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>九月 28, 2009 -- <a href="http://www.ebnd.cn/2009/09/28/add-row-data-for-adventnet-simulator/" title="如何给 AdventNet Simulator 增加新的表以及数据">如何给 AdventNet Simulator 增加新的表以及数据</a> (0)</li><li>九月 7, 2009 -- <a href="http://www.ebnd.cn/2009/09/07/file-format-analysis-of-wireshark-pcap/" title="[转] Wireshark的Pcap文件格式分析">[转] Wireshark的Pcap文件格式分析</a> (0)</li><li>九月 7, 2009 -- <a href="http://www.ebnd.cn/2009/09/07/capture-pppoe-packets-on-hub-in-wireshark/" title="Wireshark hub 下抓不到包问题解决">Wireshark hub 下抓不到包问题解决</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.ebnd.cn/2010/12/09/display-snmp-mibname-in-wireshark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何给 AdventNet Simulator 增加新的表以及数据</title>
		<link>http://www.ebnd.cn/2009/09/28/add-row-data-for-adventnet-simulator/</link>
		<comments>http://www.ebnd.cn/2009/09/28/add-row-data-for-adventnet-simulator/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 00:05:21 +0000</pubDate>
		<dc:creator>dandan</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[nms]]></category>
		<category><![CDATA[snmp]]></category>

		<guid isPermaLink="false">http://www.ebnd.cn/?p=195</guid>
		<description><![CDATA[AdventNet Simulator 是一个模拟 SNMP Agent 的工具，支持常规的 SNMP Get / GetBulk / Set 等操作，对于网管软件的开发很有帮助。用这个工具，可以做到不需要实际的设备，而只需要设备相关的 SNMP mib 文件就可以模拟出一个“真实”的节点设备。在实际的开发过程中，往往网管和设备是同时开始的，在设备开发还没有结束的情况下，网管就可以用模拟器先模拟出一个设备进行基本的集成测试。 这里假定已经在 AdventNet Simulator 里有了一个模拟出的设备了，并且选择的方式是 XML 方式。那如果 mib 文件发生了改动，这个时候通常的做法是先 Stop Agent，然后在左边的 mib 树上选中要更新的 mib，点击 Unload Mib File，之后再重新加载就可以了。但是这样做带来的一个问题是之前配置的所有的数据可能都会丢掉，需要重新配，比较麻烦。 如果改动的 mib 不是很多的话，也可以直接修改 xml 文件来使模拟的设备支持新的 mib 表。 假设&#60;SimulatorDir&#62;是 AdventNet Simulator 的安装目录，&#60;DeviceName&#62;是模拟的设备的名称，新增的表名字叫 NewMibTable。做法如下： 进入 &#60;SimulatorDir&#62;/snmpagents/&#60;DeviceName&#62; 目录 打开 &#60;DeviceName&#62;_netSimMapping.xml，参考该文件中已有的其他表项，添加新增表的定义。 打开 &#60;DeviceName&#62;_netSimRegister.xml，同2，参考文件中已有的其他项，添加新增增表的定义。 找一个跟新增的项比较接近的 mib 表，拷贝粘贴重命名，生成 &#60;DeviceName&#62;_NewMibTable.xml，&#60;DeviceName&#62;_NewMibTable1.xml，&#60;DeviceName&#62;_NewMibTable_org.xml，&#60;DeviceName&#62;_NewMibTable1_org.xml，同样修改里面的数据，以适合这个新增表各个字段的类型和数值。 [...]]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.webnms.com/simulator/index.html" href="http://www.webnms.com/simulator/index.html" target="_blank">AdventNet Simulator</a> 是一个模拟 SNMP Agent 的工具，支持常规的 SNMP Get / GetBulk / Set 等操作，对于网管软件的开发很有帮助。用这个工具，可以做到不需要实际的设备，而只需要设备相关的 SNMP mib 文件就可以模拟出一个“真实”的节点设备。在实际的开发过程中，往往网管和设备是同时开始的，在设备开发还没有结束的情况下，网管就可以用模拟器先模拟出一个设备进行基本的集成测试。</p>
<p>这里假定已经在 AdventNet Simulator 里有了一个模拟出的设备了，并且选择的方式是 XML 方式。那如果 mib 文件发生了改动，这个时候通常的做法是先 Stop Agent，然后在左边的 mib 树上选中要更新的 mib，点击 Unload Mib File，之后再重新加载就可以了。但是这样做带来的一个问题是之前配置的所有的数据可能都会丢掉，需要重新配，比较麻烦。</p>
<p>如果改动的 mib 不是很多的话，也可以直接修改 xml 文件来使模拟的设备支持新的 mib 表。</p>
<p>假设<span style="color: #0000ff;">&#60;SimulatorDir&#62;</span>是 AdventNet Simulator 的安装目录，<span style="color: #0000ff;">&#60;DeviceName&#62;</span>是模拟的设备的名称，新增的表名字叫 NewMibTable。做法如下：</p>
<ol>
<li>进入 <span style="color: #0000ff;">&#60;SimulatorDir&#62;</span>/snmpagents/<span style="color: #0000ff;">&#60;DeviceName&#62;</span> 目录</li>
<li>打开 <span style="color: #0000ff;">&#60;DeviceName&#62;</span>_netSimMapping.xml，参考该文件中已有的其他表项，添加新增表的定义。</li>
<li>打开 <span style="color: #0000ff;">&#60;DeviceName&#62;</span>_netSimRegister.xml，同2，参考文件中已有的其他项，添加新增增表的定义。</li>
<li>找一个跟新增的项比较接近的 mib 表，拷贝粘贴重命名，生成 &#60;DeviceName&#62;_NewMibTable.xml，&#60;DeviceName&#62;_NewMibTable1.xml，&#60;DeviceName&#62;_NewMibTable_org.xml，&#60;DeviceName&#62;_NewMibTable1_org.xml，同样修改里面的数据，以适合这个新增表各个字段的类型和数值。</li>
</ol>
<p>按照上述步骤，做完了之后再重新 Start Agent，然后验证下看这个新增的表格增删改数据有没有问题。如果没有问题，那恭喜你，已经成功了。如果不能增加修改的话怎么办呢？那就耐心点，再检查下上面的一些配置文件是不是都配置的正确，有配的不对的就改掉，应该就好了。</p>
<p>另外，如果想实现其他的一些目的，比如不在模拟器 UI 里面增加数据，而直接修改 XML 文件等等；有了上面的经验，已经也能够想到办法的了。</p>
<p><br class="spacer_" /></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>十二月 9, 2010 -- <a href="http://www.ebnd.cn/2010/12/09/display-snmp-mibname-in-wireshark/" title="在 Wireshark 抓包中显示 snmp mib 名">在 Wireshark 抓包中显示 snmp mib 名</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.ebnd.cn/2009/09/28/add-row-data-for-adventnet-simulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

