snmp wireshark 抓包

背景

看完rfc 上 snmp v1协议,还是一脸懵逼,于是想通过抓包来查看snmp发送的数据。

1 客户端 使用 iReasoning MIB browse

最开始看到这里提到了 iReasoning MIB browse handbook.fortinet.com.cn/%E7%B3%BB%E...

下载地址 www.ireasoning.com/download.sh... 下载MIB Browser Free Personal Edition 也够用了 界面如下所示

2 ubuntu 下 snmp安装

一开始搜到的是如下的文章 handbook.fortinet.com.cn/%E7%B3%BB%E... 里面是针对centos配置的,就跳过了。。

ubuntu开始参考了如下的文档 supportportal.juniper.net/s/article/W...

arduino 复制代码
sudo apt-get install snmpd

但是看起来后面的mibs配置麻烦,又参考了下面的文档 askubuntu.com/questions/1...

sql 复制代码
sudo apt-get update
sudo apt-get install snmpd
sudo nano /etc/snmp/snmpd.conf

"#agentAddress udp:127.0.0.1:161"
"agentAddress udp:161,udp6:[::1]:161"

sudo service snmpd restart

Step 2:

sudo apt-get install snmp-mibs-downloader
sudo download-mibs

sudo nano /etc/snmp/snmp.conf
mibs +ALL

ps:我没装nano,上面的我使用了vim

客户端安装这个没啥

复制代码
sudo apt install snmp

3 window 下 net-snmp安装

3.1 直接使用系统进行安装

搜 应用和功能,点击 可选功能,之后 添加可选功能,输入snmp就能 安装

PS:我的系统禁止了更新,这里会报错。。。安装正常的可以忽略

0x80070422错误代码如何解决 www.php.cn/faq/533984....

3.2 使用二进制安装包

下载二进制包

net-snmp下载页面 www.net-snmp.org/download.ht...

这里使用了 "Sourceforge download page - all files" 来下载 sourceforge.net/projects/ne...

然后下载了net-snmp-5.5.0-2.x64.exe

官方的README里有一堆配置,没尝试(其中snmpconf依赖32位的Perl,放弃了)

bash 复制代码
  The Net-SNMP Windows installer package performs the following tasks:

  - Installs the Net-SNMP binaries, MIB files and ActiveState 5.8.x Perl PPM 
    package into the installation folder (defaults to c:\usr). 
  - Adds (install folder)\bin to the system PATH. 
  - Adds the following registry keys:
    - HKEY_LOCAL_MACHINE\Software\Net-SNMP\SNMPCONFPATH=(install folder)/etc/snmp;
      (install folder)/snmp/persist
    - HKEY_LOCAL_MACHINE\Software\Net-SNMP\SNMPSHAREPATH=(install folder)/share/snmp
  - Creates an snmp.conf file in SNMPCONFPATH which defines: 
    - mibdirs (install folder)/share/snmp/mibs 
    - persistentDir (install folder)/snmp/persist 
    - tempFilePattern (install folder)/temp/snmpdXXXXXX 

  After installing using the setup wizard, perform a quick test to verify that 
  Net-SNMP was installed correctly.  Run the following from a command prompt:

修改配置文件

C:\usr\etc\snmp\snmpd.conf 新建一个配置文件,内容如下

csharp 复制代码
# 设置只读社区名称(例如 public)
rocommunity public
# 允许所有IP访问(生产环境建议限制IP)
agentAddress udp:0.0.0.0:161

打开控制台启动

复制代码
snmpd

4 使用 iReasoning MIB browse 模拟请求

复制代码
需要启动 snmpd

地址选择localhost,mib 选择一个,然后操作选择 get,最后点 go

5 wireshark 抓取snmp

5.1 安装wireshark

下载页面 www.wireshark.org/download.ht...

5.2 选择网卡

我这里用了无线网卡 WLAN,还有一个loopback的网络,这里选择 "Adapter for loopback xxxx",抓取本地包就行

进入后,使用在过滤器中使用snmp协议进行过滤 如下所示

ini 复制代码
_ws.col.protocol == "SNMP"

5.3 再次尝试发送get请求

iReasoning MIB browse 如下所示

wireshark中如下所示

这里点左下角的snmp协议就能看到发送的字节 snmp版本 -1, 这里的0就是 v1

相关推荐
小小小小王王王1 小时前
求猪肉价格最大值
数据结构·c++·算法
岁忧2 小时前
(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)
java·c++·算法·leetcode·面试·go
码农编程录3 小时前
【c/c++3】类和对象,vector容器,类继承和多态,systemd,std&boost
c++
??tobenewyorker4 小时前
力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树
数据结构·c++·算法·leetcode
oioihoii5 小时前
C++11 forward_list 从基础到精通:原理、实践与性能优化
c++·性能优化·list
m0_687399845 小时前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg
Ronin3057 小时前
【C++】类型转换
开发语言·c++
mrbone117 小时前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
虾球xz8 小时前
CppCon 2018 学习:EFFECTIVE REPLACEMENT OF DYNAMIC POLYMORPHISM WITH std::variant
开发语言·c++·学习
津津有味道10 小时前
Qt C++串口SerialPort通讯发送指令读写NFC M1卡
linux·c++·qt·串口通信·serial·m1·nfc