BPF过滤语法

2023-11-01

wireshark过滤器基本语法分析

2020-04-13 00:03:32 48 收藏
分类专栏: 网络协议
最后发布:2020-04-13 00:03:32 首次发布:2020-04-13 00:03:32

Wireshark抓包过滤器语法设置

1. 抓包过滤器

BPF语法(Berkeley Packet Filter)——基于libpcap/wincap库,在抓包的过程中过滤掉某些类型的协议,不抓取过滤掉的协议。(建议在流量特别大的情况下使用)

1.1 语法说明

  1. 类型Type: host、net、port
  2. 方向Dir: src、dst
  3. 协议Proto: ether、ip、tcp、udp、http、ftp
  4. 逻辑运算符: &&与、||或、!非

1.2 例子

  • src host 192.168.1.1 && dst port 80 抓取源地址为192.168.1.1,目的端口为80的流量
  • host 192.168.1.1 || host 192.168.1.2 抓取192.168.1.1和192.168.1.2的流量
  • !broadcast 不要抓广播包

过滤MAC地址案例

  • ether host 00:88:ca:86:f8:od
  • ether src host 00:88:ca:86:f8:od
  • ether dst host 00:88:ca:86:f8:od

过滤IP地址案例

  • host 192.168.1.1
  • src host 192.168.1.1
  • dst host 192.168.1.1

过滤端口案例

  • port 80
  • ! port 80
  • dst port 80
  • src port 80

过滤协议案例

  • arp
  • icmp

综合过滤案例

  • host 192.168.1.1 && port 8080

2. 显示过滤器

抓包的时候没有做任何过滤,抓完包后国女,抓包过滤器语法与显示过滤器语法是不一样的。只需要研究某一种协议,不需要全局流量的,可以使用抓包过滤器。在流量很小的时候建议使用显示过滤器。

2.1 语法说明

比较操作符

支持==、!=、<、>、>=、=等

==    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)

IP地址

ip.addr、ip.src、ip.dst

端口过滤

tcp.port、tcp.srcport、tcp.dstport、tcp.flag.syn、tcp.flag.ack

协议过滤

arp、ip、icmp、udp、tcp、bootp、dns

2.2 示例

过滤IP地址案例

  • ip.addr == 192.168.1.1
  • ip.src == 192.168.1.1
  • ip.dst == 192.168.1.1

过滤端口案例

  • tcp.port == 80
  • tcp.srcport == 80
  • tcp.dstport == 80
  • tcp.flags.syn == 1

过滤协议案例

  • tcp
  • not http
  • not arp

综合过滤案例

  • ip.src == 192.168.1.100 and udp.port == 4000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BPF过滤语法 的相关文章

  • tcpdump 过滤 src dst 端口

    我需要嗅探 5060 端口上的 voip 流量 同时我需要排除源端口 5060 和目标端口 5061 的所有数据包 我需要类似的东西 tcpdump i any vvv s0 port 5060 and not src port 5060
  • ASP.NET Core 中的自定义授权属性

    我正在研究 asp net core 但我不明白一些事情 例如 在 mvc net 5 中 我们可以使用 AuthorizeAttribute 创建类来过滤和授权操作 并将属性设置为操作 如下所示 public class AdminAut
  • django admin list_filter“或”条件

    抱歉 如果这个问题之前已经被回答过 但我做了很多谷歌搜索但没有成功 我知道如何创建自定义list filter管理视图中的 s 例如子类化SimpleFilter 我真正想要的是一种方法 在管理列表视图上 检查 将它们组合在 OR 公式中的
  • 使用 dplyr 过滤包含部分列字符串的行

    假设我有一个像这样的数据框 term cnt apple 10 apples 5 a apple on 3 blue pears 3 pears 1 如何过滤此列中所有部分找到的字符串 例如得到结果 term cnt apple 10 pe
  • Solr距离过滤

    我正在尝试使用 Solr 进行距离范围搜索 我知道在5公里范围内进行搜索过滤很容易 q fq geofilt pt 45 15 93 85 sfield store d 5 我所追求的是如果我正在寻找一系列的说法 如何做同样的事情5至10公
  • ActiveAdmin:按子对象计数过滤

    在严重依赖 ActiveAdmin 的 Ruby on Rails 应用程序中 我有一个赞助商模型 它与赞助商模型关联 一sponsor可以资助很多孩子 所以一个sponsor可以有很多sponsorships 我想做的是能够在赞助商索引页
  • 使用组合框过滤文本框

    好吧 我必须创建一个表单 它获取文件夹的内容并将其列出在文本框中 是的 文本框不是列表框 然后 我必须使用包含文件夹所有扩展名的组合框来过滤此文本框 例如 如果我在组合框中选择 txt 则文本框应过滤以仅显示所有文本文件 除了让组合框过滤文
  • 根据另一个 csv 文件过滤 csv 文件中的行并将过滤后的数据保存在新文件中

    大家好 所以我试图根据file1过滤file2 其中file1是file2的子集 但 file2 有一个描述列 我需要能够分析 file1 中的数据 我想做的是过滤 file2 并仅获取 file1 中的标题及其描述 我尝试了这个 但我不太
  • 将“-Filter”与变量一起使用

    我尝试过滤掉这样的东西 Get ADComputer Filter name like chalmw dm and Enabled eq true 这就像一个魅力 并且得到了我想要的 现在我想要 类似名称 部分作为变量 如下所示 Get A
  • 将 dataGridView 绑定到绑定列表并按文本框过滤行

    我正在开发一个 Winforms 应用程序 并且有一个已经绑定到 dataGridView 的对象的 BindingList 我还有一个 过滤器 文本框 如果它们与文本框文本不匹配 我想从 datagridview 行中过滤掉行 我想以某种
  • 使用 TextBox 过滤 Datagridview 行

    我有一个绑定的 datagridView 我想使用 TextBox 值对其进行过滤 我使用了这段代码 private void ChercheStextBox TextChanged object sender EventArgs e tr
  • JS中如何过滤多个字符串? [复制]

    这个问题在这里已经有答案了 我希望能够过滤数组中的多个字符串 类型 例如我想过滤类型meat并输入fruit在下面的数据结构中 我想要实现的是过滤数据对象 const data type meat food hamburger type f
  • 使用 Newtonsoft.Json.NET 搜索 JSON 根对象的正确 JsonPath 表达式是什么?

    大多数例子涉及Stefan G ssner 的书店示例 http goessner net articles JsonPath index html e3 但是我正在努力为简单对象 无数组 定义正确的 JsonPath 表达式 Id 1 N
  • 如何修复日期过滤器 VBA,因为它没有拾取我范围内的所有日期

    我正在尝试创建一个过滤器来过滤掉我选择的日期内的所有日期 我选择的日期将始终反映整个月 例如 如果我需要 2019 年 5 月的数据 我将输入开始日期为 01 05 2019 结束日期为 31 05 2019 我的数据过滤器将需要选取经过我
  • R 如何将 curly curly 与 filter 或 filter_ 一起使用?

    我正在回答这个question https stackoverflow com questions 54350264 dplyr unquoting does not work with filter function评论者建议 ensym
  • 如何从另一个数组值中过滤数组值并返回新数组? [复制]

    这个问题在这里已经有答案了 我有两个数组 all languages and taken languages 第一个包含所有语言 例如 200 种或其他语言 第二个包含之前选择的语言 从 0 到 200 种 我需要删除所有已采用的语言 ta
  • 使用动画过滤 UITableViewCells - iPhone 开发

    这看起来很简单 但到目前为止我还无法找到解决方案 基本上我有一个带有两个选项的分段控件 第一个是默认值 加载时自动显示 选择后会在表视图中显示所有行 第二个是限制显示行的过滤器 这与 iPhone 电话应用程序的 最近 选项卡上使用的设置完
  • 在Excel中过滤后打印可见区域的宏

    我有一个根据过滤表的宏column A价值观 现在我想打印only过滤器后的可见行 但遗憾的是它打印了所有行 包括过滤期间隐藏的顶部和底部行 在我的工作表中 有来自的数据Column A I 但打印区域只能是Columns C I 过滤后的
  • 如何在没有@Transactional的情况下使用Hibernate @Filter?

    我使用 Hibernate Filter 和 Spring Data 为项目中的每个查询添加特定的 where 子句 问题是 只要我对 findAll 方法使用 Transactional 注释 它就可以工作 有什么办法可以避免使用 Tra
  • Javascript:如何过滤对象数组并对结果求和

    我有一个对象数组 var example a 1 b 2 c 3 a 4 b 5 c 6 a 7 b 8 c 9 我正在尝试添加所有不对应的值c 我已经设法用 console log test filter x gt x c gt 3 过滤

随机推荐

  • Django 简单教程(入门级)

    一 Django简介 1 web框架介绍 具体介绍Django之前 必须先介绍WEB框架等概念 web框架 别人已经设定好的一个web网站模板 你学习它的规则 然后 填空 或 修改 成你自己需要的样子 一般web框架的架构是这样的 其它基于
  • 数字电路设计之加法器的实现

    今天在看博客的时候看到有一种新颖的加法器写法 这和之前的超前进位加法器 二进制加法器不同 这个加法器应用了循环 我觉得应该会综合出来一个很差的东西 然后我试了一下 代码 module adder x y cin sum cout param
  • ubuntu登录输入密码后无法进入系统,重新返回输入密码界面(已解决)

    修改 etc profile时 由于未知问题导致无法使用ls等命令 重启后输入密码无法进入Ubuntu系统 反复回到输入密码界面 解决方法 1 按下Ctrl Alt F1 输入用户名 密码 2 输入 export PATH usr loca
  • 9 QT的窗口系统-QMainWindow

    QMainWindow是一个为用户提供主窗口程序的类 包含一个菜单栏 menu bar 多个工具栏 tool bars 多个浮动窗口 dock widgets 一个状态栏 status bar 及一个中心部件 central widget
  • Taro多端开发实现原理与项目实战(一)

    Taro 多端开发实现原理与项目实战 前端多端统一开发背景与趋势介绍 背景 大前端 不仅会成为移动开发与 Web 前端的发展趋势 也会是未来的显示设备终端的开发技术趋势 越来越多的业内人士对此表示肯定 因为终端碎片化和 Serverless
  • matlab运行sph法,SPH法一维实例:启发

    左志华 在读硕士 zuo zhihua qq com 深圳市罗湖区 2021 1 12 ThinkPad S2 2018 Windows10 Home 关键词 SPH法 一维 启发 B样条核函数 Octave 6 1 1 背景 从2020年
  • 个人网银系统平台搭建教程

    本教程目标 熟悉并了解EMP开发平台 学会自行搭建个人网银平台 EMP平台 1 何为EMP EMP平台是北京宇信集团开发的一个基于J2EE体系的 WEB应用的 基础框架平台 具有如下特性 表现逻辑框架 MVCFrameWork 与业务逻辑框
  • Tracy JS 小笔记 - 浏览器,JS 特性, JS 引入,变量

    浏览器 主流浏览器 拥有独立内壳的 IE 内壳是 Trident Chrome Blink Webkit的分支 Firefox Gecko Opera Blink Opera内核原为 Presto 现为 Blink Safari Webki
  • VMware Fusion 13在M2芯片的Mac上安装 Windows 11

    首先需要下载Windows 11镜像 以下给出一种官方方法 当然也可以自己去网上搜索 有很多资源 注册微软账号 使用注册的账号登录 访问 https www microsoft com en us windowsinsider regist
  • curl: (7) Failed to connect to raw.github.com port 443: 拒绝连接

    在使用快捷命令安装oh my zsh时出现如题错误 原因 你机器所配置的DNS服务器无法解析raw github com 也就是我们经常说的被墙了 可以通过科学上网解决 本文附上另外一种解决方法 如果你不满足科学上网的条件 你可以采用这种方
  • 华为鸿蒙系统支持什么手机_目前鸿蒙系统并不支持低端手机,反而支持的都是华为高端机...

    鸿蒙OS支持的手机名单 最新 华为P40 ANA AN00 华为P40Pro ELS AN00 华为Mate30 TAS AL00 TAS AN00 华为Mate30Pro UO AL00 UO AN00 从上面的名单可以看出 这四款机型都
  • Matlab求解数学问题

    Matlab 求解数学问题 如果看完之后还是对相关函数的运用不甚了解 请务必使用 help 查看更详细的帮助文档 求解一元 n 次方程 例 求解一元二次方程 x 2 2 x 1 0 clc clear 定义函数 syms f x f x 2
  • CSS快速记忆笔记(一)

    CSS层叠样式表用来美化网页 被称为网页的美术师 非常有趣和好玩 一起来学习吧 知识点01 CSS 层叠样式表 HTML只关注内容的语义 不能满足设计者的需要 操作HTML属性不方便 给代码带来更多的繁琐和臃肿 不易维护 所以它有一定的局限
  • Qt如何隐藏ListWidget的滚动条

    为了界面的美观 我们有时会需要隐藏掉QListWidget的水平滚动条和垂直滚动条 可以使用以下代码实现 QListWidget lw lyricList new QListWidget ui gt lw lyricList gt setV
  • SpringMVC框架

    一 SpringMVC框架概述 1 简介 Spring为构建Web应用提供了一个功能全面的MVC框架 虽然Spring可以很容易地与其它MVC框架集成 例如Struts 但Spring的MVC框架使用IOC对控制逻辑和业务对象提供了完全的分
  • Redis基础学习

    作用 内存存储 持久化 内存中是断电即失 持久化很重要 rdb aof 效率高 高速缓存 发布订阅系统 地图信息分析 计时器 计数器 特点 开源 持久化 多种数据类型 基础知识 redis中有16个数据库 默认使用第一个数据库 select
  • React中setState的怪异行为 ——setState没有即时生效

    setState可以说是React中使用频率最高的一个函数了 我们都知道 React是通过管理状态来实现对组件的管理的 当this setState 被调用的时候 React会重新调用render方法来重新渲染UI 但实际使用的时候 我们会
  • 【vue】页面触底加载(下拉加载loading)

    列表页面经常需要下拉加载这样一个需求 前端常用的东西 我这种菜鸡前端当然是要记录下来的 原理 监听页面滚动事件 判断页面是否将近浏览器底部 是则加载更多数据 判断语句 scrollTop clientHeight gt scrollHeig
  • 计算机一级电子表格和PP多少,2017年计算机一级《MSOffice》基本操作考前必做试题及答案5...

    二 基本操作题 10分 1 将考生文件夹下MUNLO文件夹中的文件KUB DOC删除 2 在考生文件夹下LOICE文件夹中建立一个名为WENHUA的新文件夹 3 将考生文件夹下JIE文件夹中的文件BMP BAS设置为只读属性 4 将考生文件
  • BPF过滤语法

    wireshark过滤器基本语法分析 lanhuazui10 2020 04 13 00 03 32 48 收藏 分类专栏 网络协议 最后发布 2020 04 13 00 03 32 首次发布 2020 04 13 00 03 32 原文链