Wireshark中的一些SNMP相关的过滤器

转自
 
由于现在的工作是在网管产品上,时不时需要抓SNMP包来定位问题。原来我只知道‘snmp’这个过滤器,在数据量不多时,这个过滤器也够用了,但是一到产品环境下,那显示的条数还是太多了,每次要从那么多packet里找到你想要的包都要用search找一下,找完第一条,又找下一条,无聊啊... 
今天没啥事就google了一把,发现以前自己真的是土到家了,完全可以根据oid,或者value来进行过滤。
 
例子1: 根据request或者response 所绑定的oid来进行过滤
 
snmp.name contains 1.3.6.1.4.1.6387.9000.216.1.5.2.2.1.11
 
这是个非常有用的过滤器,因为SNMP里的get/set都是需要指定OID的。
 
如果只想输出response里的,可以加上个条件:
snmp.get_response && (snmp.name contains 1.3.6.1.4.1.6387.9000.216.1.5.2.2.1.11)
 
例子2: 根据response里value字段来过滤,这种情况下需要先知道value的类型,因为Wireshark过滤器里的snmp.value后面得有个类型才行(注意:SNMP的response里是可以有多个value的)
 
snmp.value.oid == 1.3.6.1.4.1.6387.400.10.16  只要response里有一个value,它的类型是OID,并且值是1.3.6.1.4.1.6387.400.10.16就输出到结果中 
 
snmp.value.int ==  123456 只要response里有一个value,它的类型是int,并且值是1234就输出到结果中 
 
snmp.value.octets contains "abc" 只要response里有一个value,它的类型是OctetString,并且值里包含了abc就输出到结果中 (注意,大小写在这里是一样的)
 
这里需要指出的是Wireshark里显示的OctetString类的值不是“abc"这样的格式,而是abc对应的ascii码得十六进制数值,比如 abc对应的就是616263
 
snmp.value.octets matches "^m" 只要response里有一个value,它的类型是OctetString,并且值是以m开头的话,就输出到结果中
snmp.value.octets matches "m$" 只要response里有一个value,它的类型是OctetString,并且值是以m结束的话,就输出到结果中
 
这里matches后面其实就个正则表达式,你可以发挥自己的想象去写。
 
这里是所有的SNMP过滤器的参考指南:
 

Wireshark中的一些SNMP相关的过滤器的更多相关文章

  1. lldp中与snmp相关内容agentx

    struct lldpd { int    g_snmp; struct event  *g_snmp_timeout; void   *g_snmp_fds; char   *g_snmp_agen ...

  2. Wireshark的使用(抓包、过滤器)

    Wireshark的使用(抓包.过滤器) 听语音 分步阅读 Wireshark这个转包工具的简单实用 工具/原料 Wireshark软件包 方法/步骤 Wireshark是世界上最流行的网络分析工具. ...

  3. 如何在CentOS系统中安装配置SNMP服务

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...

  4. hihttps教你在Wireshark中提取旁路https解密源码

    大家好,我是hihttps,专注SSL web安全研究,今天本文就是教大家怎样从wireshark源码中,提取旁路https解密的源码,非常值得学习和商业应用. 一.旁路https解密条件 众所周知, ...

  5. HTML5中与页面显示相关的API

    1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API  是指当页面变为最小 ...

  6. 关于myeclipse中maven项目转换相关设置

    关于myeclipse中maven项目转换相关设置 在myeclipse菜单中,Configure->Convert to Maven Project 这个菜单 如果没有的话,需要做如下设置: ...

  7. .Net中获取打印机的相关信息

    原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...

  8. grails项目中(DB的相关操作)

    grails项目中(DB的相关操作) save:保存Domain对象的数据到对应的库表中(可能是insert也可能是update) findBy: 动态方法,查找并返回第一条记录,方法名可以变化 eg ...

  9. android中与SQLite数据库相关的类

    为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...

随机推荐

  1. hdoj--1220--Cube(数学推导)

    Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. poj--1101--The Game(bfs)

    The Game Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9746   Accepted: 2967 Descript ...

  3. Python的学习(二十一)----Python的静态变量

    前段时间在论坛里面有人提问说, class foo(): member1 member2 ... self.member1 foo.member2 其中的两个成员member1, member2有什么 ...

  4. C语言程序创建文件夹

    #include <stdio.h> #include <process.h> #include <dir.h> int main(void) { int stat ...

  5. C - Stones on the Table

    Problem description There are n stones on the table in a row, each of them can be red, green or blue ...

  6. 快速录入快递地址API接口实现

    电商.ERP等行业下单环节极其重要,如何提高下单的效率已经成为首要问题.快速下单对于客户来说,为提前发货争取了时间:对于卖家来说,提高了库存周转率及利用率.快速下单的接口实现,需要解决如下几个问题:1 ...

  7. SharedPreferences用法

    SharedPreferences是Android四种数据存储技术中的一种,它是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信 息,其对 ...

  8. Visual Studio UI Automation 学习(二)

    今天恰好有时间,继续学习了一下UI Automation的知识.看了两篇博客,对UI Automation有了进一步的了解. https://blog.csdn.net/qq_37546891/art ...

  9. C++多行文本读取

    使用的多行读取的代码如下: //读取文本浮点数到多个模式 序列 bool CPicToolsDlg::readTxt2SeqMulti( std::string TxtName, std::vecto ...

  10. OpenCV:使用 随机森林与GBDT

    随机森林顾名思义,是用随机的方式建立一个森林.简单来说,随机森林就是由多棵CART(Classification And Regression Tree)构成的.对于每棵树,它们使用的训练集是从总的训 ...