首先,推荐两个工具,一个是IReasoning MIB Brower (收费,但是出了一个个人版的好像不收费,官网可以下)
还有wireshark,前者是mib浏览器,后者用来抓包,
其次,要理解snmp的管理方式,如果你把自己的电脑打开了snmp,那么mib浏览器的ip地址就要填写本块
网卡的,一次类推,如果你打开了别人的,就填别人的ip,那么思考一下本地自己的snmp还用开吗?你可以试试。
下面,来介绍一下wireshark免费的抓包工具,但是通常联网后,有很多包,这时候需要来设置一下过滤器。
在主界面选择要抓包的网卡,然后选择过滤器,过滤器默认没有snmp需要选择
这里左边会有很多协议选项,可以ctrl+f 进行搜索,选择is present即可
这里用了一个简单的小工具,通过命令行方式使用,但是初学者还是用mib浏览器吧,这个打命令费时间
这是一条命令
Snmputil get 10.16.45.91 public .1.3.6.1.2.1.1.1.0 .1.3.6.1.2.1.1.4.0
.1.3.6.1.2.1.1.6.0
抓包得到:
其实wirshark已经给出了完整的分析,这里再做一点说明
30 42 //30 是SEQUENCE OF 结构 42转换成10进制66,是后面的长度;
{【02 01 00】 //版本号
【04 06 70 75 62 6c 69 63】 //共同体名
【a0 35 //data -- get-request
(02 01 01)//request id
(02 01 00)//error-status
(02 01 00)//error-index
(30 2a variable-bindings
《30 0c<06 08 2b 06 01 02 01 01 04 00 05 00>》//一个varbind
《30 0c<06 08 2b 06 01 02 01 01 04 00 05 00>》
《30 0c<06 08 2b 06 01 02 01 01 06 00 05 00>》)
】}
这样希望你能看懂,当然这个结构老早就被一堆科学家定义好了,可以查阅相关的RFC文档,编码的时候使用asn.1.主要注意
是TLV结构就好了。本人不才,也不会的很多,这里献丑了。如果你有啥问题,可以q我1071332303.