当前位置: 首页 > news >正文

wireshark常见使用表达式

目录

      • 1. 捕获过滤器 (Capture Filters)
        • 基本捕获过滤器
        • 组合捕获过滤器
      • 2. 显示过滤器 (Display Filters)
        • 基本显示过滤器
        • 复杂显示过滤器
        • 协议特定显示过滤器
      • 3. 进阶显示过滤器技巧
        • 使用函数和操作符
        • 逻辑操作符
      • 4. 常见网络协议过滤表达式示例
        • HTTP 协议
        • HTTPS 协议
        • DNS 协议
        • DHCP 协议
        • ARP 协议
        • ICMP 协议
        • SMTP 协议
        • POP3 协议
        • IMAP 协议

1. 捕获过滤器 (Capture Filters)

捕获过滤器使用 Berkeley Packet Filter (BPF) 语法,主要用于在捕获数据包时进行过滤。以下是一些捕获过滤器的示例:

基本捕获过滤器
  • 捕获所有 TCP 包:
    tcp
    
  • 捕获特定 IP 地址的数据包:
    host 192.168.1.1
    
  • 捕获特定网络的数据包:
    net 192.168.1.0/24
    
  • 捕获特定端口的数据包:
    port 80
    
  • 捕获源地址为特定 IP 的数据包:
    src host 192.168.1.1
    
  • 捕获目标地址为特定 IP 的数据包:
    dst host 192.168.1.1
    
组合捕获过滤器
  • 捕获特定源地址且目标端口为 80 的数据包:
    src host 192.168.1.1 and port 80
    
  • 捕获特定源和目标地址的数据包:
    src host 192.168.1.1 and dst host 192.168.1.2
    
  • 捕获 TCP 和 UDP 包:
    tcp or udp
    

2. 显示过滤器 (Display Filters)

显示过滤器用于捕获后过滤和分析数据包,语法更加灵活和强大。以下是一些常见的显示过滤器及其用法:


基本显示过滤器
  • 过滤 TCP 包:
    tcp
    
  • 过滤 HTTP 请求:
    http.request
    
  • 过滤特定 IP 地址的源目地址:
    ip.src == 192.168.1.1
    ip.dst == 192.168.1.1
    
  • 过滤特定端口的 TCP 包:
    tcp.port == 80
    
复杂显示过滤器
  • 过滤特定 IP 地址且包含 HTTP 请求的数据包:
    ip.src == 192.168.1.1 && http.request
    
  • 过滤 TCP 三次握手的数据包:
    tcp.flags.syn == 1 && tcp.flags.ack == 0 || tcp.flags.syn == 1 && tcp.flags.ack == 1 || tcp.flags.ack == 1 && tcp.flags.syn == 0 && tcp.flags.fin == 0
    
  • 过滤特定子网内的所有 ICMP 包:
    icmp && ip.src == 192.168.1.0/24
    
  • 过滤 HTTP POST 请求中包含特定字符串的数据包:
    http.request.method == "POST" && frame contains "search_string"
    
  • 过滤所有源自特定 IP 地址并且端口范围在 1000 到 2000 之间的 TCP 包:
    ip.src == 192.168.1.1 && tcp.srcport >= 1000 && tcp.srcport <= 2000
    
协议特定显示过滤器
  • 过滤 DHCP 请求:
    bootp.type == 1
    
  • 过滤 DNS 响应:
    dns.flags.response == 1
    
  • 过滤 ARP 请求:
    arp.opcode == 1
    
  • 过滤 TLS(前身为 SSL)握手包:
    tls.handshake.type == 1
    

3. 进阶显示过滤器技巧

使用函数和操作符
  • 包含特定字符串的包:
    frame contains "example.com"
    
  • 过滤特定字节序列:
    data.data contains 0A:0B:0C:0D
    
  • 过滤特定时间范围内的包:
    frame.time >= "2024-06-01 00:00:00" && frame.time <= "2024-06-01 23:59:59"
    

逻辑操作符
  • 逻辑 AND:
    tcp && ip.src == 192.168.1.1
    
  • 逻辑 OR:
    http || dns
    
  • 逻辑 NOT:
    !arp
    

4. 常见网络协议过滤表达式示例

HTTP 协议
  • 过滤所有 HTTP 请求:
    http.request
    
  • 过滤所有 HTTP 响应:
    http.response
    
  • 过滤特定 URL 的 HTTP 请求:
    http.request.uri contains "login"
    
  • 分析特定网站的 HTTP 流量:
    http && (ip.src == 192.168.1.2 || ip.dst == 192.168.1.2)
    
    此过滤器显示所有与 IP 地址 192.168.1.2 相关的 HTTP 流量。
HTTPS 协议
  • 过滤 HTTPS 流量(基于端口):
    tcp.port == 443
    
DNS 协议
  • 过滤所有 DNS 查询:
    dns.flags.response == 0
    
  • 过滤所有 DNS 响应:
    dns.flags.response == 1
    
DHCP 协议
  • 过滤所有 DHCP 请求:
    bootp.type == 1
    
  • 过滤所有 DHCP 响应:
    bootp.type == 2
    
ARP 协议
  • 过滤所有 ARP 请求:
    arp.opcode == 1
    
  • 过滤所有 ARP 响应:
    arp.opcode == 2
    
ICMP 协议
  • 过滤所有 ICMP 请求(Echo Request):

    icmp.type == 8
    
  • 过滤所有 ICMP 响应(Echo Reply):

    icmp.type == 0
    
  • 调试网络中的 ICMP 流量:

    icmp && (ip.src == 192.168.1.2 || ip.dst == 192.168.1.2)
    

    此过滤器显示所有与 IP 地址 192.168.1.2 相关的 ICMP 流量。

SMTP 协议
  • 过滤所有 SMTP 流量:
    tcp.port == 25
    
POP3 协议
  • 过滤所有 POP3 流量:
    tcp.port == 110
    
IMAP 协议
  • 过滤所有 IMAP 流量:
    tcp.port == 143
    

相关文章:

wireshark常见使用表达式

目录 1. 捕获过滤器 (Capture Filters)基本捕获过滤器组合捕获过滤器 2. 显示过滤器 (Display Filters)基本显示过滤器复杂显示过滤器协议特定显示过滤器 3. 进阶显示过滤器技巧使用函数和操作符逻辑操作符 4. 常见网络协议过滤表达式示例HTTP 协议HTTPS 协议DNS 协议DHCP 协议…...

用Java获取键盘输入数的个十百位数

这段Java代码是一个简单的程序&#xff0c;用于接收用户输入的一个三位数&#xff0c;并将其分解为个位、十位和百位数字&#xff0c;然后分别打印出来。下面是代码的详细解释&#xff1a; 导入所需类库: import java.util.Scanner;&#xff1a;导入Scanner类&#xff0c;用于从…...

第10章 启动过程组 (制定项目章程)

第10章 启动过程组 9.1制定项目章程&#xff0c;在第三版教材第356~360页&#xff1b; 文字图片音频方式 视频12 第一个知识点&#xff1a;主要输出 1、项目章程&#xff08;重要知识点&#xff09; 项目目的 为了稳定与发展公司的客户群(抽象&#xff0c;非具体) 可测量的项目…...

html侧导航栏客服栏

ico 替换 ICO <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>返回顶部</title><script src"js/jquery-2.0.3.min.js"…...

Clonable接口和拷贝

Hello~小伙伴们&#xff01;本篇学习Clonable接口与深拷贝&#xff0c;一起往下看吧~(画图水平有限&#xff0c;两张图&#xff0c;&#xff0c;我真的画了巨久&#xff0c;求路过的朋友来个3连~阿阿阿~~~) 目录 1、Clonable接口概念 2、拷贝 2、1浅拷贝 2、2深拷贝 1、Clon…...

关于小蛋の编程和小蛋编程为同一作者的说明

小蛋の编程和小蛋编程的作品为同一人制作&#xff0c;因前者为父母的手机号进行注册&#xff0c;现用本人手机号注册了新账号小蛋编程&#xff0c;后续文章将在新账号小蛋编程上进行刊登&#xff0c;同时在小蛋编程上对原账号文章进行转载。此账号不再发布帖子&#xff0c;请大…...

大数据平台之Spark

Apache Spark 是一个开源的分布式计算系统&#xff0c;主要用于大规模数据处理和分析。它由UC Berkeley AMPLab开发&#xff0c;并由Apache Software Foundation维护。Spark旨在提供比Hadoop MapReduce更快的处理速度和更丰富的功能&#xff0c;特别是在处理迭代算法和交互式数…...

How to use ModelSim

How to use ModelSim These are all written by a robot Remember, you can only simulate tb files....

【专业英语 复习】第8章 Communications and Networks

1. 单选题 One of the most dramatic changes in connectivity and communications in the past few years has been ____. A. widespread use of mobile devices with wireless Internet connectivity B. chat rooms C. satellite uplinks D. running programs on rem…...

运行vue3项目相关报错

1. VSCode打开TSVue3项目很多地方报错 报错内容 几乎所有文件都会出现未知飘红 error Delete CR prettier/prettier报错原因 插件冲突&#xff0c;Windows系统回车换行符与MAC不一致&#xff08;所以这个问题Windows系统才会出现&#xff09; 解决 需要安装Vue - Official…...

2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等

6月还有一周就要结束了&#xff0c;我们今天来总结2024年6月上半月发表的最重要的论文&#xff0c;重点介绍了计算机视觉领域的最新研究和进展。 Diffusion Models 1、Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation LlamaGen&#xff0c;是一个…...

Centos Stream9 和Centos Stream10的下载网址

Index of /https://mirror.stream.centos.org/...

chrome 录制器及性能分析工具的使用

需求背景&#xff1a; 对比不同VPN方案网络延迟的差异。 验证工具&#xff1a; chrome浏览器自带的录制器、性能插件可以完美的解决这个问题。 注意&#xff1a;录制的操作都在当前页面&#xff0c;不存在新开标签页的场景 解决方案&#xff1a; 使用chrome录制器&#xf…...

如何打造稳定、好用的 Android LayoutInspector?

速度极慢&#xff0c;遇到复杂的布局经常超时 某些情况无法选中指定的 View 本文将围绕 LayoutInspector 的痛点&#xff0c;分析问题并修复&#xff0c;最终将 LayoutInspector 变成一个稳定、好用的插件。 二、加速 Dump View Hierarchy 2.1 问题描述 开发复杂业务的同学…...

C++ Thead互斥量死锁,mutex如何防止死锁---C++11多线程快速学习

假设有两个线程 T1 和 T2&#xff0c;它们需要对两个互斥量 mtx1 和 mtx2 进行访问&#xff0c;而且需要按照以下顺序获取互斥量的所有权&#xff1a; - T1 先获取 mtx1 的所有权&#xff0c;再获取 mtx2 的所有权。 - T2 先获取 mtx2 的所有权&#xff0c;再获取 mtx1 的所有…...

Ubuntu 之Glade图形化设计器

演示环境说明&#xff1a;本机使用Windows 11 家庭版本搭载 Ubuntu 22.04.4 LTS 子系统&#xff0c;同时并安装Ubuntu桌面虚拟化软件XLaunch。 如果没有搭建好上述问题&#xff0c;请参考&#xff1a;windows11子系统Ubuntu 22.04.4子安装图形化界面 Glade是什么&#xff1f;…...

152. 乘积最大子数组

152. 乘积最大子数组 题目链接&#xff1a;152. 乘积最大子数组 代码如下&#xff1a; class Solution { public:int maxProduct(vector<int>& nums) {int resnums[0];vector<int> f(nums.size()1,0),g(nums.size()1,0);f[0]nums[0],g[0]nums[0];for(int i1…...

proactor模式

Proactor模式是一种异步I/O的设计模式&#xff0c;它允许程序直接发起一个异步I/O操作并立即返回&#xff0c;而不需要等待该操作完成。一旦I/O操作实际完成&#xff0c;系统会通知相应的完成处理程序&#xff08;Completion Handler&#xff09;&#xff0c;该处理程序随后执行…...

Charles抓包工具

一、charles简介 1&#xff0c;charles是什么 Charles中文名叫青花瓷&#xff0c;它是一款基于HTTP协议的代理服务器&#xff0c;通过成为电脑或者浏览器的代理&#xff0c;然后截取请求和请求结果达到分析抓包的目的。 特点:跨平台、半免费 2&#xff0c;charles工作原理 前…...

RabbitMQ如何保证消息可靠

解决办法&#xff1a; 1、做好消息确认机制&#xff08;pulisher、consumer[手动ACK]&#xff09; 2、每一个发送的消息都在数据库做好记录。定期将失败的消息再次发送一遍 消息确认机制&#xff1a; 生产者确认模式&#xff1a;确认消息是否发送到broker&#xff0c;失败…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...