2026-05-11 实验三 wireshark抓包实验

wireshark 安装

一、Ubuntu 系统 Wireshark 完整安装

环境适配

适配:Ubuntu 18.04 / 20.04 / 22.04 / 24.04 全系版本

一、安装前置依赖

用于支持添加 PPA 软件源

sudo apt update
sudo apt install software-properties-common -y

二、启用 Universe 官方仓库(必做)

Wireshark 依赖必须开启该仓库

sudo add-apt-repository universe
sudo apt update

三、添加 Wireshark 官方稳定版 PPA

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update

四、安装 Wireshark

sudo apt install wireshark -y

五、抓包权限配置(二选一,推荐记两种)

方案1:永久配置普通用户抓包权限

  1. 重新配置 Wireshark 权限选项
sudo dpkg-reconfigure wireshark-common

弹窗选择:Yes 允许普通用户抓包

  1. 将当前用户加入 wireshark 用户组
    kipley 换成自己用户名,直接执行:
sudo gpasswd -a kipley wireshark
  1. 生效方式
    必须 桌面注销(Log Out) → 重新登录,或直接重启电脑

  2. 验证是否加入组

groups

输出中出现 wireshark 即为配置成功

方案2:临时免配置、直接可用(实验首选)

永久权限配置失效时,直接用管理员身份启动,无视权限报错,可直接抓包做实验:

sudo wireshark

六、Wireshark 三种启动方式

  1. 终端普通启动
wireshark

(未配置权限会弹窗提示无抓包权限)

  1. 终端管理员启动(推荐做实验用)
sudo wireshark

无权限弹窗,直接抓包,不影响实验

Pasted image 20260511165832
  1. 图形菜单启动
    Ubuntu 应用列表搜索 Wireshark 点击打开

七、版本验证

查看安装的 Wireshark 版本

wireshark --version

八、权限弹窗说明

弹窗内容:

You don't have permission to capture on local interfaces.
Pasted image 20260511165625

含义:当前普通用户无网卡抓包权限

  • 若只是弹窗,但能选网卡、能开始抓包 → 不影响实验
  • 若网卡灰色、无法抓包 → 用 sudo wireshark 启动即可解决

九、卸载命令(备用笔记)

sudo apt remove wireshark -y
sudo add-apt-repository --remove ppa:wireshark-dev/stable

二、windows安装

Pasted image 20260511165529

正常流程安装即可。

实验操作

一、选择Capture 区域

  • 网线上网 → 选 eth0 / ens33 / ensXX(名字带 eth/ens
  • Wi‑Fi上网 → 选 wlan0 / wlp2s0(名字带 wlan/wlp
Pasted image 20260511170108

不需要选的接口(实验用不到)

  • lo(回环网卡,本地自己跟自己通信)
  • any(抓所有网卡,包太乱,新手别用)
  • docker0 / vbox 等虚拟网卡(和实验无关)

二、开始抓包

Pasted image 20260511170313
列名 含义 作用说明 你的截图例子
No. 包序号 抓包过程中数据包的唯一递增编号,方便定位、引用某个包(比如 “大家看第 54 号包”) 截图里的 547879,就是包的序号,代表这是抓包过程中第 N 个被捕获的包
Time 时间戳 包被抓到的相对时间(默认是 “从抓包开始到现在的秒数”,也可改为绝对时间),用于分析包的时间间隔、延迟 第 54 号包的 0.699925100,表示 “抓包开始后 0.699 秒,捕获了这个包”
Source 源地址 数据包的发送方地址(可以是 IP 地址、MAC 地址、设备名) 第 54 号包的 175.153.178.3 是公网服务器 IP;第 78 号 ARP 包的 ASUSTekCOMPU_6e:5c:... 是设备的 MAC 地址
Destination 目的地址 数据包的接收方地址,即包要发给谁 第 54 号包的 192.168.51.106 是你的电脑内网 IP;第 78 号 ARP 包的 Broadcast 是 “广播地址”,表示包发给局域网所有设备
Protocol 协议类型 数据包使用的网络协议(如 TCP、UDP、ARP、TLS、HTTP 等),是实验分析的核心 截图里的 TCPTLSv1.2ARP,分别对应 TCP 传输协议、HTTPS 用的 TLS 加密协议、ARP 地址解析协议
Length 包长度 数据包的总字节数(包含链路层到应用层的所有数据) 第 54 号包的 1514,表示这个 TCP 包总长度为 1514 字节
Info 包详情摘要 数据包的核心信息摘要,用于快速判断包的作用(如 TCP 连接确认、ARP 查询等) 第 54 号包的 [TCP Previous segment not captured] 说明 TCP 分段数据不完整;第 78 号 ARP 包的 Who has 169.254.169.254? Tell 192.168.51.254 表示 ARP 在查询 IP 对应的 MAC 地址
<img src=”/obsidian/notes/我的笔记/随笔/2026年度/2026 5月/icon/pic/Pasted image 20260511170952.png 500” alt=”Pasted image 20260511170952” style=”max-width: 100%;”>

三、举个例子

Pasted image 20260511171914

1. TLSv1.2 是什么?

  • 全称:Transport Layer Security(传输层安全)
  • 作用:给网络传输加密 + 防篡改 + 验身份
  • 场景:我们访问的 https:// 网站,全部跑在 TLS 之上

2. Info = Application Data 代表什么?

TLS 通信分两阶段,这个包属于第二阶段

  1. 握手阶段(Client Hello、Certificate 等):商量加密方式、交换密钥
  2. 应用数据阶段(Application Data):加密传真实内容(网页文字、图片、接口数据)
    → 这个包就是:服务器 → 你的电脑,发加密后的网页 / 应用数据

windows查看IP,cmd当中:

ipconfig

linux查看IP,终端当中:

ifconfig
Pasted image 20260511172211

122.248.50.148(服务器) → 192.168.51.106(你的电脑)

双击,查看具体的数据包分析:

Pasted image 20260511172549 Pasted image 20260511173321
1、最顶部:Frame 层(数据包整体信息栏)

Frame 9436: Packet, 185 bytes on wire (1480 bits), 185 bytes captured (1480 bits) on interface wlp0s20f3, id 0

字段 含义 实验意义
Frame 9436 包的序号,和抓包列表里的 No.9436 一一对应 方便在抓包列表里定位、引用这个包
185 bytes on wire 数据包在网络上传输时的总长度(和你之前看到的 Length=185 一致) 确认包的大小,判断是否是分段 / 重组的包
185 bytes captured Wireshark 实际捕获到的字节数 这里和传输长度一致,说明包被完整捕获,没有丢包或截断
on interface wlp0s20f3 捕获这个包的网卡(你的 Wi-Fi 网卡) 确认抓包接口是否正确,排除 “选错网卡导致抓不到包” 的问题
2、第二层:Ethernet II(数据链路层 / 以太网层)

Ethernet II, Src: ASUSTekCOMPU_73:4b:50 (58:11:22:73:4b:50), Dst: Intel_74:07:39 (2c:8d:b1:74:07:39)

对应 OSI 模型的数据链路层,负责在同一个局域网内,通过 MAC 地址完成「设备到设备」的寻址和传输。

字段 含义 实验意义
Src: ASUSTekCOMPU_73:4b:50 源 MAC 地址(发送这个包的设备的物理网卡地址,这里是你的网关 / 路由器的 MAC) 确认数据包在局域网内的「上一跳设备」,理解 MAC 地址的局域网寻址作用
Dst: Intel_74:07:39 目的 MAC 地址(接收这个包的设备的物理网卡地址,也就是你的电脑 Wi-Fi 网卡的 MAC) 验证包是否正确发送到你的电脑网卡
3、第三层:Internet Protocol Version 4(网络层 / IP 层)
字段 含义 实验意义
Src: 122.248.50.148 源 IP 地址(公网服务器的 IP,也就是这个包的发送方) 确认数据包的来源,判断通信的服务器是谁
Dst: 192.168.51.106 目的 IP 地址(你的电脑的内网 IP,也就是这个包的接收方) 确认数据包的去向,验证包是发给你的电脑的
4、第四层:Transmission Control Protocol(传输层 / TCP 层)
字段 含义 实验意义
Src Port: 7826 源端口号(服务器上发送数据的应用端口) 标识服务器上的服务,HTTPS 的默认端口是 443,这里是服务器的动态 / 非标准端口
Dst Port: 47468 目的端口号(你的电脑上接收数据的临时端口) 由系统随机分配,对应你打开的浏览器 / 应用,理解「端口复用」机制
Seq: 1049 TCP 序列号(标识当前发送的数据段的序号) 用于保证数据按序到达,是 TCP 可靠传输的核心机制之一
Ack: 1234 TCP 确认号(确认收到了对方的哪些数据) 实现数据的可靠确认,避免丢包或重复接收
Len: 131 TCP 层数据的长度(包括 TCP 头和数据) 计算应用层数据的实际大小
5、第五层:Transport Layer Security(安全层 / TLS 层)

对应 OSI 模型的应用层(安全层),是 HTTPS 的核心协议,负责给传输的数据提供加密、身份验证和防篡改保护

Encrypted Application Data

  • 含义:加密后的应用数据,截图里的72cc57c0f9919c972...就是它的十六进制表示
  • 实验意义:Wireshark 没有 TLS 会话的对称密钥,所以无法解密,只能看到加密后的乱码。这就是 HTTPS 的核心安全机制 —— 就算别人抓到包,也看不到里面的真实内容(比如网页文字、表单数据)。
Pasted image 20260511173742

四、数据筛选

过滤器类型 使用时机 作用 语法特点 本次场景是否用
捕获过滤器(Capture Filter) 抓包前设置 直接丢弃不符合条件的包,只抓你要的包 BPF 语法,功能有限(只能按端口 / IP / 协议过滤) 本次是已经抓完包,不用
显示过滤器(Display Filter) 抓包后设置 不影响原始抓包,只是在列表中隐藏不符合条件的包 语法丰富,支持按协议、字段、正则等筛选 ✅ 本次核心使用!

显示过滤器的使用方法

  1. 顶部输入框:写过滤器表达式,按Enter生效
  2. 语法校验:输入框绿色 = 语法正确;红色 = 语法错误,需要修改
  3. 小技巧:输入框下拉箭头可查看历史过滤器,支持自动补全(输入tls.会弹出所有 TLS 相关字段)
Pasted image 20260511174559

比较运算符(最常用)

运算符 含义 例子 场景说明
== 等于 ip.src == 192.168.51.106 筛选源 IP是自己电脑的包
!= 不等于 tcp.port != 443 排除 443 端口的包
contains 字符串包含 tls.host contains "bilibili.com" 筛选 SNI 主机名包含 B 站域名的包(核心!)
matches 正则匹配 tls.host matches ".*\.bilivideo\.com$" 匹配所有 B 站媒体 CDN 子域名
> / < 大于 / 小于 frame.len > 1000 筛选长度超过 1000 字节的大包(音频流常用)
逻辑运算符(组合多个条件)

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Archive PDF预览 PPTX Obsidian