SNMP报文抓取与分析(一)
1、抓取SNMP报文
SNMP报文的形式大致如下图所示
我们这里使用netcat
这个工具来抓取snmp
的PDU
(协议数据单元)。(因为我们并不需要前面的IP
和UDP
首部)
关于netcat
的一些基本使用可以看这里http://www.cnblogs.com/oloroso/p/4610563.html
本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso
本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso
netcat获取snmp报文
1 先获取snmpwalk
发出的(get-next-request
)
我们使用nc
来监听161
端口,然后把输出重定向到文件a.hex
。因为监听的是161端口,所以这里必须以root权限运行。
sudo nc -u -l 161 >a.hex
这样之后使用snmpwalk
这个工具来向这个“受控端”
发送命令。
snmpwalk -c public -v 2c localhost 1.3.6.1.4.201566.1.1
2 再获取代理程序发回的(get-response
)
我们先要打开代理程序Agent,然后使用下面的命令将a.hex
的内容发给代理程序,并将接收到的返回保存到b.hex
o@o-pc:~/snmpPUD$ nc -u 127.0.0.1 161 <a.hex >b.hex
^C
o@o-pc:~/snmpPUD$
下图是针对SNMPv1版本的。目前比较通用的是SNMP v2c/v3版本,具有八种PDU类型。
分析获取到的报文
先使用hexdump
来查看一下获取到的报文内容。(hexdump是一个很好用的十六进制分析工具)
o@o-pc:~/snmpPUD$ hexdump -C a.hex
00000000 30 2c 02 01 01 04 06 70 75 62 6c 69 63 a1 1f 02 |0,.....public...|
00000010 04 22 70 8b d4 02 01 00 02 01 00 30 11 30 0f 06 |."p........0.0..|
00000020 0b 2b 06 01 04 01 8c a6 5e 01 01 01 05 00 |.+......^.....|
0000002e
o@o-pc:~/snmpPUD$ hexdump -C b.hex
00000000 30 30 02 01 01 04 06 70 75 62 6c 69 63 a2 23 02 |00.....public.#.|
00000010 04 22 70 8b d4 02 01 00 02 01 00 30 15 30 13 06 |."p........0.0..|
00000020 0e 2b 06 01 04 01 8c a6 5e 01 01 01 01 01 00 02 |.+......^.......|
00000030 01 2b |.+|
00000032
报文分析结果
先看结果,然后再慢慢分析
get-next-request
报文示例分析(a.hex)
十六进制数据 | 解释 |
---|---|
30 | 表示SNMP协议报文(整个报文是一个SEQUENCE) |
2c | 消息长度44字节(表示后面还有44个字节的内容) |
02 01 01 | 协议版本(2c)(前两个字节02表示INTEGER类型01是指1个字节长度,最后的01是值01) |
04 | 参数类型(OCTSTR) |
06 | 群体(community)名长度 |
70 75 62 6c 69 63 | 群体名public的assic码值 |
a1 | PUD类型get-next-request |
1f | snmp pdu的长度为31个OctStr(后面的内容31字节) |
02 04 22 70 8b d4 | 请求标识符Request ID |
02 01 00 | 表示error-state为0 |
02 01 00 | 表示error-index为0 |
30 11 | 表示后面变量绑定是SEQUENCE类型17个字节长度 |
30 0f | 表示(变量名1 |
06 | 表示该字段是OID类型 |
0b | OID长度11字节 |
2b 06 01 04 01 | 1.3.6.1.4.1(标识1.3被合并为2B) |
8c a6 5e | 201566 (这也是根据规则转换得到的) |
01 01 01 | 1.1.1 |
05 00 | 表示NULL |
get-response
报文示例分析(b.hex)
十六进制数据 | 解释 |
---|---|
30 | 表示SNMP协议报文(整个报文是一个SEQUENCE) |
30 | 消息长度48字节(表示后面还有48个字节的内容) |
02 01 01 | 协议版本(2c)(前两个字节02 01 表示INTEGER类型) |
04 | 参数类型(OCTSTR) |
06 | 群体(community)名长度 |
70 75 62 6c 69 63 | 群体名public的assic码值 |
a2 | PUD类型get-response |
23 | snmp pdu的长度为35个OctStr(后面的内容31字节) |
02 04 22 70 8b d4 | 请求标识符Request ID |
02 01 00 | 表示error-state为0 |
02 01 00 | 表示error-index为0 |
30 11 | 表示后面变量绑定是SEQUENCE类型17个字节长度 |
30 0f | 表示(变量名1 |
06 | 表示该字段是OID类型 |
0b | OID长度11字节 |
2b 06 01 04 01 | 1.3.6.1.4.1(标识1.3被合并为2B) |
8c a6 5e | 201566 (这也是根据规则转换得到的) |
01 01 01 | 1.1.1 |
00 | 表示.0 即第一个实例\ |
(下面的值实际是节点1.3.6.1.4.1.201566.1.1.1.0的) | |
02 01 2b | 02 01 表示INTEGER类型1个字节,2b表示值(43) |
05 00 | 表示NULL |
下面是使用snmpwalk
命令获取的结果
SNMP报文抓取与分析(一)相关推荐
- webservice-SOAP报文抓取与分析
目录 一.什么是SOAP? 二.IDEA抓取SOAP报文 1. IDEA下载插件 2. 配置Tunnellij,Tunnellij是一个类似于Eclipse的TCP/IP Monitor的插件,比较流 ...
- 【原创】网络报文抓取研究
1 引言 网络报文抓取是指通过对主机网络设备的探测,实现获取该网络当前传输的所有信息,并根据信息的源主机.目标主机.服务协议和端口等信息简单过滤掉不关心数据,然后提交给上层应用程序进行进一步处 ...
- 嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!
------·今天距2020年87天·------ 这是ITester小栈第49次推文 大家好,我是coco小锦鲤 经过之前的APP系列 我们知道了APP的测试流程 也列举了APP通用测试用例 还解答 ...
- Thread dump文件抓取和分析(JCA工具)
Thread dump文件抓取和分析 接下来分析CentOS下怎么抓取Thread dump文件,JCA怎么分析Thread dump文件. 1.CentOS下抓取Thread dump文件 Cent ...
- log 的抓取与分析
log 的抓取与分 http://blog.csdn.net/yaoming168/article/details/38777727 log 的抓取与分析 一.Android log框架简介 二.lo ...
- 如何用python抓取文献_浅谈Python爬虫技术的网页数据抓取与分析
浅谈 Python 爬虫技术的网页数据抓取与分析 吴永聪 [期刊名称] <计算机时代> [年 ( 卷 ), 期] 2019(000)008 [摘要] 近年来 , 随着互联网的发展 , 如何 ...
- python新闻评论分析_使用 python 抓取并分析京东商品评论数据
本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D ...
- 【干货】-- 带你抓取并分析知乎高评分电影
最近突然想看电影了,跑去电影天堂却不知道该看哪一步,很纠结呀,想来想去还是去知乎上搜搜高评分的电影.发现新大陆呀,还是网友的力量大,挖掘出了高评分的电影,并作一一罗列,足足400多部啊.具体内容可点击 ...
- 短视频评论的抓取及分析
短视频评论的抓取及分析 一.设计背景 目前,短视频已经成为大多数人娱乐消遣的主要方式.用户在观看视频内容的同时,也同样关注视频评论,并且很多时候评论带给人们的乐趣远远超过视频本身.但是各短视频平台都没 ...
- JAVA+网络数据包的抓取与分析实验
一.实验目的 熟悉TC P/IP数据包的结构. 掌握Wireshark的使用方法. 能够利用JNet Pcap编程实现数据包的抓取与分析. 二.实验准备 1.通过抓包,可以进行网络故障分析.流量监控. ...
最新文章
- 又为写作思路熬到秃头?这16篇最新论文打包送你
- Django中ORM之或语句查询
- c++ 隐藏进程_Linux 查看进程的动态信息
- centos7 host修改
- 赛尔笔记 | 通用领域条件性知识图谱数据集
- 信号完整性Sigrity2018各组件功能介绍
- 莱斯康混响插件合集 – Lexicon Plugin Bundle macOS
- AD7705驱动代码 -- Linux SPI设备驱动
- 商场云WiFi靠谱吗
- VUE图片裁剪,打码,旋转功能
- linux编译一直失败,linux编译安装时常见错误解决办法
- FI财务会计全局设置
- 1200PLC学习资料整理
- IPv6-计算机网络
- python编程图文_深入Python多进程编程基础——图文版
- 英雄联盟(LOL)外挂原理(仅供学术交流)
- 微信小程序接入微信客服【超详细,仅需3步】
- Druid.io系列(一):简介
- Flash 应用之我见
- prompt set feedback off set define off (转)