zoukankan      html  css  js  c++  java
  • wireshark基础学习—第四部分wireshark过滤器总结

    这两天一直在熟悉wireshark的过滤器语法规则,以前也接触过这个工具,但只是学校老师教的如何去选择一个接口进行抓取,以及如何去分析一个包的数据。可惜当时对此也没有过多深入。对于我当前,并未接触太多的功能,现在只是对这两天学到的一些简单的过滤规则做一个总结。
      1. 测试环境说明
    2. 过滤器规则说明
      目前网络上对于wireshark的流程使用实在太多,在此也就不再赘述,现只针对过滤器的一些简单使用规则进行一些举例说明。
      要注意的是wireshark中,分为两种过滤器:捕获过滤器和显示过滤器。
      【捕获过滤器】是指wireshark一开始在抓包时,就确定要抓取哪些类型的包;对于不需要的,不进行抓取;
      【显示过滤器】是指wireshark对所有的包都进行抓取,当用户分析数据包的信息,便于筛选出需要的数据包。
      总结来说,捕获过滤器是在用户开始任务之前就要使用的规则;而显示过滤器是任务开始之后(无论是否已完成)要使用的规则。
      两种过滤器语法规则不尽相同,下面做出一些示例:
      a)捕获过滤器
    1)语法结构
      Protocols
      ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp and udp
      注:若不指定,默认使用所有支持的协议
      Direction
      src,dst,src and dst,src or dst
      注:若不指定,默认使用双向(src or host)
      Host
      net,port,host,portrange
      注:若不指定,默认所有(host)
      Logical Operations
      and,or,not
      注:not优先级最高,or和not优先级相等,从左至右依次运算
      Other expression
      其他的过滤条件,当有多重表达条件时与Logica Operatios 一起连用
      2)使用示例
      【过滤地址】
      host 192.168.1.1  //只抓取源/目的IP为192.168.1.1的数据包
      src host 192.168.1.1 && dst host 192.168.1.2  //只抓取源IP为192.168.1.1,目的IP为192.168.1.2的数据包
      net 192.168.1.0/24 net  //用于表示一个网段
      【过滤端口】
      !port 80  //不抓取端口为80的数据包
      tcp portrange 1-1024  //只抓取使用tcp协议的1-1024端口的数据包
      dst port 80  //只抓取目标端口为80的所有数据包
      src host 192.168.1.5 && port 443   //抓取所有源IP为192.168.1.5,并且与443端口有关的数据包
      【过滤协议】
      tcp,udp,icmp,arp  //直接输入某一个协议,则只抓取该协议的数据包
      !brocast  //使用逻辑非运算符,不抓取广播包
      b) 显示过滤器
    1)使用示例
      【可使用连接符】
      ==(eq)  //等于,equal
      !=(ne)  //不等于,no equal
      <(lt)  //小于,less than
      >(gt)  //大于,great than
      >=(ge)  //大于等于,great equal
      <=(le)  //小于等于,less equal
      &&  //逻辑“与”运算
      ||  //逻辑“或”运算
      !  //逻辑“非”运算
      【过滤IP地址】
      ip.addr==192.168.1.3  //只显示源/目的IP为192.168.1.3的数据包
      not ip.src==1.1.1.1  //不显示源IP为1.1.1.1的数据包
      ip.src==1.1.1.1 or ip.dst==1.1.1.2  //只显示源IP为1.1.1.1或目的IP为1.1.1.2的数据包
      【过滤端口】
      tcp.port eq 80  //只显示源/目的端口为80的数据包
      tcp.dstport==80  //只显示目的端口为80的数据包
      tcp.srcport
      tcp.port >=1 and tcp.port<=80  //只显示源/目的端口大于等于1,小于等于80的数据包
      【过滤MAC地址】
      eth.dst==A0:00:00:04:C5:84  //只显示目的MAC为A0:00:00:04:C5:84 的数据包
      eth.addr eq A0:00:00:04:C5:84  //作用同上
      【过滤协议类别】
      tcp、ip、dhcp、oicq、ftp、ssl等等
      udp || icmp || dns  //只显示udp、icmp、dns相关协议的数据包
      not arp 等于 !arp  //不显示arp协议的数据包
      【过滤协议参数】
      tcp.flags.syn == 0x02  //显示包含syn标志位的数据包
      frame.len==119  //整个数据包长度,从eth开始到最后
      http.request.method=="get"  //显示http请求中method值为get的包
      tips:如图所示,在显示过滤器中输入规则时,会出现提示信息,可据此了解更多的协议过滤规则
    c) 注意事项
      1)捕获过滤器对于一个选项的参数之间使用空格进行连接
      2)显示过滤器对于一个选项的参数之间使用点”.”进行连接
      3) 输入过滤器规则时,如果语法正确,底色显示为绿色;如果语法错误,显示为红色。
      4) 使用捕获过滤器时,要先选择要捕获的接口,再填写过滤器规则
    文章引用来源:http://www.51testing.com/html/10/n-3723710.html
  • 相关阅读:
    用户(三)
    首页和token验证(二)
    项目初始化和登录退出(一)
    VSCode设置vue/react模板
    Git操作
    C#可视化程序设计第三章(1,2)
    C#可视化程序设计第二章(3,4)
    SQL数据库第五章
    C#可视化程序设计第一章
    SQL数据库第四章
  • 原文地址:https://www.cnblogs.com/lumama520/p/10278648.html
Copyright © 2011-2022 走看看