wireshark过滤器

一 概况

  本文是对wireshark抓包过滤器, 跟显示过滤器的总结

  由于一些未知的原因, 这俩过滤器的语法并不一样!

  我大概知道为什么不一样了, 因为这俩出现的顺序不一样, 抓包过滤器先出现的, 可能当时参考了tcpdump的语法; 而显示过滤器是后出现的, 所以语法设计上更人性化一些, 为了兼容性的考虑, 要让后来的使用者同时学习两套语法?!

  

二 抓包过滤器

  0 符号  

    位运算

      & |

    逻辑运算

      ! (或者not)

      &&(或者 and)

      ||(或者or)

      > >= < <= ==

  1 二层过滤器

    ether host mac地址 (eg: ether host 00:24:d6:ab:98:b6)

    ether src mac地址

    ether dst mac地址

    ether multicast

    ether broadcast(或者 ether dst ff:ff:ff:ff:ff:ff)

    ether proto <protocol>  (eg: ether proto 0x0806(arp))

    vlan <vlan_id>: 只抓取特定vlan的流量

  2 三层过滤器

    ip(或者ip6) : 只抓取ipv4或者ipv6的流量

    gateway <主机名>:  表示抓取主机名对应的mac地址包, 且不抓取主机名对应的ip地址,感觉很像是抓取网关的流量, 不太常用, 等实际用到了, 再改

    broadcast: ip广播包

    multicast: ip多播包

    icmp [icmptype] ==<identifier>: 抓取特定类型的icmp包(eg: icmp[icmptype] ==8 ;icmp[icmptype]==icmp-echo)

    host <host> eg: host 192.168.1.1 , host www.baidu.com

    src host <host>

    dst host <host>

    net <net>: 抓取源自或者发往某个网段的ipv4或ipv6的包 (eg: net 192.168.1 抓取192.168.1.0/24网络的包; net 2001::/16 )

    dst net <net>

    src net <net>

    以下只针对ipv4包有效

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++

    net <net> mask <netmask>: 用掩码表示网络 (eg: net 192.168.1.0 mask 255. 255. 255. 0抓取192.168.1.0/24网络的包)

    src net <net> mask <netmask>

    dst net <net> mask <netmask>

    net <net>/<len>: 掩码位表示网络 (eg: net 192.168.1.0/24 抓取192.168.1.0/24网络的包)

    src net <net>/<len>

    dst net <net>/<len>

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++

    ip proto <protocol code>: 根据ipv4上层协议字段过滤(eg: ip proto 1 ==> 只抓取icmp包)

    ip6 proto <protocol> 根据ipv6包头的下一个包头字段来过滤

    ip[num1:num2] ==<num3> : 过滤ipv4包头从num1开始的num2长度的整数等于num3的包,":num2"没有的话, 表示1字节

  3 四层过滤器

    port <port>: 根据tcp或udp端口号过滤

    src port <port>

    dst port <port>

    tcp/udp portrange <p1>-<p2>: 抓取端口范围在[p1,p2]里面的包

    tcp/udp[num1:num2] ==num3

    

原文地址:https://www.cnblogs.com/talenth/p/8677177.html