wireshark 官方文档

扑捉过滤

http://wiki.wireshark.org/CaptureFilters

显示过滤

http://wiki.wireshark.org/DisplayFilters

转载文章原文

http://openmaniak.com/cn/wireshark_filters.php

正如您在Wireshark教程第一部分看到的一样,安装、运行Wireshark并开始分析网络是非常简单的。

使用Wireshark时最常见的问题,是当您使用默认设置时,会得到大量冗余信息,以至于很难找到自己需要的部分。
过犹不及。

这就是为什么过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。

-
-
捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。

那么我应该使用哪一种过滤器呢?

两种过滤器的目的是不同的。
捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。

两种过滤器使用的语法是完全不同的。我们将在接下来的几页中对它们进行介绍:

1.扑捉过滤器
捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。

设置捕捉过滤器的步骤是:
- 选择 capture -> options。
- 填写"capture filter"栏或者点击"capture filter"按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。
- 点击开始(Start)进行捕捉。

语法:   Protocol   Direction   Host(s)   Value   Logical Operations   Other expression
例子:   tcp   dst   10.1.1.1   80   and   tcp dst 10.2.2.2 3128

  Protocol(协议) :
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没有特别指明是什么协议,则默认使用所有支持的协议。

  Direction(方向) :
可能的值: src, dst, src and dst, src or dst
如果没有特别指明来源或目的地,则默认使用 "src or dst" 作为关键字。
例如,"host 10.2.2.2"与"src or dst host 10.2.2.2"是一样的。 Host(s) :
可能的值: net, port, host, portrange.
如果没有指定此值,则默认使用"host"关键字。
例如,"src 10.1.1.1"与"src host 10.1.1.1"相同。

  Logical Operations(逻辑运算) :
可能的值:not, and, or.
否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行。
例如,
"not tcp port 3128 and tcp port 23"与"(not tcp port 3128) and tcp port 23"相同。
"not tcp port 3128 and tcp port 23"与"not (tcp port 3128 and tcp port 23)"不同。

例子:

tcp dst port 3128

显示目的TCP端口为3128的封包。

ip src host 10.1.1.1

显示来源IP地址为10.1.1.1的封包。

host 10.1.2.3

显示目的或来源IP地址为10.1.2.3的封包。

src portrange 2000-2500

显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。

not imcp

显示除了icmp以外的所有封包。(icmp通常被ping工具使用)

src host 10.7.2.12 and not dst net 10.200.0.0/16

显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

(src 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或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。


注意事项:

当使用关键字作为值时,需使用反斜杠“\”。
"ether proto \ip" (与关键字"ip"相同).
这样写将会以IP协议作为目标。

"ip proto \icmp" (与关键字"icmp"相同).
这样写将会以ping工具常用的icmp作为目标。

可以在"ip"或"ether"后面使用"multicast"及"broadcast"关键字。
当您想排除广播请求时,"no broadcast"就会非常有用。

2扑捉过滤器

通常经过捕捉过滤器过滤后的数据还是很复杂。此时您可以使用显示过滤器进行更加细致的查找。
它的功能比捕捉过滤器更为强大,而且在您想修改过滤器条件时,并不需要重新捕捉一次。

语法:   Protocol . String 1 . String 2   Comparison
operator
  Value   Logical
Operations
  Other
expression
例子:   ftp   passive   ip   ==   10.2.3.4   xor   icmp.type

  Protocol(协议) :

您可以使用大量位于OSI模型第2至7层的协议。点击"Expression..."按钮后,您可以看到它们。
比如:IP,TCP,DNS,SSH

您同样可以在如下所示位置找到所支持的协议:

Wireshark的网站提供了对各种  协议以及它们子类的说明 。

  String1, String2  (可选项):

协议的子类。
点击相关父类旁的"+"号,然后选择其子类。

  Comparison operators (比较运算符) :

可以使用6种比较运算符:

英文写法:  C语言写法:  含义:
eq  ==  等于
ne != 不等于
gt > 大于
lt < 小于
ge >= 大于等于
le <= 小于等于

  Logical expressions(逻辑运算符) :

英文写法:  C语言写法:  含义:
and && 逻辑与
or || 逻辑或
xor ^^ 逻辑异或
not ! 逻辑非

被程序员们熟知的逻辑异或是一种排除性的或。当其被用在过滤器的两个条件之间时,只有当且仅当其中的一个条件满足时,这样的结果才会被显示在屏幕上。
让我们举个例子:
"tcp.dstport 80 xor tcp.dstport 1025"
只有当目的TCP端口为80或者来源于端口1025(但又不能同时满足这两点)时,这样的封包才会被显示。


例子:

snmp || dns || icmp 显示SNMP或DNS或ICMP封包。
ip.addr == 10.1.1.1

显示来源或目的IP地址为10.1.1.1的封包。

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;目的IP:任意
以及
来源IP:任意;目的IP:除了10.4.5.6以外任意

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6

显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。 
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意

tcp.port == 25 显示来源或目的TCP端口号为25的封包。
tcp.dstport == 25 显示目的TCP端口号为25的封包。
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。

如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

表达式正确
表达式错误

您可以在 Wireshark官方网站 或 Wiki Wireshark website 上找到关于显示过滤器的补充信息。

wireshark 过滤表达式相关推荐

  1. 【协议分析】Wireshark 过滤表达式实例

    Wireshark 过滤表达式实例 1.wireshark基本的语法 字符 \d          0-9的数字 \D          \d的补集(以所以字符为全集,下同),即所有非数字的字符 \w ...

  2. Wireshark 过滤 基本语法

    转载 1.过滤IP,如来源IP或者目标IP等于某个IP 例子: ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107 或者 ip.addr eq 192 ...

  3. Wireshark过滤规则及使用方法

    前言: 我看到的这篇文章是转载的,但我也不知道他是从哪转载的[/(ㄒoㄒ)/~~] 转自 Wireshark 基本语法,基本使用方法,及包过滤规则: 1.过滤IP,如来源IP或者目标IP等于某个IP ...

  4. wireshark过滤规则及过滤数据内容是否包含

    Wireshark 基本语法,基本使用方法,及包过滤规则,如果想在linux上进行抓包,可以使用tcpdump 先保存为cap文件,然后将cap下载到本地使用wireshark打开进行分析 1.过滤I ...

  5. [转]wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍

    首先说几个最常用的关键字,"eq" 和 "=="等同,可以使用 "and" 表示并且,"or"表示或者."!& ...

  6. Wireshark 实用过滤表达式

    wireshark 实用过滤表达式(针对ip.协议.端口.长度和内容) - 沧海一滴 - 博客园.

  7. wireshark过滤规则学习总结

    wireshark过滤条件的语法 一.IP过滤:包括来源IP或者目标IP等于某个IP 比如:ip.src addr==192.168.0.208 or ip.src addr eq 192.168.0 ...

  8. 【转】wireshark过滤规则

    WireShark过滤语法 1.过滤IP,如来源IP或者目标IP等于某个IP 例子: ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107 或者 ip. ...

  9. 渗透测试攻击(二)——wireshark过滤数据包语法详解

    目录 Wireshark过滤语句中常用的操作符 Wireshark捕获UDP数据包 UDP协议分析常用过滤条件 UDP校验和过滤条件

最新文章

  1. 与火狐浏览器对应版本_你下载的是原版的火狐浏览器吗?如果不清楚,这篇文章会让你明白...
  2. Adobe Reader 背景色修改
  3. java 链表 最小堆优先级队列_关于Java集合的小抄
  4. 剪切粘贴时总是上次的内容_Quicker 1.4版本更新内容
  5. 判断两条链表是否交叉,若有交叉,返回交叉节点的指针。
  6. jdk12 switch_玩JDK 12的Switch表达式
  7. 1121: [POI2008]激光发射器SZK
  8. 陈玉琴老师的中医理学
  9. php解析bt,php读取BT文件信息lightbenc.php库使用说明
  10. 什么是指标体系?怎么搭建一个完美的指标体系? by彭文华
  11. Unity3D 获取资源运行时内存和硬盘大小
  12. 定时启动你的Android App
  13. 第3课 把文件存入Git文档库
  14. GD32F4xx系列CAN通信收发配置
  15. 解决 Cocos2d-x 3.2 error C1041: 无法打开程序数据库vc120.pdb
  16. Vectorized Execution Explained
  17. 数据结构:堆(Heap)+图(Graph)
  18. Music demo
  19. Linux入门第二讲
  20. Photoshop CS6 自学(三)文件操作之第一部分

热门文章

  1. python拆开tuple为多个值传入函数(tuple拆包)
  2. 解决ray报错AttributeError: module ‘aioredis‘ has no attribute ‘create_redis_pool‘
  3. Linux/Ubuntu 单机安装配置 zookeeper
  4. Python PCA降维小例子
  5. pandas聚合dataframe某一列的值中的所有元素
  6. c语言找出递增子数组的长度,编程之美2.16 数组中最长递增子序列的长度
  7. c# 拼凑特定格式的报表打印
  8. 通过Word 2016 发布的内容
  9. 参数数组(params)的用法
  10. console对象及js函数