实践课40分钟

8课:初识抓包工具

Wireshark基础使用

教学目标

1安装和配置Wireshark
2学会捕获网络数据包
3能识别各层协议头部

📖 课前导入

上节课我们学习了数据在网络中的封装与解封装过程。但这些都是理论上的描述——你怎么亲眼看到这些过程呢?

有一个强大的工具可以帮你做到:Wireshark(网络抓包工具)。它就像网络世界的"显微镜",能让你看到网线里面跑的每一个数据包!

今天我们来认识Wireshark,学会抓包和分析数据包,把前几课学的理论知识真真切切地看到

📚 一、什么是网络抓包?

抓包的概念

抓包(Packet Capture)是指在网络上截获和分析经过网卡的数据包。通过抓包工具,你可以看到网络中传输的每一个数据包的完整内容,包括各层协议的头部信息和有效载荷。

🔍 抓包能做什么?

  • • 学习网络协议的实际工作过程
  • • 排查网络故障(为什么连不上?)
  • • 分析网络性能问题(为什么很慢?)
  • • 检测网络安全问题(有没有异常流量?)
  • • 开发调试网络应用程序

⚠️ 抓包的注意事项

  • • 只能抓到经过本机网卡的数据包
  • • HTTPS加密的数据内容看不到明文
  • • 未经授权抓取他人数据包可能违法
  • • 学习时只分析自己的网络流量

📚 二、认识Wireshark

Wireshark简介

  • 全称:Wireshark Network Protocol Analyzer
  • 前身:Ethereal(2006年更名)
  • 类型:开源免费的网络协议分析工具
  • 平台:支持Windows、macOS、Linux
  • 地位:全球最流行的网络分析工具,没有之一
  • 官网:wireshark.org
🦈

Wireshark

鲨鱼 = 网络捕获利器

Wireshark界面四大区域

① 工具栏和过滤器栏

顶部区域。开始/停止抓包按钮,以及用于筛选数据包的过滤器输入框。

② 数据包列表面板

中上部。显示抓到的所有数据包的摘要信息(编号、时间、源地址、目的地址、协议、长度)。

③ 数据包详情面板

中下部。展示选中数据包的各层协议详细信息——这里能看到完整的封装结构!

④ 原始数据面板

底部。以十六进制和ASCII码显示数据包的原始字节内容。

Wireshark安装与界面介绍

手把手教你下载安装Wireshark,认识软件界面的四大区域,并完成第一次抓包

8:00
Wireshark安装与界面介绍推荐视频8:00

手把手教你下载安装Wireshark,认识软件界面的四大区域,并完成第一次抓包

📚 三、动手:第一次抓包

Wireshark第一次抓包实践

已完成 0/6

步骤 1

下载安装Wireshark

访问 wireshark.org/download.html 下载对应系统的安装包。Windows用户安装时建议勾选安装 Npcap(抓包驱动)。

步骤 2

选择网络接口

步骤 3

制造一些网络流量

步骤 4

停止抓包

步骤 5

使用过滤器筛选

步骤 6

查看数据包详情

📚 四、常用过滤器语法

Wireshark的过滤器(Display Filter)可以帮你从海量数据包中快速找到你需要的包:

过滤器表达式作用使用场景
icmp只显示ICMP数据包分析ping命令
http只显示HTTP数据包分析网页访问
dns只显示DNS数据包分析域名解析
tcp只显示TCP数据包分析TCP连接
ip.addr == 192.168.1.1显示与指定IP通信的包追踪特定主机
ip.src == 192.168.1.100显示指定源IP的包只看本机发出的包
tcp.port == 80显示80端口的TCP包分析HTTP流量
eth.addr == 00:1a:2b:3c:4d:5e按MAC地址过滤追踪特定设备
http && ip.addr == 14.119.104.189组合过滤器精确筛选

💡 过滤器小技巧

  • • 过滤器栏变绿表示语法正确,变红表示语法错误
  • • 用 && 表示"并且",|| 表示"或者",! 表示"非"
  • • 输入协议名时支持自动补全

📚 五、实战:分析ping数据包

让我们先在CMD中ping百度,然后在Wireshark中分析抓到的ICMP数据包:

CMD中执行ping
// 模拟终端 - 点击"执行下一条"或按回车运行命令
// 共 1 条命令,已执行 0
C:\>

Wireshark中看到的ICMP数据包结构

在Wireshark中过滤 icmp,点击一个Echo Request包,展开各层信息:

第1层

Frame(物理层帧信息)

帧长度: 74 bytes | 捕获时间: 2024-01-15 10:30:25.123456

第2层

Ethernet II(数据链路层)

源MAC: 00:1a:2b:3c:4d:5e(你的网卡)
目的MAC: aa:bb:cc:dd:ee:ff(网关路由器)
类型: 0x0800(IPv4)

第3层

Internet Protocol Version 4(网络层)

版本: 4 | 头部长度: 20 bytes | 总长度: 60 bytes
TTL: 128 | 协议: ICMP (1)
源IP: 192.168.1.100(你的电脑)
目的IP: 110.242.68.66(百度服务器)

应用

ICMP(互联网控制消息协议)

类型: 8(Echo Request / ping请求)
代码: 0 | 校验和: 0x4d5a
标识符: 0x0001 | 序列号: 1
数据: 32 bytes 的填充数据

知识点

从Wireshark验证封装理论

通过Wireshark,你可以亲眼看到我们前几课学的理论知识:

  • 分层结构:数据包确实按层组织,每层都有自己的头部
  • 封装:以太网帧包着IP包,IP包包着ICMP数据
  • MAC地址:数据链路层使用MAC地址寻址
  • IP地址:网络层使用IP地址寻址
  • 协议类型字段:每层都有字段指明上层是什么协议

📚 六、其他网络诊断工具

除了Wireshark,还有一些命令行工具在网络诊断中非常有用:

常用网络诊断命令
// 模拟终端 - 点击"执行下一条"或按回车运行命令
// 共 3 条命令,已执行 0
C:\>

tracert / traceroute

追踪数据包从你的电脑到目的地经过的每一个路由器(每一跳),显示每跳的延迟。

用途:排查"到底在哪一跳出了问题"

nslookup / dig

查询域名对应的IP地址(DNS解析),还能查看DNS服务器信息。

用途:排查"域名能不能正确解析"

netstat

查看本机的网络连接状态、监听端口、路由表等信息。

用途:查看"哪些程序正在使用网络"

实践

动手挑战:完成一次完整的抓包分析

  1. 安装Wireshark并开始抓包
  2. 在CMD中执行 ping www.baidu.com -n 5
  3. 停止抓包,使用过滤器 icmp 筛选
  4. 找到一个 Echo Request 包,展开查看各层信息
  5. 对照找到一个 Echo Reply 包,对比两个包的源/目的IP和MAC地址
  6. 回答:Request和Reply包中,哪些字段是互换的?

完成这个练习,你就真正把"理论"变成了"实践"!

✅ 课堂小测

随堂测验

1/5

Wireshark是什么类型的工具?

📋 本课小结

1

抓包是截获和分析网络数据包的技术,是网络学习和故障排查的核心技能。

2

Wireshark是最流行的抓包工具,界面分四个区域:工具栏、包列表、包详情、原始数据。

3

过滤器帮助快速筛选数据包,常用:icmp、http、dns、ip.addr==xxx。

4

其他工具:tracert(路由追踪)、nslookup(DNS查询)、netstat(连接状态)。

🤔 课后思考

  1. 用Wireshark抓包访问一个HTTP网站,能看到网页的内容吗?如果是HTTPS呢?为什么?
  2. 执行 tracert www.baidu.com,数一数经过了几跳。尝试 tracert 一个国外网站(如 google.com),比较跳数差异。
  3. 在Wireshark中观察一个TCP连接的建立过程,你能找到"三次握手"的三个数据包吗?(提示:SYN、SYN+ACK、ACK)
  4. 思考:如果你是网络安全工程师,抓包工具能帮你发现哪些安全问题?