Wireshark详解

news/2025/2/26 22:43:15/

Wireshark使用详解

  • 1.Wireshark 简介
  • 2.下载与安装
      • 1. 下载地址
      • 2. 安装步骤(以 Windows 为例)
  • 3. 界面与核心功能
      • 1. 主界面布局
      • 2. 常用菜单功能
  • 4. 过滤功能详解
      • 1. 过滤类型
      • 2. 常用过滤命令
  • 5. 过滤命令与网络结构对应
  • 6. 使用注意事项
  • 7. 案例分析 TCP 三次握手
      • 1. 实验目标
      • 2. 操作步骤
      • 3. 预期结果
  • 8. 扩展学习

1.Wireshark 简介

Wireshark 是一款开源的网络协议分析工具,支持实时抓包、协议解析、流量统计等功能,广泛用于网络故障排查、安全分析、协议学习等领域。

2.下载与安装

1. 下载地址

  • 官网下载:访问 Wireshark 官网,选择对应操作系统的安装包:
    • Windows:.exe 安装程序(推荐稳定版 Stable Release)。
    • macOS:.dmg 镜像文件。
    • Linux:通过包管理器安装(如 apt install wireshark)。

2. 安装步骤(以 Windows 为例)

  1. 双击安装包,按向导完成安装。
  2. 勾选 Install WinPcap/Npcap(必须安装,用于捕获网络接口数据)。
  3. 安装完成后,以管理员权限启动 Wireshark(否则无法抓包)。

3. 界面与核心功能

1. 主界面布局

区域功能说明
菜单栏包含文件操作、捕获控制、分析工具等核心功能。
工具栏快速访问开始/停止捕获、过滤表达式输入等。
接口列表显示所有可用的网络接口及其实时流量统计。
捕获数据面板显示捕获的数据包列表,包含时间、源/目的地址、协议、长度等基本信息。
协议详情面板展开单个数据包,逐层解析协议头部和载荷内容(如 Ethernet → IP → TCP → HTTP)。
字节流面板以十六进制和 ASCII 格式显示原始字节流。

2. 常用菜单功能

  • File:打开/保存捕获文件(.pcapng 格式)、导出特定数据包。
  • Edit:查找数据包、标记关键帧。
  • View:调整显示布局、着色规则(按协议或过滤条件高亮)。
  • Capture:选择接口、设置捕获过滤器。
  • Analyze:跟踪 TCP 流、启用协议解析统计。

4. 过滤功能详解

1. 过滤类型

类型作用阶段语法示例应用场景
捕获过滤器抓包前tcp port 80减少捕获数据量,聚焦目标流量。
显示过滤器抓包后分析http.request.method == "GET"快速定位特定协议或行为。

2. 常用过滤命令

协议过滤

tcp          # 仅显示 TCP 协议数据包
udp          # 仅显示 UDP 协议数据包
http         # 过滤 HTTP 请求/响应
dns          # 过滤 DNS 查询与响应

IP 与端口过滤

ip.src == 192.168.1.100    # 源 IP 地址
ip.dst == 10.0.0.1         # 目的 IP 地址
tcp.port == 443            # TCP 端口 443(HTTPS)
udp.port range 1000-2000   # UDP 端口范围

逻辑运算符

&&      # 逻辑与(如 `tcp && ip.addr == 192.168.1.1`)
||      # 逻辑或(如 `http || dns`)
!       # 逻辑非(如 `!arp`)

高级过滤

tcp.flags.syn == 1         # 过滤 TCP SYN 标志包
http.request.method == "POST"  # HTTP POST 请求
frame contains "password"  # 数据包内容包含关键字

5. 过滤命令与网络结构对应

过滤条件对应网络应用案例
eth.addr数据链路层分析 MAC 地址通信问题。
ip.addr / ip.ttl网络层(IP)定位 IP 地址冲突或 TTL 超时。
tcp.port / udp.port传输层(TCP/UDP)排查端口占用或防火墙拦截。
http / dns应用层分析 Web 请求或域名解析异常。

6. 使用注意事项

  1. 权限问题:需以管理员/root 权限运行,否则无法捕获数据。
  2. 性能影响:在高流量场景下,实时抓包可能导致 CPU/内存占用过高。
  3. 隐私保护:避免捕获敏感信息(如密码),抓包后及时清理文件。
  4. 过滤优化:优先使用捕获过滤器减少数据量,再结合显示过滤器分析。
  5. 文件保存:定期保存 .pcapng 文件,防止意外关闭导致数据丢失。

7. 案例分析 TCP 三次握手

1. 实验目标

验证 TCP 连接的建立过程(SYN → SYN-ACK → ACK)。

2. 操作步骤

  1. 启动捕获

    • 选择接口(如以太网或 Wi-Fi),点击工具栏 鲨鱼鳍图标 开始抓包。
    • 设置显示过滤器:tcp && ip.addr == [目标服务器IP](如访问百度:tcp && ip.addr == 180.101.49.12)。
  2. 触发通信

    • 在浏览器访问目标网站(如 www.baidu.com),生成 TCP 连接请求。
  3. 分析数据包

    • 停止捕获,在数据包列表中查找 三次握手 过程:
      • SYN(Flags: SYN):客户端发起连接请求。
      • SYN-ACK(Flags: SYN, ACK):服务器响应确认。
      • ACK(Flags: ACK):客户端确认建立连接。
    • 右键点击任一握手包,选择 Follow → TCP Stream,查看完整会话。
  4. 关键字段解读

    • Sequence Number:初始序列号(ISN),每次握手递增。
    • Acknowledgment Number:确认对方序列号 + 1。
    • Flags:SYN、ACK 标志位的变化。

3. 预期结果

成功捕获三个连续数据包,标志位依次为 SYN → SYN-ACK → ACK,序列号符合逻辑递增,证明 TCP 连接正常建立。

8. 扩展学习

  • 高级协议解析:通过 Analyze → Decode As 自定义协议解析规则。
  • 统计工具:使用 Statistics → Protocol Hierarchy 查看流量占比。
  • 自动化脚本:结合 tshark(命令行版 Wireshark)批量分析数据。

http://www.ppmy.cn/news/1575108.html

相关文章

一文掌握Selenium的详细使用

文章目录 1. 安装 Selenium1.1 安装 Selenium 库1.2 下载浏览器驱动 2. 基础用法2.1 启动浏览器2.2 查找元素2.3 操作元素 3. 高级功能3.1 等待机制3.2 处理弹窗3.3 执行 JavaScript3.4 切换窗口或 iframe3.5 处理 Cookies3.6 截图3.7 处理下拉菜单 4. 浏览器选项4.1 无头模式&…

Java进阶学习笔记7——权限修饰符

什么是权限修饰符? 就是用来限制类中的成员(成员变量、成员方法、构造器、代码块…)能够被访问的范围。 protected使用的比较少,但是程序员还是要阅读代码,看官方文档是怎么写的,都会接触到protected修饰…

汽车无钥匙进入一键启动操作正确步骤

汽车智能无钥匙进入和一键启动的技术在近年来比较成熟,不同车型的操作步骤可能略有不同,但基本的流程应该是通用的,不会因为时间变化而有大的改变。 移动管家汽车一键启动无钥匙进入系统通常是通过携带钥匙靠近车辆,然后触摸门把…

Unity实用技能-UI与粒子效果总结

实用技能系列 Unity实用技能-UI滑动条技能总结Unity实用技能-UI规范总结Unity实用技能-协作规范总结 文章目录 实用技能系列前言对于粒子与UI的显示层级问题总结 前言 本周接触了UI和粒子有关的工作,记录一下 对于粒子与UI的显示层级问题 粒子本身依赖于材质球&a…

css实现左右切换平滑效果

2025.02.25今天我学习了如何用css实现平滑效果 一、html相关代码 &#xff08;1&#xff09;设置往左、往右的动画属性&#xff0c;样式可以放在同一级。 &#xff08;2&#xff09;必须设置唯一key进行刷新数据&#xff0c;使用v-show来展示每次渲染的组件数量。 <tran…

DeepSeek+Kimi生成高质量PPT

DeepSeek与Kimi生成PPT全流程解析 一、工具分工原理 DeepSeek核心作用&#xff1a;生成结构化PPT大纲&#xff08;擅长逻辑构建与内容优化&#xff09;Kimi核心作用&#xff1a;将文本转换为视觉化PPT&#xff08;提供模板库与排版引擎&#xff09; 二、操作步骤详解 1. 通…

电脑经常绿屏(蓝屏)怎么办(解决方法)?

一、排查系统与驱动问题 进入安全模式修复系统 强制重启电脑 3 次触发恢复环境&#xff0c;选择 疑难解答 > 高级选项 > 启动设置 > 重启&#xff0c;按 F5 或 5 进入带网络连接的安全模式3。 在安全模式下&#xff0c;尝试卸载最近安装的软件或更新&#xff0c;尤其…

【Git学习笔记】Git常用命令

Git常用命令 1、仓库2、配置3、增加/删除文件4、代码提交5、分支6、标签7、查看信息8、远程同步9、撤销10、其他 1、仓库 # 在当前目录新建一个Git代码库 $ git init# 新建一个目录&#xff0c;将其初始化为Git代码库 $ git init [project-name]# 下载一个项目和它的整个代码历…