伯克利包过滤
    这种语法很容易理解,列如最简单的空字符串,表示技术不过滤任何数据包,也就是保留所有的数据包

    伯克利包过滤中的限定符有下面3种
    type:这种限定指代的对象,列如IP地址、子网或者端口等。常见的有host表示主机名和IP地址、net表示子网,port表示端口
    dir:这种限定符表示数据包传输的方向,常见的有src源地址、dst目的地址。如果没有指定的话,默认为”src or dst”
    proto:这种限定符表示与数据包匹配的协议类型,常见的技术ether、ip、tcp、arp这些协议

    host 192.168.1.1 当数据包的目的地址或者源地址为192.168.1.1
    Dst host 192.168.1.1 目的地址为192.168.1.1
    Src host 192.168.1.1 源地址为192.168.1.1
    Ether dst host 11:22:33:44:55:55 目的地址为11:22:33:44:55:55
    Ether src host 11:22:33:44:55:55 源地址为11:22:33:44:55:55
    Dst net 192.168.1.0/24 IPv4/v6的目的地址为192.168.1.0/24
    src net 192.168.1.0/24 IPv4/v6的源地址为192.168.1.0/24
    net 192.168.1.0/24 IPv4/v6的源地址或目的地址为192.168.1.0/24
    Dst port 8080 tcp或者udp数据包且目的端口号为8080
    Src port 8080 tcp或者udp数据包且源端口号为8080
    Scr portrange 2000-2500 保留源端口在2000-2500范围UDP和TCP
    Not icmp 保留除了icmp以外的数据包
    Src host 10.7.2.12 and not dst net 10.200.0.0/16 保留源地址10.7.2.12,但目标地址不为10.200.0.0/16范围的数据包

    需要对数据包进行更细微的操作,伯克利包过滤也支持精确到位的操作。
    语法:proto[expr:size]
    proto:协议
    expr:表示相对给出协议层字节偏移量
    size:表示要操作的字节数

    Wireshark中提供了两种不同的过滤器:捕获过滤器和显示过滤器
    捕获过滤器是在Wireshark捕获过程的同时进行工作的,使用捕获过滤器,那么Wireshark就不会捕获不符合规则的数据包
    显示过滤器可以在Wireshark捕获数据之后再使用、显示过滤器的语法与捕获过滤器的语法并不相同

    在Wireshark中,在显示过滤器中使用网络协议时,这些网络协议都要使用小写的形式(arp、ip、dicmp、tcp、udp、dns以及http等)
    使用过滤器表达式创建形式过滤器

    image.png
    字段名称:这里列出了Wireshshark中支持各种需要以及它们的子类
    关系:这里列出了Wireshark中可以使用的各种运算符。支持比较和逻辑两种运算符

    Eq == 等于
    Ne != 不等于
    Gt
    -
    比…大
    Lt < 比…小
    ge >= 大于等于
    Le <= 小于等于
    And &&
    Or ||
    Not

    image.png