Wireshark使用介绍

文章目录

  • Wireshark介绍
  • Wireshark使用
    • 工作模式介绍
      • 1. 混杂模式(Promiscuous Mode)
      • 2. 普通模式(Normal Mode)
      • 3. 监视模式(Monitor Mode)
    • 界面分区
    • 捕获过滤器语法
      • 基本语法
      • 逻辑运算符
      • 高级语法
      • 使用示例
      • 捕获过滤器-速查表
    • 显示过滤器语法
      • 基本语法
      • 逻辑运算符
      • 高级语法
      • 使用示例


Wireshark介绍

Wireshark 是一款非常流行的网络协议分析工具,主要用于捕获和分析网络数据包,广泛应用于网络故障排查、安全分析、性能优化以及协议开发等领域。

Wireshark 的官方网站: https://www.wireshark.org/

Wireshark使用

工作模式介绍

Wireshark 的工作模式主要包括混杂模式普通模式,此外在无线网络环境下还会用到监视模式。以下是详细介绍:

1. 混杂模式(Promiscuous Mode)

混杂模式是 Wireshark 的一种重要工作模式,允许网卡接收所有经过网络接口的数据包,而不仅仅是发给本机的数据包。在这种模式下,网卡不会根据 MAC 地址过滤数据包,因此可以捕获局域网内其他设备之间的通信数据包。

  • 应用场景:混杂模式常用于网络分析、故障排查以及安全检测等场景,能够帮助用户全面了解网络流量情况。
  • 开启方法:在 Wireshark 的菜单栏中,选择“捕获”->“选项”,在弹出的“捕获选项”对话框中,勾选“启用混杂模式”选项。

2. 普通模式(Normal Mode)

普通模式是 Wireshark 的默认工作模式。在这种模式下,网卡只会接收发给本机的数据包(包括广播包),其他设备的数据包会被丢弃。这意味着用户只能捕获与本机相关的网络通信数据,无法捕获局域网内其他设备之间的通信数据。

3. 监视模式(Monitor Mode)

监视模式仅用于无线网络环境。在这种模式下,无线网卡可以捕获无线网络中的所有数据包,而无需与特定的接入点关联。这使得用户可以分析无线网络中的通信情况,检测无线网络的安全性和性能问题。

  • 应用场景:监视模式主要用于无线网络的分析和安全检测,例如检测无线网络中的未授权接入点或无线信号干扰。
  • 开启方法:监视模式的开启方式与混杂模式类似,但具体操作可能会因无线网卡的驱动程序和操作系统而有所不同。

界面分区

Wireshark 是一款功能强大的网络协议分析工具,它可以帮助用户捕获、分析和显示网络数据包。根据您提供的截图和描述,以下是 Wireshark 界面的主要组成部分及其功能的介绍:

  1. 菜单栏
    • 位于窗口顶部,包含文件、编辑、捕获、显示、统计、分析、工具和帮助等菜单选项。这些菜单提供了各种操作和设置功能,如保存捕获的数据包、设置捕获选项、应用显示过滤器等。
  2. 抓包列表
    • 显示捕获到的数据包的列表,包括时间戳、源地址、目的地址、协议、长度和信息等字段。用户可以通过这个列表查看和选择特定的数据包进行分析。
  3. 协议树
    • 在选择某个数据包后,显示该数据包的协议层次结构。用户可以展开各个协议层查看详细信息,如 TCP、IP、以太网等协议的字段和值。
  4. 字节视图
    • 显示选中数据包的原始字节数据,通常以十六进制和ASCII格式显示。这允许用户查看数据包的原始内容,包括协议头和数据负载。
  5. 过滤器栏
    • 位于抓包列表上方,用户可以在这里输入显示过滤器表达式,以筛选和显示特定的数据包。例如,输入 tcp.port == 80 可以显示所有使用 TCP 端口 80 的数据包。
  6. 状态栏
    • 位于窗口底部,显示当前捕获的状态,如捕获的总数据包数、已丢弃的数据包数等。
  7. 详细视图
    • 在协议树下方,提供所选数据包的详细信息,如字段值、注释等。用户可以在这里查看数据包的详细内容和分析结果。

捕获过滤器语法

Wireshark 的捕获过滤器(Capture Filter)用于在捕获数据包时对数据包进行筛选,只捕获符合特定条件的数据包。这有助于减少捕获的数据量,提高分析效率。以下是一些常用的捕获过滤器语法:

基本语法

  • 协议过滤:指定要捕获的协议类型。

    复制

    tcp          # 只捕获 TCP 协议的数据包
    udp          # 只捕获 UDP 协议的数据包
    icmp         # 只捕获 ICMP 协议的数据包
    http         # 只捕获 HTTP 协议的数据包
    
  • IP 地址过滤:指定源或目的 IP 地址。

    复制

    ip.addr == 192.168.1.1  # 捕获源或目的 IP 为 192.168.1.1 的数据包
    ip.src == 192.168.1.1  # 捕获源 IP 为 192.168.1.1 的数据包
    ip.dst == 192.168.1.1  # 捕获目的 IP 为 192.168.1.1 的数据包
    
  • 端口过滤:指定源或目的端口。

    复制

    tcp.port == 80  # 捕获 TCP 协议的 80 端口的数据包
    udp.port == 53  # 捕获 UDP 协议的 53 端口的数据包
    tcp.srcport == 8080  # 捕获 TCP 协议的源端口为 8080 的数据包
    tcp.dstport == 8080  # 捕获 TCP 协议的目的端口为 8080 的数据包
    

逻辑运算符

  • 与(AND):同时满足多个条件。

    tcp && ip.src == 192.168.1.1 && ip.dst == 192.168.1.2
    
  • 或(OR):满足任一条件。

    tcp || udp
    
  • 非(NOT):不满足某个条件。

    !icmp
    

高级语法

  • IP 地址范围:指定 IP 地址范围。

    ip.addr == 192.168.1.1-192.168.1.10  
    # 捕获 IP 地址在 192.168.1.1 到 192.168.1.10 之间的数据包
    
  • 端口范围:指定端口范围。

    tcp.port >= 80 && tcp.port <= 90  
    # 捕获 TCP 协议的 80 到 90 端口之间的数据包
    
  • 协议和端口组合:组合协议和端口条件。

    tcp.port == 80 || udp.port == 53  
    # 捕获 TCP 协议的 80 端口或 UDP 协议的 53 端口的数据包
    
  • MAC 地址过滤:指定源或目的 MAC 地址。

    复制

    ethernet.src == 00:11:22:33:44:55  
    # 捕获源 MAC 地址为 00:11:22:33:44:55 的数据包
    ethernet.dst == 00:11:22:33:44:55  
    # 捕获目的 MAC 地址为 00:11:22:33:44:55 的数据包
    

使用示例

  • 捕获所有 ICMP 数据包:

    icmp
    
  • 捕获源 IP 为 192.168.1.1 且目的端口为 80 的 TCP 数据包:

    tcp && ip.src == 192.168.1.1 && tcp.dstport == 80
    
  • 捕获源 MAC 为 00:11:22:33:44:55 且目的 IP 为 192.168.1.1 的数据包:

    ethernet.src == 00:11:22:33:44:55 && ip.dst == 192.168.1.1
    
  • 捕获除了 ICMP 之外的所有数据包:

    !icmp
    

官方说明文档:https://biot.com/capstats/bpf.html

以下是从您提供的图片中提取的内容:

捕获过滤器-速查表

过滤条件示例说明
源 IP 地址src host 192.168.1.1捕获源 IP 为 192.168.1.1 的数据包
目的 IP 地址dst host 192.168.1.2捕获目的 IP 为 192.168.1.2 的数据包
任意 IP 地址host 192.168.1.3捕获源或目的 IP 为 192.168.1.3 的数据包
源端口src port 80捕获源端口为 80 的数据包
目的端口dst port 443捕获目的端口为 443 的数据包
任意端口port 53捕获源或目的端口为 53 的数据包
TCP 协议tcp捕获所有 TCP 数据包
UDP 协议udp捕获所有 UDP 数据包
ICMP 协议icmp捕获所有 ICMP 数据包
特定协议ip proto 1捕获所有协议类型为 1 的数据包(例如 ICMP)
特定数据包长度len <= 100捕获长度小于等于 100 字节的数据包
特定数据包内容tcp[13] & 8 != 0捕获 TCP 数据包中具有 PSH 标志的数据包
特定数据包标志tcp[tcpflags] == 0x02捕获 TCP SYN 数据包
特定网络接口ether host 00:11:22:33:44:55捕获 MAC 地址为 00:11:22:33:44:55 的数据包
特定 VLANvlan and (src host 192.168.1.1)捕获 VLAN 中源 IP 为 192.168.1.1 的数据包
特定 IP 范围net 192.168.1.0/24捕获源或目的 IP 在 192.168.1.0 到 192.168.1.255 范围内的数据包
特定子网src net 10.0.0.0/8捕获源 IP 在 10.0.0.0 到 10.255.255.255 范围内的数据包

显示过滤器语法

显示过滤器(Display Filter)是Wireshark中用于筛选和显示捕获数据包的语法规则。与捕获过滤器不同,显示过滤器仅影响用户界面中显示的数据包,而不会影响实际捕获的数据包。以下是一些常用的显示过滤器语法:

基本语法

  • 协议过滤:指定要显示的协议类型。

    复制

    tcp          # 显示所有 TCP 协议的数据包
    udp          # 显示所有 UDP 协议的数据包
    icmp         # 显示所有 ICMP 协议的数据包
    http         # 显示所有 HTTP 协议的数据包
    
  • IP 地址过滤:指定源或目的 IP 地址。

    复制

    ip.addr == 192.168.1.1  # 显示源或目的 IP 为 192.168.1.1 的数据包
    ip.src == 192.168.1.1  # 显示源 IP 为 192.168.1.1 的数据包
    ip.dst == 192.168.1.1  # 显示目的 IP 为 192.168.1.1 的数据包
    
  • 端口过滤:指定源或目的端口。

    复制

    tcp.port == 80  # 显示 TCP 协议的 80 端口的数据包
    udp.port == 53  # 显示 UDP 协议的 53 端口的数据包
    tcp.srcport == 8080  # 显示 TCP 协议的源端口为 8080 的数据包
    tcp.dstport == 8080  # 显示 TCP 协议的目的端口为 8080 的数据包
    

逻辑运算符

  • 与(AND):同时满足多个条件。

    tcp && ip.src == 192.168.1.1 && ip.dst == 192.168.1.2
    
  • 或(OR):满足任一条件。

    tcp || udp
    
  • 非(NOT):不满足某个条件。

    !icmp
    

高级语法

  • IP 地址范围:指定 IP 地址范围。

    ip.addr == 192.168.1.1-192.168.1.10  
    # 显示 IP 地址在 192.168.1.1 到 192.168.1.10 之间的数据包
    
  • 端口范围:指定端口范围。

    tcp.port >= 80 && tcp.port <= 90  
    # 显示 TCP 协议的 80 到 90 端口之间的数据包
    
  • 协议和端口组合:组合协议和端口条件。

    tcp.port == 80 || udp.port == 53  
    # 显示 TCP 协议的 80 端口或 UDP 协议的 53 端口的数据包
    
  • MAC 地址过滤:指定源或目的 MAC 地址。

    复制

    ethernet.src == 00:11:22:33:44:55  
    # 显示源 MAC 地址为 00:11:22:33:44:55 的数据包
    ethernet.dst == 00:11:22:33:44:55  
    # 显示目的 MAC 地址为 00:11:22:33:44:55 的数据包
    

使用示例

  • 显示所有 ICMP 数据包:

    icmp
    
  • 显示源 IP 为 192.168.1.1 且目的端口为 80 的 TCP 数据包:

    tcp && ip.src == 192.168.1.1 && tcp.dstport == 80
    
  • 显示源 MAC 为 00:11:22:33:44:55 且目的 IP 为 192.168.1.1 的数据包:

    ethernet.src == 00:11:22:33:44:55 && ip.dst == 192.168.1.1
    
  • 显示除了 ICMP 之外的所有数据包:

    !icmp
    
  • 显示特定协议类型为 1 的数据包(例如 ICMP):

    ip.proto == 1
    
  • 显示长度小于等于 100 字节的数据包:

    frame.len <= 100
    
  • 显示 TCP 数据包中具有 PSH 标志的数据包:

    tcp.flags.psh == 1
    
  • 显示 TCP SYN 数据包:

    tcp.flags.syn == 1
    
  • 显示 VLAN 中源 IP 为 192.168.1.1 的数据包:

    vlan && ip.src == 192.168.1.1
    
  • 显示源或目的 IP 在 192.168.1.0 到 192.168.1.255 范围内的数据包:

    ip.addr == 192.168.1.0/24
    
  • 显示源 IP 在 10.0.0.0 到 10.255.255.255 范围内的数据包:

    ip.src == 10.0.0.0/8
    

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

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

相关文章

#渗透测试#批量漏洞挖掘#畅捷通T+SQL注入漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、漏洞全景解析 1. 高危漏洞案例库 2.…

【小游戏】C++控制台版本俄罗斯轮盘赌

制作团队&#xff1a;洛谷813622&#xff08;Igallta&#xff09; 989571&#xff08;_ayaka_&#xff09; Mod&#xff1a;_ayaka_ 双人模式&#xff1a;Igallta 公告&#xff1a; 原先的9.8改名为 Alpha 1.0&#xff0c;以后每次更新都增加 0.1。 Alpha 1.11 改为 Beta 1…

nvm安装、管理node多版本以及配置环境变量【保姆级教程】

引言 不同的项目运行时可能需要不同的node版本才可以运行&#xff0c;由于来回进行卸载不同版本的node比较麻烦&#xff1b;所以需要使用node工程多版本管理。 本人在配置时&#xff0c;通过网络搜索教程&#xff0c;由于文章时间过老&#xff0c;或者文章的互相拷贝导致配置时…

框架--Mybatis3

一.特殊符号处理 < < > > " &quot; &apos; & &amp; 除了可以使用上述转义字符外&#xff0c;还可以使<![CDATA[ ]]>用来包裹特殊字符。 二.mybatis 一级缓存二级缓存 1.为什么缓存 缓存&#xff1a;数据缓存&#xf…

纯新手教程:用llama.cpp本地部署DeepSeek蒸馏模型

0. 前言 llama.cpp是一个基于纯C/C实现的高性能大语言模型推理引擎&#xff0c;专为优化本地及云端部署而设计。其核心目标在于通过底层硬件加速和量化技术&#xff0c;实现在多样化硬件平台上的高效推理&#xff0c;同时保持低资源占用与易用性。 最近DeepSeek太火了&#x…

Netty入门详解

引言 Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架&#xff0c;用于快速开发可维护的高性能网络服务器和客户端。它提供了一组丰富的 API&#xff0c;使得开发人员能够轻松地处理各种网络协议&#xff0c;如 TCP、UDP 等&#xff0c;并且支持多种编解码方式&a…

物联网简介集合

物联网&#xff08;IoT&#xff09;指的是物理设备&#xff08;如电器和车辆&#xff09;之间的互联互通。这些设备嵌入了软件、传感器和连接功能&#xff0c;使其能够相互连接并交换数据。这项技术实现了从庞大的设备网络中收集和共享数据&#xff0c;为打造更高效、自动化的系…

【分布式理论11】分布式协同之分布式事务(一个应用操作多个资源):从刚性事务到柔性事务的演进

文章目录 一. 什么是分布式事务&#xff1f;二. 分布式事务的挑战三. 事务的ACID特性四. CAP理论与BASE理论1. CAP理论1.1. 三大特性1.2. 三者不能兼得 2. BASE理论 五. 分布式事务解决方案1. 两阶段提交&#xff08;2PC&#xff09;2. TCC&#xff08;Try-Confirm-Cancel&…

【Quest开发】全身跟踪

软件&#xff1a;Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件&#xff1a;Meta Quest3 最终效果&#xff1a;能像meta的操作室沉浸场景一样根据头盔移动来推断用户姿势&#xff0c;实现走路、蹲下、手势匹配等功能 需要借助UnityMovement这个包 GitHub …

AI全栈开发_人工智能AI大模型 Prompt提示词工程详解(全方位介绍及运用)

AI引领的第四次工业革命正席卷而来&#xff0c;如何精准把握这一历史性的机遇&#xff0c;将成为我们这一代人不容忽视且需深入思考与积极行动的重要课题。未来几年AI将会像计算机一样快速普及&#xff0c;面对这一历史性的第一波红利&#xff0c;你是否已准备好把握机遇&#…

小米平板怎么和电脑共享屏幕

最近尝试使用小米平板和电脑屏幕分屏互联 发现是需要做特殊处理的&#xff0c;需要下载一款电脑安装包&#xff1a;小米妙享 关于这个安装包&#xff0c;想吐槽的是&#xff1a; 没有找到官网渠道&#xff0c;是通过其他网络方式查到下载的 不附录链接&#xff0c;原因是因为地…

java | MyBatis-plus映射和golang映射对比

文章目录 Java实体类和数据库的映射1.默认驼峰命名规则2.自定义字段映射3.关闭驼峰命名规则4.JSON序列化映射 Golang1. 结构体与表的映射2. 字段与列的映射3. 关联关系映射4. 其他映射相关标签 这篇也是做数据库映射方面的对比&#xff1a; Java 实体类和数据库的映射 1.默认…

讯方·智汇云校华为官方授权培训机构

1.官方授权 讯方智汇云校是华为领先级授权培训机构&#xff08;华为授权培训合作伙伴&#xff08;HALP&#xff09;体系&#xff0c;分为认证、优选、领先三个等级&#xff0c;领先级是HALP最高级&#xff09;&#xff0c;代表着华为对培训合作伙伴在专业能力、师资队伍、合作…

避免踩雷!CUDA与Anaconda兼容性配置完全手册

CUDA与Anaconda深度学习环境配置指南 目录 核心概念解析安装场景分析版本冲突处理最佳实践指南常见问题解答 核心概念解析 1. 组件对比表 组件作用域包含内容查看方式NVIDIA驱动系统级GPU底层通信支持nvidia-smiCUDA Toolkit系统级完整开发工具链(nvcc等)nvcc --versioncon…

掌握.NET Core后端发布流程,如何部署后端应用?

无论你是刚接触.NET Core的新手还是已有经验的开发者&#xff0c;在这篇文章中你将会学习到一系列实用的发布技巧与最佳实践&#xff0c;帮助你高效顺利地将.NET Core后端应用部署到生产环境中 目录 程序发布操作 Docker容器注册表 文件夹发布 导入配置文件 网站运行操作 …

一周学会Flask3 Python Web开发-request请求对象与url传参

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili request请求对象封装了从客户端发来的请求报文信息&#xff0c;我们可以从中获取所有数据。 request对象包含的常用属性&…

2025年2月深度实测!DeepSeek、OpenAI o1、Gemini打造爆款应用及对比

我在网上看到了关于DeepSeek R1的各种说法,这是一个开源模型,其能力即便不比OpenAI o1等付费模型强,也与之相当: 由于我在日常工作中广泛使用这些人工智能模型(使用Cursor AI),我决定看看哪种模型最适合我。 在进行了200次Cursor请求后,我将分享我的实验结果。 一、…

OpenCV机器学习(6)朴素贝叶斯分类器(Naive Bayes Classifier)cv::ml::NormalBayesClassifier的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::ml::NormalBayesClassifier 是 OpenCV 机器学习模块中的一部分&#xff0c;用于实现朴素贝叶斯分类器&#xff08;Naive Bayes Classifier&a…

LLaVA-CoT: Let Vision Language Models Reason Step-by-Step论文解读

文章目录 前言一、摘要一、引言二、文献综述1. Visual reasoning with large language models2. Chain-of-thought in large language models3. Inference time scaling 三、方法1. Enhancing Reasoning Capability through Structured Thinking1. Reasoning Stages2. Data Pre…

Linux 和 Windows 区别

1. 文件组织 (1)目录结构 Linux:采用**单一根目录(/)**结构,所有文件和设备都挂载在这个目录下。 典型目录: /home/(用户目录)/etc/(配置文件)/bin/(系统可执行文件)/dev/(设备文件)/mnt/(挂载点)Windows:采用多个驱动器(C:\, D:\),每个分区是一个独立的…