Wireshark中的一些SNMP相關的過濾器


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過濾器的參考指南:
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM