转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 

介绍

掌握显示过滤器对于网络分析者来说是一项必备的技能。这是一项大海捞针的技巧。学会构建,编辑,保存关键的显示过滤器能够节省数小时的时间。

与捕捉过滤器使用的BPF语法不同,显示过滤器使用的是Wireshark特定的格式。除了某些特例之外,Wireshark显示过滤器和捕捉过滤器有很大的区别。

更多信息

过滤HTTP数据流:

在排查网页浏览器会话或检查网速过慢问题时,对浏览器会话进行过滤就显得尤为重要。过滤HTTP数据流有两种方式:

http

tcp.port==xx(xx表示所使用的HTTP端口)

第二种过滤方法更加有效。让我们通过分别对网页浏览会话应用两个过滤条件来比较一下:

基于TCP端口号的应用过滤

本例中的抓包文件包含与网站www.wireshark.org的链接以及请求下载Wireshark的请求。我们使用tcp.port==80的显示过滤器并且发现,确实,所有报文都符合条件,如下图所示。很好这就是我们想要的结果。

我们仔细看报文20的Protocol列,Wireshark并没有在报文中看到任何HTTP命令或回复,因此HTTP协议分析器没有被应用于此报文。它只是一个TCP报文(TCP ACK, FIN, RST,以及三路TCP握手信号都列成TCP)。

如果你想要查看TCP连接建立,维护以及关闭报文,就应该使用上述过滤条件(并且你会一直看到这些TCP报文)。

谨慎使用基于TCP的应用名过滤

现在来看一下对数据流应用http过滤条件的情况。下图中,你会看到Wireshark显示了13,353个报文。这些是Protocol列中包含HTTP的报文。

这是整个网站浏览会话的一部分,使用HTTP过滤条件我们无法检测出TCP错误,对于应用永远是使用端口号过滤器优于TCP。

小贴士:

不幸的是,Wireshark对于HTTP数据流的缺省过滤是http。可以考虑将缺省对HTTP数据流的过滤改为基于端口号。

按照某一IP地址或主机过滤报文

对于IPv4数据流,我们使用字段名ip.src,ip.dst,ip.addr;对于IPv6数据流,使用ipv6.src,ipv6.dst,ipv6.host以及ipv6.addr。注意当你在Packet Details面板中点击IP地址时,将会看到它们被称为:ip.src,ip.dst, ipv6.src或ipv6.dst。字段名ip.host和ipv6.host,ip.addr以及ipv6.addr不在报文里。

ip.host和ipv6.host过滤条件在IPv4/IPv6源和目的地址字段查找解析为指定主机名的IPv4或IPv6地址。ip.addr==[address]和ipv6.addr==[address]过滤条件在IPv4/IPv6源和目的地址字段查找指定IPv4/IPv6地址。

·         例如:ip.addr==10.3.1.1

显示在IP源地址字段或IP目的地址字段包含10.3.1.1的帧。

·         例如:!ip.addr==10.3.1.1

显示除了在IP源地址字段或IP目的地址字段包含10.3.1.1以外的帧。

·         例如:ipv6.addr==2406:da00:ff00::6b16:f02d

显示以2406:da00:ff00::6b16:f02d为源地址或目的地址的帧。

·         例如:ip.src==10.3.1.1

显示所有来自10.3.1.1的数据流。

·         例如:ip.dst==10.3.1.1

显示所有发往10.3.1.1的数据流

·         例如:ip.host==www.wireshark.org

显示所有解析为www.wireshark.org的IP地址。

按照某一IP地址范围过滤报文

可以使用>或<比较运算符或逻辑运算符&&查找某一地址范围内的报文。

·         例如:ip.addr>10.3.0.1&&ip.addr<10.3.0.5

显示来自或发往10.3.0.2,10.3.0.3,10.3.0.4的数据流。

·         例如:(ip.addr>=10.3.0.1&&ip.addr<=10.3.0.6)&&!ip.addr==10.3.0.3

显示来自或发往10.3.0.1,10.3.0.2,10.3.0.4,10.3.0.5,10.3.0.6的数据流,10.3.0.3排除在外。

·         ipv6.addr>=fe80::&&ipv6.addr<fec0::

显示IPv6地址从0xfe80到0xfec0开头的数据流。

按照某一IP子网过滤报文

可以通过ip.addr字段名定义一个子网。这种格式使用IP地址后跟斜杠以及一个后缀,表明IP地址中定义的网络部分的比特数。

·         例如:ip.addr==10.3.0.0/16

显示在IP源地址或目的地址字段以10.3开头的数据流。

·         例如:ip.addr==10.3.0.0/16 && !ip.addr==10.3.1.1

显示除了10.3.1.1以外,在IP源地址或目的地址字段以10.3开头的数据流。

·         例如:!ip.addr==10.3.0.0/16 && !ip.addr==10.2.0.0/16

显示所有数据流,除了在IP源地址或目的地址字段以10.3和10.2开头的数据流.

使用右键|作为过滤条件

如下图所示:在某一帧的Packet Details面板,扩展HTTP部分,右键Request URI一行,选择Apply as Filter | Selected

Wireshark会创建合适的显示过滤条件(http.request.rui==”/”)并应用于抓包文件。之后过滤得到2个报文,显示用户从两个不同的IP地址访问主页内容,如下图所示。

如果你想排除这类HTTP请求,只要在过滤条件前加!或not。你可以通过右键GET请求并选择Apply as Filter | Not Selected。

not http.request.uri==”/”

如果你感兴趣的是其余HTTP GET请求,可对上述过滤条件扩展:定位在一个HTTP GET请求报文,扩展HTTP部分,右键GET并选择Apply as Filter,这一次选择and Selected选项。之后,显示过滤器显示如下:

(not http.request.uri==”/”)&&(http.request.method==“GET”)。

现在可以看到除了default page request(/)之外的所有HTTP GET请求。

过滤单个TCP或UDP会话

当你想要观察客户端应用于服务器进程之间的通讯,你需要查找的是一个“会话“。会话是基于客户端应用和服务器进程的IP地址和端口号。通常抓包文件中会包含数百个会话,了解如何快速定位及过滤无疑是很有帮助的。

以下两种常用方式可从抓包文件中提取单一TCP或UDP会话:

·         通过在Packet List面板右键一个TCP或UDP报文并选择Conversation Filter | [TCP|UDP].

·         通过在Packet List面板右键一个TCP或UDP报文并选择Follow [TCP|UDP] Stream

右键选择Conversation Filter

通过在Packet List面板右键一个TCP或UDP报文并选择Conversation Filter | TCP,如下图所示:

Wireshark对数据流创建并应用以下过滤条件:

(ip.addr eq 24.6.173.220 and ip.addr eq 184.84.222.48) and (tcp.port eq 19953 and tcp.port eq 80)。

同样的方法可应用于基于IP地址,以太网地址,UDP地址/端口号结合的会话。

右键选择Follow a Stream

要查看应用命令以及会话中的交换数据,通过在Packet List面板右键一个TCP或UDP报文并选择Follow [TCP|UDP] Stream,如下图所示。如果选择Follow UDP Stream,显示过滤条件会基于IP地址和端口号。如果选择Follow TCP Stream, 显示过滤条件会基于TCP Stream Index number。

错误的用法导致不work

错误:ip.addr != 10.2.2.2

显示在IP源地址IP目的地址不包含10.2.2.2的报文。只要在源或目的IP地址不为10.2.2.2,报文就会被显示出来。这时隐含的会导致实际上并未过滤任何报文。

正确:!ip.addr == 10.2.2.2

显示IP源地址和IP目的地址都不包含10.2.2.2的报文。

错误:!tcp.flags.syn==1

显示所有不含TCP SYN bit设置为1的报文。其他协议报文,必须UDP和ARP报文也符合这一过滤条件,因为它们的TCP SYN bit没有设置为1。

正确:tcp.flags.syn!=1

只显示包含SYN设置为0的TCP报文。

小贴士:

当你知道只有一个字段符合你的过滤字段名的时候,不要害怕使用!=运算符。有时,这是最好用的过滤运算符。

Wireshark学习十:应用Wireshark显示过滤器分析特定数据流(下)相关推荐

  1. 【Wireshark系列十】wireshark怎么抓包、wireshark抓包详细图文教程

    wireshark怎么抓包.wireshark抓包详细图文教程 wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必 ...

  2. wireshark 学习更进一步 之wireshark异常数据解读

    wireshark异常数据,软件本身会以特殊颜色底纹标识.或者可以通过Analyze-->Expert Information分析. 1.TCP Previous segment not cap ...

  3. Wireshark的捕捉过滤器和显示过滤器

    Wireshark两种过滤器使用的语法是完全不同的.我们将在接下来的几页中对它们进行介绍: 1. 捕捉过滤器 捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库 ...

  4. Wireshark抓取QQ数据包实例分析

    一.打开Wireshark.因为我笔记本连接的WIFI,所以我点击WLAN. 二.抓取数据包中. 三.点击左上角正方形角标,停止抓包.在应用显示过滤器输入oicq,然后按下Enter,便是QQ数据包了 ...

  5. Wireshark网络分析实战笔记(二)显示过滤器

    转自:彬彬在线 显示过滤表达式中操作符: == eq 等于 != ne 不等于 > gt 高于 < lt 低于 >= ge 不高于 <= le 不低于   contains 包 ...

  6. Wireshark捕获过滤器和显示过滤器

    wireshark过滤器分为两种,显示过滤器和捕获过滤器.显示过滤器指的是针对已经捕获的报文,使用过滤器语法过滤出符合规则的报文.捕获过滤器指的是提前设置好过滤规则,只捕获符合过滤规则的报文.显示过滤 ...

  7. Wireshark使用(捕获过滤器、显示过滤器、TCP交互抓包示例、抓取本地回环数据包等)

    1.捕获过滤器规则 1.1 作用   捕获过滤器在开始捕捉之前设置,用于从源头控制被过滤的包内容,仅符合规则的包会被捕获并记录进捕获日志文件. 1.2 语法规则 字段:[Protocol][Direc ...

  8. 9.WireShark学习-使用WireShark分析SYN-Flooding攻击

    使用WireShark分析SYNFlooding攻击 本文内容: 拒绝服务攻击的相关理论; 使用Hping发起SYN flooding攻击; Wireshark的流量图功能; SYN flooding ...

  9. Wireshark使用指南之显示过滤器

    Wireshark使用指南之显示过滤器 一.协议过滤器 arp:显示所有ARP流量,包括免费ARP,ARP请求和ARP应答. ip ipv6 tcp 二.应用过滤器 bootp:显示所有DHCP流量( ...

最新文章

  1. c++中的vector的常见使用
  2. 计算机运用领域最高奖的是2016年,中国首获高性能计算应用领域最高奖
  3. linux硬盘保护卡,在学校机房联想硬盘保护下安装Linux,并配置锐捷客户端
  4. LINQ to SQL 之DataContext用法
  5. NHibernate之旅(10):探索父子(一对多)关联查询
  6. OpenStack 的部署T版(二)——Keystone组件
  7. python自动生成宣传单_python – Matplotlib boxplot只显示最大和最小传单
  8. 前端学习(1615):前端系列实战课程之javascript简介
  9. cookie 和 session 区别
  10. 利用for循环打印出不同的三角形
  11. yafu安装使用方法以及mismatched parens解决方法
  12. 爬虫(六十九)简明 jieba 中文分词教程(六十)
  13. GaussDB系列数据库简介
  14. 掌上飞车-艳云脚本云控系统
  15. flask form表单
  16. 新概念英语(第四册,旧版)复习(原文及全文翻译)——Lesson 58 - Hobbies(培养一种爱好)
  17. Linux-菜鸟入门自学 (二)
  18. LIO-SAM:在高斯牛顿法求解过程中用SO3代替欧拉角
  19. 中国社科发布十大调查研究咨询公司信息
  20. 物通博联·4G全网通PLC网关(产品)

热门文章

  1. 再获认可|九州云获评2022分布式云与云边协同创新实践案例
  2. 蓝宝石RX590GME 8G D5白金版黑苹果免驱成功
  3. VUE开发环境下mock模拟数据与后端接口对接示例
  4. 如何破解SQLyog 企业版,无限期试用
  5. [附源码]计算机毕业设计Python基于微信小程序的网络办公系统(程序+源码+LW文档)
  6. 【第47篇】BoT-SORT:强大的关联多行人跟踪
  7. Solidworks制作齿轮传动过程
  8. 《AutoCAD 2014中文版实用教程》一一1.2 标题栏
  9. 广东自贸区金融物联网新进展:广清所建类标准仓单
  10. 面渣逆袭:Redis连环五十二问!三万字+八十图详解!