Wireshark过滤总结 (超实用)


Wireshark过滤总结 (超实用)


文章目录

    • #Wireshark提供了两种过滤器:
      • 1、捕获过滤器
      • 2、显示过滤器
    • #过滤器具体写法
      • #显示过滤器写法
        • 1、过滤值比较符号及表达式之间的组合
        • 2、针对ip的过滤
        • 3、针对协议的过滤
        • 4、针对端口的过滤(视传输协议而定)
        • 5、针对长度和内容的过滤
        • 5、针对http请求的一些过滤实例。
      • #捕捉过滤器写法
        • 1、比较符号
        • 2、常用表达式实例



#Wireshark提供了两种过滤器:

1、捕获过滤器

捕获过滤器:在抓包之前就设定好过滤条件,然后只抓取符合条件的数据包。

Wireshark过滤总结 (超实用)

2、显示过滤器

显示过滤器:在已捕获的数据包集合中设置过滤条件,隐藏不想显示的数据包,只显示符合条件的数据包。

Wireshark过滤总结 (超实用)

注意:这两种过滤器所使用的语法是完全不同的,想想也知道,捕捉网卡数据的其实并不是Wireshark,而是WinPcap,当然要按WinPcap的规则来,显示过滤器就是Wireshark对已捕捉的数据进行筛选。

使用捕获过滤器的主要原因就是性能。如果你知道并不需要分析某个类型的流量,那么可以简单地使用捕获过滤器过滤掉它,从而节省那些会被用来捕获这些数据包的处理器资源。当处理大量数据的时候,使用捕获过滤器是相当好用的。

Wireshark拦截通过网卡访问的所有数据,前提是没有设置任何代理。Wireshark不能拦截本地回环访问的请求,即127.0.0.1或者localhost。

#过滤器具体写法

#显示过滤器写法

1、过滤值比较符号及表达式之间的组合

Wireshark过滤总结 (超实用)

Wireshark过滤总结 (超实用)

2、针对ip的过滤

  • 对源地址进行过滤
<code>ip.src == 192.168.0.1/<code>
  • 对目的地址进行过滤
<code>ip.dst == 192.168.0.1/<code>
  • 对源地址或者目的地址进行过滤
<code>ip.addr == 192.168.0.1/<code>
  • 如果想排除以上的数据包,只需要将其用括号囊括,然后使用 “!” 即可
<code>!(ip.addr == 192.168.0.1)/<code>

3、针对协议的过滤

  • 获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可
<code>http/<code>

注意:是否区分大小写?答:区分,只能为小写

  • 捕获多种协议的数据包
<code>http or telnet/<code>
  • 排除某种协议的数据包
<code>not arp   或者   !tcp/<code>

4、针对端口的过滤(视传输协议而定)

  • 捕获某一端口的数据包(以tcp协议为例)
<code>tcp.port == 80/<code>
  • 捕获多端口的数据包,可以使用and来连接,下面是捕获高于某端口的表达式(以udp协议为例)
<code>udp.port >= 2048/<code>

5、针对长度和内容的过滤

  • 针对长度的过虑(这里的长度指定的是数据段的长度)
<code>udp.length < 20   
http.content_length <=30/<code>
  • 针对uri 内容的过滤
<code>http.request.uri matches "user" (请求的uri中包含“user”关键字的)/<code>

注意:matches 后的关键字是不区分大小写的!

<code>http.request.uri contains "User" (请求的uri中包含“user”关键字的)/<code>

注意:contains 后的关键字是区分大小写的!

5、针对http请求的一些过滤实例。

  • 过滤出请求地址中包含“user”的请求,不包括域名;
<code>http.request.uri contains "User"/<code>
  • 精确过滤域名
<code>http.host==baidu.com/<code>
  • 模糊过滤域名
<code>http.host contains "baidu"/<code>
  • 过滤请求的content_type类型
<code>http.content_type =="text/html"/<code>
  • 过滤http请求方法
<code>http.request.method=="POST"/<code>
  • 过滤tcp端口
<code>tcp.port==80/<code>
<code>http && tcp.port==80 or tcp.port==5566/<code>
  • 过滤http响应状态码
<code>http.response.code==302/<code>
  • 过滤含有指定cookie的http数据包
<code>http.cookie contains "userid"/<code>

#捕捉过滤器写法

在wireshark的工具栏中点击捕获 →捕获过滤器,可以看到一些过滤器的写法,如下图:

Wireshark过滤总结 (超实用)

Wireshark过滤总结 (超实用)

1、比较符号

<code>与:&&或者and
或:||或者or
非:!或者not/<code>

实例:

<code>src or dst portrange 6000-8000 && tcp or ip6/<code>

2、常用表达式实例

  • 源地址过滤
<code>src www.baidu.com/<code>
  • 目的地址过滤
<code>dst www.baidu.com/<code>
  • 目的地址端口过滤
<code>dst post 80/<code>
  • 协议过滤
<code>udp/<code>




Wireshark过滤总结 (超实用)


分享到:


相關文章: