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. oc27--synthesize,省略getset实现

    // // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { @public int _a ...

  2. SuperSocketClientEngine

    https://github.com/kerryjiang/SuperSocket.ClientEngine TcpClientSession的用法 https://github.com/kerryj ...

  3. Android热更新实现原理

    最近Android社区的氛围很不错嘛,连续放出一系列的android动态加载插件和热更新库,这篇文章就来介绍一下Android中实现热更新的原理. ClassLoader 我们知道Java在运行时加载 ...

  4. Codeforces--629A--Far Relative’s Birthday Cake(暴力模拟)

    Far Relative's Birthday Cake Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d &a ...

  5. PCB Genesis加邮票孔(弧形连接位宽度校正)实现算法

    采用弧形作为加接位,当两边距离较远时,会造成连接位变窄,由于之前算法是基于连接位间距做为半径画弧, 必然存在这个缺陷,这边做少许的改进解决此问题. 现将几个种增加孤形连接位的图形对比如下: 一.两边外 ...

  6. Intervals(差分约束系统)

    http://poj.org/problem?id=1201 题意:给定n个整数闭区间[a,b]和n个整数c,求一个最小的整数集合Z,满足Z里边的数中范围在闭区间[a,b]的个数不小于c个. 思路:根 ...

  7. JSP页面使用EL表达式内容显示不全问题记录

    1.当EL表达式里面的值存在引号之类的字符时, ${caseparam.cp_value}的值为 {"cpage":"1","resType" ...

  8. strcpy自实现

    为了避免strcpy源串覆盖问题(P220),自实现strcpy. #include <stdio.h> #include <string.h> #include <as ...

  9. vs2008bin下Debug bll Release文件 obj下的Debug bll Release文件区别

    Bin目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Re ...

  10. 全文检索引擎及工具 Lucene Solr

    全文检索引擎及工具 lucence lucence是一个全文检索引擎. lucence代码级别的使用步骤大致如下: 创建文档(org.apache.lucene.document.Document), ...