• wireshark显示过滤器的几种用法(转自他人博客)


    本文章转自:http://blog.51cto.com/houm01/1872652

    几种条件操作符

          ==   eq    等于    ip.addr == 192.168.0.1   ip.addr eq 192.168.0.1

         !=    ne    不等于  !ip.addr==192.168.0.1 ip.addr!= 192.168.0.1  ip.addr ne 192.168.0.1

         >     gt    大于     frame.len>64   frame.len gt 64

         <     lt    小于    frame.len<1500  frame.len le 1500

         >=    ge    不大于  frame.len >= 64

         <=    le    不小于  frame.len <= 1500

              is present  符合某项参数,满足某个条件,或者出现某个现象  http.response

              contains  包含某个字符串    http.host contains cisco

              match    某串字符匹配某个条件  http.host matches www.cicso.com

    逻辑关系操作符

        &&   and   逻辑与   ip.src==10.0.0.1 and tcp.flags.syn=1

        ||   or   逻辑或  ip.addr==10.0.0.1 or ip.addr==10.0.0.2 

        !   not  逻辑非  not arp and not icmp 除了arp和icmp之外的包

    ip.addr != 192.168.0.1 这样的表达式语法正确但是并不起作用,原因是每个IP数据包必定包含两个IP地址,wireshark执行上边的过滤功能时,只要发现源和目的IP有一不为192.168.0.1,就会判定条件为真,正确的应该是  !(ip.addr eq 192.168.0.1)

     

    L2显示过滤器

    • eth.addr eq mac-address    #显示指定mac地址的数据帧

    • eth.src eq    eth.dst eq   #显示指定源和目的mac地址的数据帧

    • eth.type eq protocol type (十六进制数,格式为0xnnnn) #只显示特定以太网类型的流量

    • arp.opcode eq value   #只显示特定类型的arp帧,arp按其所含代码字段值,可分为arp应答帧,响应帧,rarp应答,响应帧   1=arp请求  2=arp应答  3=rarp请求  4=rarp应答

    • arp.src.hw_mac eq mac address    #显示指定mac地址的主机发出的arp帧

    常用的ip显示过滤器

    • ip.addr eq ______  ip.src eq  ip.dst eq 

    • ip.ttl eq value    只显示ip包头中ttl字段值为指定值的数据包

    • ip.len = value    #只显示指定长度的IP数据包

    示例:

         ip.dst eq 224.0.0.0/4   #可以加掩码

    复杂的过滤器

    • ip.src eq 10.0.0.0/24 and http.host contains "souhu"  #显示10.0.0.0/24的主机,发往域名中包含指定字符串的所有ip流量。

    • ip.addr eq 10.0.0.0/24 and http.host matches ".com$"  #显示以.com结尾的ip流量

    • ip.src eq 10.0.0.0/24 and eth.dst eq ff:ff:ff:ff:ff:ff

    TCP/UDP过滤

    • tcp.port eq 或 udp.port eq 

    • tcp.src/dst port  udp同理

    • tcp.analysis 可用该参数来分析重传,重复确认,窗口大小有关的网络问题的参照物

    • tcp.analysis.retransmission   #显示重传的数据包

    • tcp.analysis.duplicate_ack    #显示确认多次的tcp数据包

    • tcp.analysis.zero_window  #显示零窗口通告信息的tcp数据包(tcp会话一端的主机通过此类tcp数据包,向对端主机报告:本机tcp窗口为0,请对方停止通过该会话发送数据

    • tcp.flags.syn eq 1 

    • tcp.flags.reset eq 1

    • tcp.flags.fin eq 1

    • tcp.window_size_value  #只显示tcp头部中窗口大小字段值低于指定值的数据包。可以排除与tcp窗口过小有关的性能问题,可以判定tcp参与tcp会话的网络设备反应过慢

    • tcp.dstport eq 80 #显示到http服务器的流量

    • ip.src eq 10.0.0.0/24 and tcp.srcport eq 80 #显示一个段的到http的流量

    • tcp.stream eq 16 && tcp.analysis.retransmission  #显示特定TCP连接(在抓包文件中编号16的连接)发生重传的所有tcp数据包。

         追踪流功能可以显示某条tcp连接从建立到终止。

         当分析重传,重复确认及其他影响网络性能的现象原因时,可以用tcp.analysis过滤参数及 follow tcp stream 把上述现象与具体的tcp连接建立起来。

    • ip.src eq 10.0.0.5 && udp.port eq 53  #只显示ip地址的主机访问dns服务器的流量

    • tcp contains "windows"  #只显示包含搜索关键字“windows”的tcp数据包,区分大小写。

    • tcp.stream eq 0 &&(tcp.analysis.window_full ||/or tcp.analysis.zero_window) #显示某条特定tcp连接中出现窗口问题的tcp数据包

    • ip.src eq 10.0.0.3 && (http.cookie||http.set_cookie)  #显示指定主机发送的包含http cookie 的所有数据包

    http过滤

    • http.host eq "hostname"   #显示访问指定主机的http协议数据包

    • http.request.method eq "get"  #显示http  get方法的数据包

    • http.request.uri eq "xxxx.com"  #显示指定uri请求的包

    • http.request.uri contains "mail.google.com"  #显示包含字符串 mail.google.comd uri请求数据包

    • http.cookie  #显示包含cookie请求的数据包,cookie总是从http客户端发往http服务器

    • http.set_cookie  #显示传播的所有包含由http服务器发送给http客户端的cookie set命令的http包

    • http matches ".zip" && http.request.method eq "get"  #显示包含zip文件的http数据包

    DNS

    • dns.flags.response eq 0  #DNS查询

    • dns.flags.response eq 1  #dns响应

    • dns.count.answers >= 4  #显示所有anser count字段值大于或等于4的dns响应数据包

  • 相关阅读:
    什么是J2EE
    JSE,JEE,JME三者之间有什么区别
    windows下git显示文件被修改,实际没有改动的问题解决办法
    laravel 多个项目共享SESSION
    laravel 共享session问题总结
    laravel5 报错419,form 添加crrf_field 后让然失败,本地环境配置问题
    QQ互联登录提示redirect uri is illegal(100010)完美解决方法
    vim鼠标模式打开与关闭
    HTML5----响应式(自适应)网页设计
    file_put_contents () failed to open stream: Permission denied 解决办法
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/8270649.html
Copyright © 2020-2023  润新知