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

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
    

相关文章:

  • sudo apt install systemd 安装失败
  • Linux系统管理员常用命令汇总与实用指南
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter18-动画与 Canvas 图形
  • azure sql 网络安全组 网络安全sql注入
  • OpenAI Swarm 多智能体框架介绍
  • python 3.6.8支持的Django版本是多少?
  • 推荐给 Easysearch 新用户的几个 Elasticsearch 可视化工具
  • 【演化思维3-没有永恒的理论】
  • AI工具讲解
  • 定位用户登录的主机
  • 数据库-SQLite
  • 柒拾玖- 贝尔不等式
  • SpringBoot:SSL证书部署+SpringBoot实现HTTPS安全访问
  • 画er图软件,er图生成工具
  • PDF文档中文本解析
  • 【Matlab】matlab 基于贪心算法的电力通信网络故障区分节点选择及可视化分析(源码)【独一无二】
  • DeepSeek私有化专家 | 云轴科技ZStack入选IDC中国生成式AI市场概览
  • rtconfig.cpython-313.pyc 在 .gitignore文件中写入 *.pyc 文件仍然没有被忽略?
  • 使用 CloudDM 和飞书流程化管理数据库变更审批
  • Ubuntu 防火墙ufw详解
  • “女乘客遭顺风车深夜丢高速服务区”续:滴滴永久封禁两名涉事司机账号
  • 陕西省副省长窦敬丽已任宁夏回族自治区党委常委、统战部部长
  • 蔡澜回应“入ICU观察”称未至于病危,助理:只是老毛病
  • 华夏幸福:去年营业收入237.65亿元,同比减亏12亿元
  • 工业富联一季度净利增长25%,云计算业务营收增长超50%
  • 李铁案二审今日宣判,押送警车已进入法院