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响应数据包
wireshark显示过滤器的几种用法(转自他人博客)的更多相关文章
- 一站式学习Wireshark(十):应用Wireshark显示过滤器分析特定数据流(下)
介绍 掌握显示过滤器对于网络分析者来说是一项必备的技能.这是一项大海捞针的技巧.学会构建,编辑,保存关键的显示过滤器能够节省数小时的时间. 与捕捉过滤器使用的BPF语法不同,显示过滤器使用的是Wire ...
- 一站式学习Wireshark(九):应用Wireshark显示过滤器分析特定数据流(上)
介绍 掌握显示过滤器对于网络分析者来说是一项必备的技能.这是一项大海捞针的技巧.学会构建,编辑,保存关键的显示过滤器能够节省数小时的时间. 与捕捉过滤器使用的BPF语法不同,显示过滤器使用的是Wire ...
- 26种基于PHP的开源博客系统
26种基于PHP的开源博客系统 来源:本站原创 PHP学习笔记 以下列举的PHP开源Blog系统中,除了我们熟知的WordPress之外,大多都没有使用过,其中一些已经被淘汰,或者有人还在使用.除了做 ...
- C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN
C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN.NET 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够 ...
- Golang拼接字符串的5种方法及其效率_Chrispink-CSDN博客_golang 字符串拼接效率 https://blog.csdn.net/m0_37422289/article/details/103362740
Different ways to concatenate two strings in Golang - GeeksforGeeks https://www.geeksforgeeks.org/di ...
- 使用tensorflow.data.Dataset构造batch数据集(具体用法在下一篇博客介绍)
import tensorflow as tf import numpy as np def _parse_function(x): num_list = np.arange(10) return n ...
- 一步步开发自己的博客 .NET版(1、基本显示)
前言 我们每个猿都有一个搭建自己独立博客的梦,我也不例外.以前想 现在想 以后也想.之所以一直迟迟没有着手,是因为难以跨出第一步.每次心里想着,等我以后技术好了再说,然后就没有然后了.以前用过word ...
- wireshark捕获/显示过滤器表达式书写规律说明
一.说明 1.1 背景说明 对于大多数刚开始接触wireshark的使用者而言,经常是开始的时候时候看到wireshark能把所有数据包都拦截下来觉得强无敌,但是面对一大堆的数据包要问有什么用或者说想 ...
- 捕捉过滤器(CaptureFilters)和显示过滤器(DisplayFilters)--Wireshark
Wireshark的基本使用——过滤器 前言 网络上关于Wireshark的教程已有不少,博主就简单介绍一下Wireshark分析数据包时最重要的技巧之一的过滤器..一次性嗅探到的数据包有很多,想要高 ...
随机推荐
- learning ddr write leveling
- go中for循环使用多个变量避坑
go for循环语法为: for expression1, expression2, expression3 { // ... } 使用多个变量时,使用平行赋值,需要留意的是expression3处的 ...
- day10-高阶函数
高阶函数 高阶函数:就是把函数当成参数传递的一种函数,例如: def add(x,y,f): return f(x)+f(y) print(add(-8,11,abs)) 结果: 19 解释: 调用a ...
- python全栈开发笔记--------条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. Py ...
- InterBase 数据库与驱动 版本不同
[Window Title] Project1 - Delphi 10.1 Berlin - Unit1 [Content] Failed: "unsupported on-disk str ...
- 延迟载入Dll(动态载入Dll)
windows核心编程(第五版)20.3节的延迟载入Dll 延迟载入Dll技术出现的原因: 因为DLL的加载是比较浪费时间的,特别是大型软件加载,因此,这项技术是在应对软件初始化过程中避免浪费太多的时 ...
- java中String的equals()和 ==
String a=new String("java"); String b=new String("java"); System.out.println(a.e ...
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- python基础题型一
一.执行Python脚本的两种方式 #python name.py Python解析器 #chmod +x name.py 二.简述位.字节的关系 1Byte=8bit 三.简述ascii.uni ...
- mysql关系型和非关系型区别
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织优点:1.易于维护:都是使用表结构,格式一致:2.使用方便:SQL语言通用,可用于复杂查询:3.复杂操作:支持SQL,可用于 ...