Wireshark使用介绍

devtools/2025/2/22 3:03:41/

文章目录

  • 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.ppmy.cn/devtools/160845.html

相关文章

从零开始构建一个语言模型中vocab_size(词汇表大小)的设定规则

从零开始构建一个语言模型就要设计一个模型框架,其中要配置很多参数。在自然语言处理任务中,vocab_size(词汇表大小) 的设定是模型设计的关键参数之一,它直接影响模型的输入输出结构、计算效率和内存消耗。 本文是在我前文的基础上讲解的:从零开始构建一个小型字符级语言…

C++:使用 SFML 创建强化学习迷宫场景

在强化学习中&#xff0c;迷宫通常作为一种环境&#xff0c;供智能体&#xff08;Agent&#xff09;在其中进行探索和学习。通过设计合适的环境&#xff0c;我们可以训练模型让其通过迷宫找到最优路径。本文将介绍如何使用 C 和 SFML 库来创建一个迷宫场景&#xff0c;并为强化…

Office word打开加载比较慢处理方法

1.添加safe参数 ,找到word启动项,右击word,选择属性 , 添加/safe , 应用并确定 2.取消加载项,点击文件,点击选项 ,点击加载项,点击转到,取消所有勾选,确定。

蓝桥杯学习大纲

&#xff08;致酷德与热爱算法、编程的小伙伴们&#xff09; 在查阅了相当多的资料后&#xff0c;发现没有那篇博客、文章很符合我们备战蓝桥杯的学习路径。所以&#xff0c;干脆自己整理一篇&#xff0c;欢迎大家补充&#xff01; 一、蓝桥必备高频考点 我们以此为重点学习…

美团MTSQL特性解析:技术深度与应用广度的完美结合

MTSQL作为一款高性能、高可用的关系型数据库&#xff0c;在业界引起了广泛关注。本文将从技术角度对美团MTSQL的核心特性进行解析&#xff0c;力求以通俗易懂的方式展现其技术亮点。 一、异步化&#xff1a;提升性能与可靠性 1. Binlog删除与Relaylog优化 美团在Binlog和Re…

前端已死?什么是前端

前端&#xff08;Front-End&#xff09;是用户与数字产品&#xff08;如网站、应用程序等&#xff09;直接交互的部分&#xff0c;负责呈现视觉界面、处理用户输入并确保流畅的体验。它是用户看到和操作的一切内容&#xff0c;与后端&#xff08;服务器、数据库等&#xff09;共…

Spring Boot 实现 DeepSeek API 调用

Spring Boot 实现 DeepSeek API 调用 1. 项目依赖 在 pom.xml 中添加以下依赖: <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency>&l…

kafka-保姆级配置说明(producer)

配置说明的最后一部分&#xff1b; ##指定kafka集群的列表&#xff0c;以“,”分割&#xff0c;格式&#xff1a;“host:port,host:port” ##此列表用于producer&#xff08;consumer&#xff09;初始化连接使用&#xff0c;server列表可以为kafka集群的子集 ##通过此servers列…