wireshark抓包语法

news2024/12/23 3:57:44

主要功能

Wireshark 的主要功能包括:

  • 实时数据捕获:能够捕获实时流量并对其进行分析。
  • 数据包解码:支持数百种网络协议,能够解码并显示各种协议的详细信息。
  • 过滤功能:提供强大的过滤功能,可以根据特定条件筛选数据包。
  • 数据包重组:能够重组和分析分片的数据包,以查看完整的通信内容。
  • 统计和图表:提供多种统计和图表功能,帮助用户进行流量分析和趋势预测。

抓包过滤基础

抓包过滤是指在数据包捕获和分析过程中,使用特定的规则和条件,筛选出满足条件的数据包。Wireshark 提供了两种主要的过滤器类型:显示过滤器和捕获过滤器。

  • 显示过滤器:用于在捕获后筛选和显示特定的数据包。显示过滤器是在数据包已经被捕获之后应用的,它不会影响实际的数据包捕获过程。
  • 捕获过滤器:用于在捕获过程中筛选数据包。捕获过滤器是在数据包捕获之前应用的,它会直接影响捕获到的数据包数量和内容。

显示过滤器

显示过滤器是 Wireshark 中用于在数据包捕获之后,根据特定条件筛选和显示数据包的工具。显示过滤器的语法相对简单,使用字段名、运算符和值来构建过滤条件。

显示过滤器的基础语法包括:

  • 字段名:指定要过滤的数据包字段,如 ip.addrtcp.port 等。
  • 运算符:用于比较字段值的运算符,如 ==!=><>=<= 等。
  • :与字段名进行比较的值,可以是数值、字符串、布尔值等。

示例:

  • 过滤特定 IP 地址的数据包:

ip.addr == 192.168.75.234

  • 过滤特定端口的数据包:

tcp.port == 80

  • 过滤特定协议的数据包:

http

常用的显示过滤器

一些常用的显示过滤器包括:

1.IP 地址过滤
  • 过滤特定**源 IP **地址的数据包:

ip.src == 192.168.75.234

  • 过滤特定目的 IP 地址的数据包:

ip.dst == 192.168.75.231

  • 过滤**特定 IP **地址的数据包(无论源还是目的):

ip.addr == 192.168.75.234

2.端口号过滤
  • 过滤特定源端口的数据包:

tcp.srcport == 80

  • 过滤特定目的端口的数据包:

tcp.dstport == 443

  • 过滤特定端口的数据包(无论源还是目的):

tcp.port == 80

3.协议过滤
  • 过滤 **HTTP **协议的数据包:

http

  • 过滤 **TCP **协议的数据包:

tcp

  • 过滤 ICMP 协议的数据包:

icmp

4.排除特定流量
  • 排除 ICMP 协议的数据包:

!icmp

过滤 HTTP 流量

HTTP 流量是网络分析中常见的一部分,通过显示过滤器可以筛选和分析特定的 HTTP 请求和响应。

1.过滤所有 HTTP 流量

http

2.过滤特定主机的 HTTP 流量

http.host == "www.gxaedu.com"

3.过滤特定 URI 的 HTTP 请求

http.request.uri contains "/login"

4.过滤特定方法的 HTTP 请求

http.request.method == "POST"

5.过滤特定状态码的 HTTP 响应

http.response.code == 200

过滤 DNS 流量

DNS 流量也是网络分析中常见的内容,通过显示过滤器可以筛选和分析 DNS 查询和响应。

1.过滤所有 DNS 流量

dns

2.过滤特定域名的 DNS 查询

dns.qry.name == "example.com"

3.过滤特定类型的 DNS 查询

dns.qry.type == 1 // A记录查询

4.过滤特定响应码的 DNS 响应

dns.flags.rcode == 0 // No error

5.过滤特定 IP 地址的 DNS 响应

dns.a == 192.168.1.1

过滤 TCP 流量

TCP 是传输层的主要协议之一,通过显示过滤器可以筛选和分析特定的 TCP 会话和流量。

1.过滤所有 TCP 流量

tcp

2.过滤特定源端口的 TCP 流量

tcp.srcport == 80

3.过滤特定目的端口的 TCP 流量

tcp.dstport == 443

4.过滤特定 TCP 标志位的流量

tcp.flags.syn == 1 // SYN 包

5.过滤特定 TCP 会话的流量

tcp.stream eq 1

过滤 UDP 流量

UDP 是传输层的另一主要协议,通过显示过滤器可以筛选和分析特定的 UDP 会话和流量。

1.过滤所有 UDP 流量

udp

2.过滤特定源端口的 UDP 流量

udp.srcport == 53

3.过滤特定目的端口的 UDP 流量

udp.dstport == 123

4.过滤特定 UDP 会话的流量

udp.stream eq 1

过滤 ICMP 流量

ICMP 是网络层的重要协议,通过显示过滤器可以筛选和分析特定的 ICMP 报文。

1.过滤所有 ICMP 流量

icmp

2.过滤特定类型的 ICMP 报文

icmp.type == 8 // Echo Request

3.过滤特定代码的 ICMP 报文

icmp.code == 0

4.过滤特定 ID 的 ICMP 报文

icmp.ident == 0x1234

5. 过滤特定序列号的 ICMP 报文

icmp.seq == 0x1

显示过滤器的高级用法

显示过滤器还支持更复杂的条件组合和表达式,例如:

1.多个条件的组合

  • 过滤特定源 IP 和目标端口的数据包:

ip.src == 192.168.3.9 && tcp.dstport == 8080

2.范围过滤

  • 过滤帧长度在 100 到 200 字节之间的数据包:

frame.len >= 100 && frame.len <= 200

3.使用正则表达式

  • 过滤 URI 包含 "login" 的 HTTP 请求:

http.request.uri matches ".*login.*"

4.复杂逻辑过滤

  • 过滤源 IP 为 192.168.1.1 且目的端口为 80,或源 IP 为 192.168.1.2 且目的端口为 443 的数据包:

(ip.src == 192.168.3.9 && tcp.dstport == 80) || (ip.src == 192.168.3.66 && tcp.dstport == 443)

捕获过滤器

捕获过滤器在数据包捕获过程中起作用,通过预先定义的条件,仅捕获满足条件的数据包。捕获过滤器使用 Berkeley Packet Filter (BPF) 语法,能够在捕获时减少不必要的数据包,提升捕获效率。

捕获过滤器的基础语法包括:

  • 字段名:指定要过滤的数据包字段,如 hostportnet 等。
  • 运算符:用于比较字段值的运算符,如 ==!=><>=<= 等。
  • :与字段名进行比较的值,可以是数值、字符串、布尔值等。

💡捕获过滤器最终的效果和显示过滤器差不多,所以下面瑞哥的截图会少点,大家可以自己尝试。

示例:

  • 过滤特定 IP 地址的数据包:

host 192.168.3.9

  • 过滤特定端口的数据包:

port 80

  • 过滤特定协议的数据包:

tcp

常用的捕获过滤器

一些常用的捕获过滤器包括:

  1. IP 地址过滤
  • 过滤特定 IP 地址的数据包:

host 192.168.1.1

  • 过滤特定源 IP 地址的数据包:

src host 192.168.1.1

  • 过滤特定目的 IP 地址的数据包:

dst host 192.168.3.66

2.端口号过滤

  • 过滤特定端口的数据包:

port 80

  • 过滤特定源端口的数据包:

src port 80

  • 过滤特定目的端口的数据包:

dst port 443

3.协议过滤

  • 过滤 TCP 协议的数据包:

tcp

  • 过滤 UDP 协议的数据包:

udp

  • 过滤 ICMP 协议的数据包:

icmp

4.排除特定流量

  • 排除特定 IP 地址的数据包:

not host 192.168.1.1

  • 排除特定端口的数据包:

not port 80

捕获 HTTP 流量

通过捕获过滤器筛选 HTTP 流量可以减少捕获的数据量,尤其是在只需要分析特定的 HTTP 请求和响应时。

1.捕获所有 HTTP 流量

tcp port 80

2.捕获特定主机的 HTTP 流量

tcp port 80 and host www.example.com

捕获 DNS 流量

通过捕获过滤器筛选 DNS 流量,可以有效地捕获特定的 DNS 查询和响应。

1.捕获所有 DNS 流量

udp port 53

2.捕获特定域名的 DNS 查询

udp port 53 and host example.com

捕获 TCP 流量

通过捕获过滤器筛选 TCP 流量,可以捕获特定会话和特定条件下的 TCP 报文。

1.捕获所有 TCP 流量

tcp

2.捕获特定源端口的 TCP 流量

src port 80

3.捕获特定目的端口的 TCP 流量

dst port 443

4.捕获特定 TCP 标志位的流量

tcp[tcpflags] & tcp-syn != 0 // SYN 包

捕获 UDP 流量

通过捕获过滤器筛选 UDP 流量,可以捕获特定会话和特定条件下的 UDP 报文。

1.捕获所有 UDP 流量

udp

2.捕获特定源端口的 UDP 流量

src port 53

3.捕获特定目的端口的 UDP 流量

dst port 123

捕获 ICMP 流量

通过捕获过滤器筛选 ICMP 流量,可以捕获特定类型和特定条件下的 ICMP 报文。

1.捕获所有 ICMP 流量

icmp

2.捕获特定类型的 ICMP 报文

icmp[icmptype] == icmp-echo

3.捕获特定代码的 ICMP 报文

icmp[icmpcode] == 0

捕获过滤器的高级用法

捕获过滤器支持更复杂的条件组合和表达式,例如:

1.多个条件的组合

  • 过滤源 IP 和目标端口同时满足的数据包:

src host 192.168.1.1 and dst port 80

2.范围过滤

  • 过滤特定网段的数据包:

net 192.168.1.0/24

3.复杂逻辑过滤

  • 过滤源 IP 为 192.168.1.1 且目标端口为 80,或源 IP 为 192.168.1.2 且目标端口为 443 的数据包:

(src host 192.168.1.1 and dst port 80) or (src host 192.168.1.2 and dst port 443)

4.字段存在检查

  • 过滤存在特定字段的数据包:

tcp[tcpflags] & tcp-syn != 0

高级过滤技巧

Wireshark 过滤器不仅可以用于简单的条件筛选,还支持更复杂的逻辑运算和组合,从而实现更精细的过滤。

组合过滤条件

通过组合多个过滤条件,可以实现更复杂的筛选逻辑。

1.AND 逻辑组合

  • 过滤源 IP 为 192.168.1.1 且目的端口为 80 的数据包:

ip.src == 192.168.1.1 && tcp.dstport == 80

2.OR 逻辑组合

  • 过滤源 IP 为 192.168.1.1 或目的端口为 443 的数据包:

ip.src == 192.168.1.1 || tcp.dstport == 443

3.混合逻辑组合

  • 过滤源 IP 为 192.168.1.1 且(目的端口为 80 或 443)的数据包:

ip.src == 192.168.1.1 && (tcp.dstport == 80 || tcp.dstport == 443)

使用正则表达式

Wireshark 的显示过滤器支持正则表达式,可以用来匹配更复杂的字符串模式。

1.匹配 HTTP 请求 URI 中包含特定字符串

  • 过滤 URI 包含 "login" 的 HTTP 请求:

http.request.uri matches ".*login.*"

2.匹配 HTTP 头部中的特定字段

  • 过滤 User-Agent 包含 "Mozilla" 的 HTTP 请求:

http.request.header.User-Agent matches ".*Mozilla.*"

字段存在检查

通过检查字段是否存在,可以筛选出包含特定字段的数据包。

1.检查 IP 选项字段是否存在

  • 过滤包含 IP 选项字段的数据包:

ip.options

2.检查 TCP 选项字段是否存在

  • 过滤包含 TCP 选项字段的数据包:

tcp.options

使用偏移量和掩码

Wireshark 过滤器支持通过偏移量和掩码筛选特定位的数据。

1.过滤 TCP 标志位中的 SYN 包

  • 使用位运算过滤 TCP SYN 包:

tcp.flags & 0x02 != 0

2.过滤特定字节偏移量的数据包

  • 过滤 TCP 数据包中包含特定数据模式的包:

tcp[13] & 0x02 != 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1937841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

esp32c2-ble-2mb-at,蓝牙AT固件获取方法

文章目录 1. 背景2. 本地编译3. 环境安装依赖包下载1. 背景 最近在做一个数据透传项目,买了一块ESP32-C2 2MB的开发板,WIFI透传串口数据功能调通了(感兴趣的小伙伴可以了解下ESP32-C2模组数据透传模式配置详细教程),想试试蓝牙透传,官方给出的说法是BLE固件未发布,可以从…

项目收获总结--大数据量存储架构设计方案

项目收获总结--大数据量存储架构设计方案 一、背景二、数据存储层技术选型2.1 MySQL2.2 MongoDB2.3 HBase2.4 HBaseElasticSearch 三、HBaseElasticSearch基本原理3.1 前置考虑3.2 HBaseElasticSearch优点3.3 HBaseElasticSearch缺点 四、HBaseElasticSearch数据一致性架构4.1 …

A Survey on Multimodal Large Language Models综述

论文题目:A Survey on Multimodal Large Language Models 论文地址:https://arxiv.org/pdf/2306.13549 话题:多模态LLMs综述 MLLMs Paper: https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models 1. 摘要 近期,以GPT-4V为代表的跨模态大型语言模型(MLLM…

vue3前端开发-小兔鲜项目-人气推荐栏目的前端渲染

vue3前端开发-小兔鲜项目-人气推荐栏目的前端渲染&#xff01;今天和大家分享一下&#xff0c;人气推荐栏目的前端页面如何渲染内容。 经历过上一次的&#xff0c;新鲜好物的栏目渲染之后&#xff0c;我们已经熟练了&#xff0c;vue3的接口调用&#xff0c;数据渲染到页面中的整…

Zabbix监控介绍与部署

目 录 一、zabbix介绍和架构 1.1 zabbix介绍 1.2 为什么需要监控 1.3 需要监控什么 二、zabbix使用场景与系统概述 2.1 zabbix的功能 2.2 zabbix架构 2.3 Zabbix术语 三、编译安装zabbix 3.1 安装依赖环境 3.2 建立管理用户 3.3 准备源码包&#xff0c;解压包 3.…

数据结构初阶-单链表

链表的结构非常多样&#xff0c;以下情况组合起来就有8种&#xff08;2 x 2 x 2&#xff09;链表结构&#xff1a; 而我们主要要熟悉的单链表与双向链表的全称分别为&#xff1a;不带头单向不循环链表&#xff0c;带头双向循环链表&#xff0c;当我们对这两种链表熟悉后&#x…

基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用

目录 专题一、深度学习发展与机器学习 专题二、深度卷积网络基本原理 专题三、TensorFlow与Keras介绍与入门 专题四、PyTorch介绍与入门 专题五、卷积神经网络实践与遥感图像场景分类 专题六、深度学习与遥感图像检测 专题七、遥感图像检测案例 专题八、深度学习与遥感…

【教学类-68-01】20240720裙子涂色(女孩篇)

背景需求&#xff1a; 通义万相下载了简笔画裙子&#xff0c;制作成涂色卡给幼儿涂色、剪纸用。 代码展示 裙子简笔画图 6张 星火讯飞、通义万相、阿夏 2024年7月20日import os,time import shutil from docx import Document from docx.shared import Cm from PIL import Ima…

ApolloAndroid 使用笔记

由于业务需求的变化&#xff0c;需要使用 Graphql 作为客户端与服务端的交互查询框架&#xff0c;特此记录使用。 测试代码下载链接 一、导入引用以及规则示例 1、首先需要在我们需要使用的模块下面创建对应的src/main/graphql文件夹 2、将后台对应的服务生成的 xxx.graphql…

1个Xpath定位可以在Web页面查找到多个元素Selenium

1个Xpath定位可以在Web页面查找到多个元素Selenium//input[id\"transactionId\"] 打开Web页面&#xff0c; 点击F12可以看到压面 点击Ctrl F 可以点图如下图的输入框&#xff0c;输入xpath&#xff0c;看右侧可以找到3个对应的元素 点击Ctrl F 点击Ctrl F 点…

【C语言】逗号运算符详解 - 《不起眼的 “逗号”》

目录 C语言逗号运算符详解1. 逗号运算符的定义1.1 基本语法1.2 执行顺序 2. 逗号运算符的用法2.1 用于循环2.1.1 示例 2.2 用于表达式组合2.2.1 示例 3. 逗号运算符的应用场景3.1 宏定义3.1.1 示例 3.2 条件运算符中的应用3.2.1 示例 4. 总结5. 参考文献6. 结束语 C语言逗号运算…

通信网络机房服务器搬迁流程方案

数据中心机房搬迁是一项负责高难度的工程。整个搬迁过程充满挑战&#xff0c;伴随着各种风险。如何顺利的完成服务器的迁移&#xff0c;需要专业的数据中心服务商全程提供保障。友力科技&#xff08;广州&#xff09;有限公司&#xff0c;作为华南地区主流的数据中心服务商&…

Python代码,强化学习,深度学习

python代码编写&#xff0c;Python算法设计&#xff0c;强化学习优化&#xff0c;改进模型&#xff0c;训练模型&#xff0c;测试模型&#xff0c;可视化绘制&#xff0c;代编运行结果&#xff0c;交互多模型改进&#xff0c;预测模型&#xff0c;算法修改&#xff0c;Python包…

docker: No space left on device处理与迁移目录

简介&#xff1a;工作中当遇到Docker容器内部的磁盘空间已满。可能的原因包括日志文件过大、临时文件过多或者是Docker容器的存储卷已满&#xff0c;需要我们及时清理相关文件&#xff0c;并对docker的路径进行迁移。 历史攻略&#xff1a; centos&#xff1a;清理磁盘空间 …

三国杀十周年电脑版PC端模拟器游玩教程

三国杀十周年电脑版PC端模拟器游玩教程 《三国杀十周年》是一款以三国时代丰富的历史背景和独特的玩法手机策略游戏&#xff0c;在游戏中可自由选择扮演一位三国时期著名的人物&#xff0c;吸引了大量的历史爱好者和卡牌游戏玩家。如果大家想要轻松享受端游操作体验&#xff0…

【一刷《剑指Offer》】面试题 32:从 1 到 n 整数中 1 出现的次数

力扣对应题目链接&#xff1a;233. 数字 1 的个数 - 力扣&#xff08;LeetCode&#xff09; 牛客对应题目链接&#xff1a;整数中1出现的次数&#xff08;从1到n整数中1出现的次数&#xff09;_牛客题霸_牛客网 (nowcoder.com) 一、《剑指Offer》对应内容 二、分析题目 先随便…

Go语言之内存分配

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ Go 语言程序所管理的虚拟内存空间会被分为两部分&#xff1a;堆内…

牛客TOP101:单链表的排序

文章目录 1. 题目描述2. 解题思路3. 代码实现 1. 题目描述 2. 解题思路 按我们以往的排序算法来看&#xff0c;针对链表来说都是太不合适&#xff0c;因为很多都会出现指针前移后移&#xff0c;后移还好说&#xff0c;前移对于链表来说就太难了&#xff0c;而且大部分都是某一个…

HiDiff: 用于医学图像分割的混合扩散框架| 文献速递-基于深度学习的多模态数据分析与生存分析

Title 题目 HiDiff: Hybrid Diffusion Framework for Medical Image Segmentation HiDiff: 用于医学图像分割的混合扩散框架 01 文献速递介绍 医学图像分割是将医学图像数据转化为有意义的、空间结构化的信息&#xff0c;如器官和肿瘤。随着深度学习&#xff08;DL&#x…

primeflex教学笔记20240720, FastAPI+Vue3+PrimeVue前后端分离开发

练习 先实现基本的页面结构&#xff1a; 代码如下&#xff1a; <template><div class"flex p-3 bg-gray-100 gap-3"><div class"w-20rem h-12rem bg-indigo-200 flex justify-content-center align-items-center text-white text-5xl">…