wireshark抓包 从入门到入坟————wireshark显示过滤器介绍

wireshark显示过滤器介绍

1.显示过滤器为了进行分析帮助,将不需要或者是已经排除的数据包进行显示屏蔽。

2.显示过滤器是在已经捕获的数据包中进行查找然后根据定义的表达式进行区别显示。

3.显示过滤器是一种更为强大(复杂)的过滤器。

4.它允许您在日志文件中迅速准确地找到所需要的所有记录。通常经过捕捉过滤器过滤后的数据还是很复杂。此时您可以使用显示过滤器进行更加细致的查找。

5.它的功能比捕捉过滤器更为强大,而且在您想修改过滤器条件时,并不需要重新捕捉一次。


  • 过滤器语法结构

|语法:| Protocol |Direction |Host(s) |Value |Logical Operations |Other expression|

| ------------- |:-------------? -----?

|例子: |tcp |dst |10.1.1.1 |80 |and |tcp dst 10.2.2.2 3128

示例:

(host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8

捕捉IP为10.4.1.12或者源IP位于网络10.6.0.0/16,目的IP的TCP端口号在20010000之间,并且目的IP位于网络 10.0.0.0/8内的所有封包。

  • 最简单的显示过滤器可基于协议,应用,域名或者字符进行编写。对大小写敏感,绝大多数简单的显示过滤器表达式由小写字母组成。
    wireshark抓包 从入门到入坟————wireshark显示过滤器介绍_第1张图片

  • wireshark自带快捷显示过滤器语法支持

在这里插入图片描述

wireshark抓包 从入门到入坟————wireshark显示过滤器介绍_第2张图片

  • wireshark过滤匹配表达式实例
  1. 搜索按条件过滤udp的数据段payload(数字8是表示udp头部有8个字节,数据部分从第9个字节开始udp[8:])
udp[8]==14        
(14是十六进制0x14)匹配payload第一个字节0x14的UDP数据包

udp[8:2]==14:05 
可以udp[8:2]==1405,且只支持2个字节连续,三个以上须使用冒号:分隔表示十六进制。 
(相当于 udp[8]==14 and udp[9]==05,1405是0x1405)


udp[8:3]==22:00:f7 
但是不可以udp[8:3]==2200f7


udp[8:4]==00:04:00:2a
匹配payload的前4个字节0x0004002a


udp contains 7c:7c:7d:7d 
匹配payload中含有0x7c7c7d7d的UDP数据包,不一定是从第一字节匹配

2.搜索按条件过滤tcp的数据段payload(数字20是表示tcp头部有20个字节,数据部分从第21个字节开始tcp[20:]

tcp[20:] matches "^GET [ -~]*HTTP/1.1\\x0d\\x0a"
等同http matches "^GET [ -~]*HTTP/1.1\\x0d\\x0a"


tcp[20:] matches "^GET (.*?)HTTP/1.1\\x0d\\x0a"
tcp[20:] matches "^GET (.*?)HTTP/1.1\\x0d\\x0a[\\x00-\\xff]*Host: (.*?)pplive(.*?)\\x0d\\x0a"
tcp[20:] matches "^GET (.*?)HTTP/1.1\\x0d\\x0a[\\x00-\\xff]*Host: "
tcp[20:] matches "^POST / HTTP/1.1\\x0d\\x0a[\\x00-\\xff]*\\x0d\\x0aConnection: Keep-Alive\\x0d\\x0a\\x0d\\x0a"


检测SMB头的smb标记,指明smb标记从tcp头部第24byte的位置开始匹配。
tcp[24:4] == ff:53:4d:42

检测SMB头的smb标记,tcp的数据包含十六进制ff:53:4d:42,从tcp头部开始搜索此数据。
tcp contains ff:53:4d:42
tcp matches "\\xff\\x53\\x4d\\x42"

检测tcp含有十六进制01:bd,从tcp头部开始搜索此数据。
tcp matches "\\x01\\xbd"

检测MS08067的RPC请求路径
tcp[179:13] == 00:5c:00:2e:00:2e:00:5c:00:2e:00:2e:00

3.其他

http.request.uri matches ".gif$" 
匹配过滤HTTP的请求URI中含有".gif"字符串,并且以.gif结尾(4个字节)的http请求数据包($是正则表达式中的结尾表示符)


注意区别:
http.request.uri contains ".gif$" 与此不同,contains是包含字符串".gif$"(5个字节)。
匹配过滤HTTP的请求URI中含有".gif$"字符串的http请求数据包(这里$是字符,不是结尾符)


eth.addr[0:3]==00:1e:4f 
搜索过滤MAC地址前3个字节是0x001e4f的数据包。

注:符号就是正则里的基本用法,略过

你可能感兴趣的:(wireshark从入门到入坟,wireshark,过滤器)