Wireshark详解
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
)。
- Windows:
2. 安装步骤(以 Windows 为例)
- 双击安装包,按向导完成安装。
- 勾选 Install WinPcap/Npcap(必须安装,用于捕获网络接口数据)。
- 安装完成后,以管理员权限启动 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. 使用注意事项
- 权限问题:需以管理员/root 权限运行,否则无法捕获数据。
- 性能影响:在高流量场景下,实时抓包可能导致 CPU/内存占用过高。
- 隐私保护:避免捕获敏感信息(如密码),抓包后及时清理文件。
- 过滤优化:优先使用捕获过滤器减少数据量,再结合显示过滤器分析。
- 文件保存:定期保存
.pcapng
文件,防止意外关闭导致数据丢失。
7. 案例分析 TCP 三次握手
1. 实验目标
验证 TCP 连接的建立过程(SYN → SYN-ACK → ACK)。
2. 操作步骤
-
启动捕获:
- 选择接口(如以太网或 Wi-Fi),点击工具栏 鲨鱼鳍图标 开始抓包。
- 设置显示过滤器:
tcp && ip.addr == [目标服务器IP]
(如访问百度:tcp && ip.addr == 180.101.49.12
)。
-
触发通信:
- 在浏览器访问目标网站(如
www.baidu.com
),生成 TCP 连接请求。
- 在浏览器访问目标网站(如
-
分析数据包:
- 停止捕获,在数据包列表中查找 三次握手 过程:
- SYN(Flags: SYN):客户端发起连接请求。
- SYN-ACK(Flags: SYN, ACK):服务器响应确认。
- ACK(Flags: ACK):客户端确认建立连接。
- 右键点击任一握手包,选择 Follow → TCP Stream,查看完整会话。
- 停止捕获,在数据包列表中查找 三次握手 过程:
-
关键字段解读:
- Sequence Number:初始序列号(ISN),每次握手递增。
- Acknowledgment Number:确认对方序列号 + 1。
- Flags:SYN、ACK 标志位的变化。
3. 预期结果
成功捕获三个连续数据包,标志位依次为 SYN → SYN-ACK → ACK,序列号符合逻辑递增,证明 TCP 连接正常建立。
8. 扩展学习
- 高级协议解析:通过 Analyze → Decode As 自定义协议解析规则。
- 统计工具:使用 Statistics → Protocol Hierarchy 查看流量占比。
- 自动化脚本:结合
tshark
(命令行版 Wireshark)批量分析数据。
相关文章:
Wireshark详解
Wireshark使用详解 1.Wireshark 简介2.下载与安装1. 下载地址2. 安装步骤(以 Windows 为例) 3. 界面与核心功能1. 主界面布局2. 常用菜单功能 4. 过滤功能详解1. 过滤类型2. 常用过滤命令 5. 过滤命令与网络结构对应6. 使用注意事项7. 案例分析 TCP 三次…...
《从零开始掌握Python:一份全面的学习指南》
一、为什么选择Python? Python以其简洁优雅的语法和强大的生态系统成为全球最受欢迎的编程语言之一。无论是开发网站、分析数据、构建人工智能模型,还是自动化办公,Python都能轻松胜任。 学习门槛低:代码如英文般直观,例如 print("Hello, World!")。 应用领域广…...

布署elfk-准备工作
建议申请5台机器部署elfk: filebeat(每台app)--> logstash(2台keepalived)--> elasticsearch(3台)--> kibana(部署es上)采集输出 处理转发 分布式存储 展示 ELK中文社区: 搜索客,搜索人自己的社区 官方…...

LlamaFactory-webui:训练大语言模型的入门级教程
LlamaFactory是一个开源框架,支持多种流行的语言模型,及多种微调技术,同时,以友好的交互式界面,简化了大语言模型的学习。 本章内容,从如何拉取,我已经搭建好的Llamafactory镜像开始࿰…...
达梦数据库授权给某个用户查询其他指定用户下所有表的权限
方法1: 新版本有一个数据库参数 GRANT_SCHEMA,表示是否开启授予和回收模式权限功能。0:否;1:是 此参数为静态参数,默认是0,将改参数修改为1后,重启数据库生效。 将参数修改为1 S…...

uniapp 微信小程序打包之后vendor.js 主包体积太大,解决办法,“subPackages“:true设置不生效
现在是打包的时候,vendor.js 的内容全部打到了主包里面, 说一下我的方法: 1. 通过发行 小程序打包 这样打包的体积是最小的,打包之后打开微信开发工具,然后再上传 2.manifest.json,在“mp-weixin”里添加代码 "…...

Docker数据卷容器实战
数据卷容器 数据共享 上面讲述的是主机和容器之间共享数据,那么如何实现容器和容器之间的共享数据呢?那就是创建 创建数据卷容器。 命名的容器挂载数据卷,其他容器通过挂载这个(父容器)实现数据共享,挂载…...
【Eureka 缓存机制】
今天简单介绍一下Eureka server 的缓存机制吧✌️✌️✌️ 一、先来个小剧场:服务发现的"拖延症" 想象你是个外卖小哥(客户端),每次接单都要打电话问调度中心(Eureka Server):“现在…...
docker-compose方式启动Kafka Sasl加密认证(无zk)
首先参考文档,思考过程可以进行参考https://juejin.cn/post/7294556533932884020#heading-3 用的镜像是Bitnami,对SASL配置进行了简化,需要按照特定格式去配置jass验证 完整配置如下 镜像版本参考:https://hub.docker.com/r/bitn…...

[ComfyUI]官方已支持Skyreels混元图生视频,速度更快,效果更好(附工作流)
一、介绍 昨天有提到官方已经支持了Skyreels,皆大欢喜,效果更好一些,还有GGUF量化版本,进一步降低了大家的显存消耗。 今天就来分享一下官方流怎么搭建,我体验下来感觉更稳了一些,生成速度也更快…...

数据库导出
MySQL数据库 使用命令行导出 导出整个数据库:在命令行中输入mysqldump -u用户名 -p密码 数据库名 > 导出文件路径/文件名.sql。例如mysqldump -uroot -p123456 mydb > /home/user/mydb_backup.sql,回车后输入密码即可将名为mydb的数据库导出为SQL…...
Flask 应用结构与模块化管理详细笔记
1. 代码结构优化:StructureA 最初的 Flask 项目结构适用于小型应用,但不适用于大型应用。为了改进代码结构,我们将 URL 管理应用拆分为多个模块。 1.1 StructureA 目录结构 StructureA |-- .flaskenv |-- app.py |-- views.py |-- templat…...
Excel的两个小问题解决
(一)因为合并单元格存在,无法使用下拉自动填充公式。 解决方案: 使用 CtrlEnter 组合键 选中目标区域:选中需要应用公式的所有合并单元格区域,这些单元格可能是由 2 行或 3 行等合并而成。输入公式&…...

计算机毕业设计Python+DeepSeek-R1大模型期货价格预测分析 期货价格数据分析可视化预测系 统 量化交易大数据 机器学习 深度学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
JVM 面试
JVM 运行时内存区域划分是怎样的? 程序计数器:记录当前线程执行的字节码指令的地址,是线程私有的。 Java 虚拟机栈:每个方法在执行时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息&#…...

智慧后勤的消防管理:豪越科技为安全护航
智慧后勤消防管理难题大揭秘! 在智慧后勤发展得如火如荼的当下,消防管理却暗藏诸多难题。传统模式下,消防设施分布得那叫一个散,就像一盘散沙,管理起来超费劲。人工巡检不仅效率低,还容易遗漏,不…...
【Elasticsearch】(Java 版)
Elasticsearch(Java 版) 文章目录 Elasticsearch(Java 版)**1. Elasticsearch 简介****1.1 什么是 Elasticsearch?****1.2 核心概念** **2. 安装与配置****2.1 环境要求****2.2 安装步骤****Linux/macOS****Windows** …...

DeepSeek在昇腾上的模型部署 - 常见问题及解决方案
2024年12月26日,DeepSeek-V3横空出世,以其卓越性能备受瞩目。该模型发布即支持昇腾,用户可在昇腾硬件和MindIE推理引擎上实现高效推理,但在实际操作中,部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾Dee…...
安全面试5
文章目录 sql的二次注入在linux下,现在有一个拥有大量ip地址的txt文本文档,但是里面有很多重复的,如何快速去重?在内网渗透中,通过钓鱼邮件获取到主机权限,但是发现内网拦截了tcp的出网流量,聊一…...

【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)
本章将详细介绍四大主流金融数据源(Tushare、AkShare、Baostock、通联数据(DataAPI)),分析其特点与适用场景,并通过实战案例展示数据获取与处理的全流程。 👉 点击关注不迷路 👉 点击…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
如何通过git命令查看项目连接的仓库地址?
要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...
起重机起升机构的安全装置有哪些?
起重机起升机构的安全装置是保障吊装作业安全的关键部件,主要用于防止超载、失控、断绳等危险情况。以下是常见的安全装置及其功能和原理: 一、超载保护装置(核心安全装置) 1. 起重量限制器 功能:实时监测起升载荷&a…...

若依项目部署--传统架构--未完待续
若依项目介绍 项目源码获取 #Git工具下载 dnf -y install git #若依项目获取 git clone https://gitee.com/y_project/RuoYi-Vue.git项目背景 随着企业信息化需求的增加,传统开发模式存在效率低,重复劳动多等问题。若依项目通过整合主流技术框架&…...