精华内容
下载资源
问答
  • Wireshark过滤器

    2018-03-27 09:45:04
    使用wireshark抓包如果不设置过滤条件则会显示大量冗余信息,很难找到自己需要的信息,wireshark过滤器就是为此而生,过滤器可以帮我们快速定位需要的信息。过滤语法详见: wireshark捕获过滤器语法 wireshark显示...

    这里写图片描述
    使用wireshark抓包如果不设置过滤条件则会显示大量冗余信息,很难找到自己需要的信息,wireshark过滤器就是为此而生,过滤器可以帮我们快速定位需要的信息。过滤语法详见:

    • wireshark捕获过滤器语法
    • wireshark显示过滤器语法

    wireshark过滤器的区别

    捕捉过滤器(CaptureFilters):

    用于决定本次抓包捕获什么样的网络包,开始抓包前设置,不会捕获不符合条件的包,需要长时间抓包或确认只需要某个类型包时推荐使用捕捉过滤器

    优点是可以避免产生较大的捕获文件和内存占用
    缺点是不能完整的复现测试时的网络环境

    显示过滤器(DisplayFilters)

    在捕捉结果中进行详细查找,根据不同过滤条件显示不同的数据包

    另两者的过滤语法也有些区别,捕捉过滤器的语法与其它使用libpcap/WinPcap库开发的软件相同,比如tcpdump、windump、Analyzer。

    具体使用

    显示过滤:wireshark过滤经过指定ip的数据包

    显示过滤可以完整的复现测试时的网络环境,但会产生较大的捕获文件和内存占用。

    ip.addr ==192.168.1.1 //显示所有目标或源地址是192.168.1.1的数据包
    ip.dst==192.168.1.1 //显示目标地址是192.168.1.1的数据包
    ip.src ==192.168.1.1 //显示源地址是192.168.1.1的数据包
    eth.addr== 80:f6:2e:ce:3f:00   //根据MAC地址过滤
    ip.src==192.168.0.0/16   //网络过滤,过滤一个网段

    捕获过滤:wireshark捕获经过指定ip的数据包

    捕捉过滤抓包前在capture option中设置,仅捕获符合条件的包,可以避免产生较大的捕获文件和内存占用,但不能完整的复现测试时的网络环境。

    host 192.168.1.1      //抓取192.168.1.1 收到和发出的所有数据包
    src host 192.168.1.1    //源地址,192.168.1.1发出的所有数据包
    dst host 192.168.1.1    //目标地址,192.168.1.1收到的所有数据包
    src host hostname    //根据主机名过滤
    ether  host 80:05:09:03:E4:35    //根据MAC地址过滤
    net 192.168.1    //网络过滤,过滤整个网段
    src net 192.168
    dst net 192

    使用“非/且/或”建立组合过滤条件可以获得更精确的捕获

    非: ! or “not” (去掉双引号)
    且: && or “and”
    或: || or “or”

    wirershark过滤指定ip收发数据包示例:

    抓取所有目的地址是192.168.1.2 或192.168.1.3 端口是80 的TCP 数据:

    (tcp port 80) and ((dst host 192.168.1.2) or (dst host
    192.168.1.3))   //捕获过滤
    
    tcp.port==80&&(ip.dst==192.168.1.2||ip.dst==192.168.1.3)    //显示过滤

    抓取所有目标MAC 地址是80:05:09:03:E4:35 的ICMP 数据:

    (icmp) and ((ether dst host 80:05:09:03:E4:35))
    
    icmp && eth.dst==80:05:09:03:E4:35

    抓取所有目的网络是192.168,但目的主机不是192.168.1.2 的TCP 数据:

    (tcp) and ((dst net 192.168) and (not dst host 192.168.1.2))
    
    tcp&&ip.src==192.168.0.0/16&&!(ip.src==192.168.1.2)
    

    捕获主机192.168.1.1 和主机192.168.1.2 或192.168.1.3的通信:

    host 192.168.1.1 and  (192.168.1.2 or 192.168.1.3 )
    
    ip.addr==192.168.1.1&&(ip.addr==192.168.1.2||ip.addr==192.168.1.3)

    获取主机192.168.1.1除了和主机192.168.1.2之外所有主机通信的数据包:

    host 192.168.1.1 and ! 192.168.1.2
    
    ip.addr==192.168.1.1&&!ip.addr==192.168.1.2

    获取主机192.168.1.1接收或发出的telnet包,telnet使用tcp 23端口:

    tcp port 23 and host 192.168.1.1
    
    tcp.port==23&&ip.addr==192.168.1.1
    展开全文
  • wireshark 过滤器

    2018-04-18 10:54:07
    wireshark 过滤器 wireshark有2个非常实用的过滤器。 用于减少记录数量的 捕获过滤器 。 用于强大分析的 显示过滤器 。 捕获过滤器 capture filter 语法 <Protocol> <Direction&...

    wireshark 过滤器

    wireshark有2个非常实用的过滤器。

    • 用于减少记录数量的 捕获过滤器
    • 用于强大分析的 显示过滤器

    捕获过滤器 capture filter

    语法

    <Protocol> <Direction> <Host(s)> <Value> <Logical Operations> <Other expression>
    

    protocol 协议

    ether, ip, arp, icmp, tcp, udp, ...等
    

    如果没指明协议类型,则默认为捕捉所有支持的协议。

    direction 方向

    src, dst, src and dst, src or dst, ...等
    

    如果没指明方向,则默认为 src or dst

    host 目标

    net, port, host, portrange, ...等
    

    默认为 host。即默认下 src 192.168.0.100 等同于 host src 192.168.0.100

    logical operations 逻辑运算符

    not, and, or, ...等
    

    not 具有最高的优先级。andor 优先级相同,运算时从左至右进行。

    因为 not 的优先级高于 andor ,所以当要表达 not 时需要写成 and not

    e.g.

    host 192.168.0.100 and tcp and not icmp
    

    显示过滤器 capture filter

    protocol 协议

    ip, tcp, udp, ssh, ...等
    

    direction 方向

    src, dst, ...等
    

    host 目标

    port, addr, flags, ...等
    

    e.g.

    src.port==80
    dst.addr==192.168.0.100
    

    operations 操作符

    比较操作符

    ==, !=, >, <, >=, <=
    

    e.g.

    ip.addr==192.168.0.100
    frame.len<=100
    

    逻辑操作符

    两种写法都可以。

    and, or, xor, not
    &&, ||, ``, !
    

    e.g.

    ip.addr==192.168.0.100 or ip.addr==192.168.0.200
    

    参考

    How To Set Up a Capture

    更为多的细节也可以参考软件自身。在 应用显示过滤器...<ctrl-/> 输入框边上有个 表达式... 的按钮。点进去,里面个个都是人才 :)

    展开全文
  • wireshark过滤器

    2019-08-16 15:08:56
    捕获过滤器表达式作用在wireshark开始捕获数据包之前,只捕获符合条件的数据包,不记录不符合条件的数据包。 捕获过滤器表达式没有像显示过滤器表达式那样明显的规律,但写法不多所以也不难;而且除非全部捕获要...

    捕获过滤器表达式

    捕获过滤器表达式作用在wireshark开始捕获数据包之前,只捕获符合条件的数据包,不记录不符合条件的数据包。

    捕获过滤器表达式没有像显示过滤器表达式那样明显的规律,但写法不多所以也不难;而且除非全部捕获要占用的磁盘空间实现太大,且你非常明确过滤掉的数据包是你不需要的,不然一般都不用捕获过滤器表达式而用显示过滤器表达式。

    在wireshark2.x版本,启动后欢迎界面即有捕获过滤器,在其中输入过滤表达式开始捕获数据包时即会生效:

    点击图中“书签”标志,再点管理“捕获筛选器”,即可看到常用捕获过滤表达示的书写形式

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

    Protocol(协议): ether,fddi, ip,arp,rarp,decnet,lat, sca,moprc,mopdl, tcp , udp 等,如果没指明协议类型,则默认为捕捉所有支持的协议。

    Direction(方向):src, dst,src and dst, src or dst等,如果没指明方向,则默认使用 “src or dst” 作为关键字。

    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”)具有相同的优先级,运算时从左至右进行

     

    显示过滤器表达示及其书写规律

    显示过滤器表达式作用在在wireshark捕获数据包之后,从已捕获的所有数据包中显示出符合条件的数据包,隐藏不符合条件的数据包。

    显示过滤表达示在工具栏下方的“显示过滤器”输入框输入即可生效

    1 基本过滤表达式

    一条基本的表达式由过滤项、过滤关系、过滤值三项组成。

    比如ip.addr == 192.168.1.1,这条表达式中ip.addr是过滤项、==是过滤关系,192.168.1.1是过滤值(整条表达示的意思是找出所有ip协议中源或目标ip、等于、192.168.1.1的数据包)

    1.1 过滤项

    初学者感觉的“过滤表达式复杂”,最主要就是在这个过滤项上:一是不知道有哪些过滤项,二是不知道过滤项该怎么写。

    这两个问题有一个共同的答案-----wireshark的过滤项是“协议“+”.“+”协议字段”的模式。以端口为例,端口出现于tcp协议中所以有端口这个过滤项且其写法就是tcp.port。

    推广到其他协议,如eth、ip、udp、http、telnet、ftp、icmp、snmp等等其他协议都是这么个书写思路。当然wireshark出于缩减长度的原因有些字段没有使用协议规定的名称而是使用简写(比如Destination Port在wireshark中写为dstport)又出于简使用增加了一些协议中没有的字段(比如tcp协议只有源端口和目标端口字段,为了简便使用wireshark增加了tcp.port字段来同时代表这两个),但思路总的算是不变的。而且在实际使用时我们输入“协议”+“.”wireshark就会有支持的字段提示(特别是过滤表达式字段的首字母和wireshark在上边2窗口显示的字段名称首字母通常是一样的),看下名称就大概知道要用哪个字段了。wireshark支持的全部协议及协议字段可查看官方说明

    1.2 过滤关系

    过滤关系就是大于、小于、等于等几种等式关系,我们可以直接看官方给出的表。注意其中有“English”和“C-like”两个字段,这个意思是说“English”和“C-like”这两种写法在wireshark中是等价的、都是可用的。

    1.3 过滤值

    过滤值就是设定的过滤项应该满足过滤关系的标准,比如500、5000、50000等等。过滤值的写法一般已经被过滤项和过滤关系设定好了,只是填下自己的期望值就可以了。

     

    2 复合过滤表达示

    所谓复合过滤表达示,就是指由多条基本过滤表达式组合而成的表达示。基本过滤表达式的写法还是不变的,复合过滤表达示多出来的东西就只是基本过滤表达示的“连接词”

    我们依然直接参照官方给出的表,同样“English”和“C-like”这两个字段还是说明这两种写法在wireshark中是等价的、都是可用的。

     

    3 常见用显示过滤需求及其对应表达式

    数据链路层:

    筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

    筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

    网络层:

    筛选ip地址为192.168.1.1的数据包----ip.addr == 192.168.1.1

    筛选192.168.1.0网段的数据---- ip contains "192.168.1"

    筛选192.168.1.1和192.168.1.2之间的数据包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2

    筛选从192.168.1.1到192.168.1.2的数据包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2

    传输层:

    筛选tcp协议的数据包----tcp

    筛选除tcp协议以外的数据包----!tcp

    筛选端口为80的数据包----tcp.port == 80

    筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80

    筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 80

    应用层:

    特别说明----http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1),http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。

    筛选url中包含.php的http数据包----http.request.uri contains ".php"

    筛选内容包含username的http数据包----http contains "username"

    展开全文
  • Wireshark 过滤器

    2016-01-16 11:13:30
    正如您在Wireshark教程第一部分看到的一样,安装、运行Wireshark并开始分析网络是非常简单的。  使用Wireshark时最常见的...-捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。显

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


    使用Wireshark时最常见的问题,是当您使用默认设置时,会得到大量冗余信息,以至于很难找到自己需要的部分。
    这就是为什么过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。-捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。那么我应该使用哪一种过滤器呢?

    两种过滤器的目的是不同的。
    捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
    显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。
    两种过滤器使用的语法是完全不同的。我们将在接下来的几页中对它们进行介绍:

                           1. 捕捉过滤器             2. 显示过滤器

     1. 捕捉过滤器
    捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。 
    设置捕捉过滤器的步骤是:
    - 选择 capture -> options。
    - 填写"capture filter"栏或者点击"capture filter"按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。
    - 点击开始(Start)进行捕捉。 

    wireshark capture options

    wireshark capture options

    语法: ProtocolDirectionHost(s)ValueLogical OperationsOther expression例子:tcpdst10.1.1.180andtcp 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"就会非常有用。 

    查看 TCPdump的主页以获得更详细的捕捉过滤器语法说明。

    Wiki Wireshark website上可以找到更多捕捉过滤器的例子。

     2. 显示过滤器:


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

    语法: Protocol.String 1 .String 2Comparison
    operatorValueLogical
    OperationsOther
    expression例子:ftp passiveip==10.2.3.4xoricmp.type  Protocol(协议):

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

    wireshark filter expression

    wireshark filter expression 

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

    wireshark supported protocols

    wireshark supported protocols 

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

      String1, String2 (可选项):

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

    wireshark filter expression 

      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 display filter example表达式正确 wireshark display filter example表达式错误您可以在 Wireshark官方网站Wiki Wireshark website上找到关于显示过滤器的补充信息。 


    展开全文
  • 所以使用wireshark过滤器就显得尤为重要。 wireshark过滤器分为两种:显示过滤器,捕获过滤器 如果过滤的语法正确则显示绿色,如果语法错误则显示红色。 显示过滤器和捕获过滤器的区别。捕获过滤器是wireshark的...
  • wireshark 过滤器使用

    2020-04-02 10:56:12
    wireshark过滤器打开: wireshark过滤器语法: host:抓取指定“地址”的数据包;该地址包含: ip地址,Mac地址,域名地址 例如: host 192.168.10.24 抓取IP地址为:192.168.10.24的数据包 host 08:80:24:a8...
  • wireshark 过滤器设置

    千次阅读 2020-03-04 15:08:43
    wireshark过滤器分为两种:显示过滤器,捕获过滤器 捕获过滤器 用于确定什么样的信息记录会显示在捕获结果中,需要在开始捕获前设置。界面如下 捕获过滤器语法 <Protocol> <Direction> <Host(s)>...
  • wireshark 过滤器 过滤规则

    千次阅读 2016-06-24 10:51:49
    wireshark 过滤器wireshark有两种过滤器,一种是抓包过滤器,一种是显示过滤器,注意两种过滤器的过滤规则不一样。 抓包过滤器定义得当,就可以抓少量的包而达到目的,抓的包太多,wireshark会卡顿。抓包过滤器抓包...
  • Wireshark 过滤器的语法

    2020-11-24 20:34:20
    wireshark过滤器分为两种 捕获过滤器 抓包之前使用的过滤器,它的作用是我只抓我想要的包,不需要的不抓。 优点:可以减小网卡负载,垃圾包少 捕获过滤器语法: <Protocol> <Direction> <Host(s)>...
  • Wireshark过滤器语法设置 1. 抓包过滤器 BPF语法(Berkeley Packet Filter)——基于libpcap/wincap库,在抓包的过程中过滤掉某些类型的协议,不抓取过滤掉的协议。(建议在流量特别大的情况下使用) 1.1 ...
  • 本文介绍14种功能强大的wireshark过滤器,能帮您快速在大量流量数据包中提取您需要的数据,快速分析流量
  • WireShark过滤器选项

    2017-12-05 18:15:00
    WireShark过滤器选项 首先说几个最常用的关键字,“eq” 和 “==”等同,可以使用 “and” 表示并且,“or”表示或者。“!" 和 "not” 都表示取反。  一、针对wireshark最常用的自然是针对IP地址的...
  • 本文全面介绍了wireshark过滤器语法,wireshark包括捕获过滤器和显示过滤器,其中显示过滤器的语法十分丰富,其实显示过滤器的语法可以简单概括为:基本数据类型,协议对象,比较运算符,结合运算符,字符串函数与...
  • WireShark过滤器应用

    2021-01-15 17:22:19
    在工作中我们常会用到wireshark抓取数据包进行分析,当使用wireshark默认设置时,会捕获到大量冗余的数据包,如果没有过滤器过滤,我们很难找到自己想要抓取的数据,这个时候就需要用到wireshark过滤器来过滤,...
  • Wireshark过滤器规则

    2013-08-16 18:56:00
    一、Wireshark过滤器 Wireshark主要提供两种主要的过滤器 1、捕获过滤器:当进行数据包捕获时,只有那些满足给定条件的包含/排除表达式的数据 包会被捕获。选择capture->interfaces-->options,...
  • wireshark过滤器使用

    2021-03-23 09:29:17
    首先要注意,如果你是使用localhost或者127.0.0.1进行测试的,流量是不经过...Wireshark 基本语法,基本使用方法,及包过滤规则: 1.过滤IP,如来源IP或者目标IP等于某个IP 例子: ip.src eq 192.168.1.107 or ip.dst
  • Wireshark 过滤器使用规则介绍   from: http://www.oschina.net/question/12_10172 使用Wireshark时最常见的问题,是当您使用默认设置时,会得到大量冗余信息,以至于很难找到自己需要的部分。 这就是为什么...
  • WireShark过滤器总结

    千次阅读 2015-10-07 10:23:46
    WireShark 提供两种过滤器,分别是捕获过滤器和显示过滤器。捕获过滤器是进行包捕获时进行过滤,只捕获过滤规则之内的数据包。而显示过滤器是在捕获数据包之后,只显示过滤规则之内的数据包。 捕获过滤器: 捕获...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,422
精华内容 3,768
关键字:

wireshark过滤器