目录
一、实验准备
请自行查找或使用如下参考资料,了解 Wireshark 的基本使用:
- 选择对哪块网卡进行数据包捕获
- 开始/停止捕获
- 了解 Wireshark 主要窗口区域
- 设置数据包的过滤
- 跟踪数据流
参考资料:
二、数据链路层
实作1:熟悉 Ethernet 帧结构
使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。
首先我通过ping www.baidu.com向百度发出数据包:
接着通过Wireshark软件通过条件过滤(协议为ICMP)检索到对应Ethernet 帧。
Ethernet 帧的结构:
- 目的mac地址(6个字节)。
- 源mac地址(6个字节)。
- 类型字段(2个字节)。
- 数据字段(46—1500个字节)。
- 校验和字段(4个字节)。
- 问题:你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。
- 原因:
在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目 的Mac地址是否符合自己的接收条件。如果符合,就将帧交“设备驱动程序”做进一步处理。也就是说Wireshark软件抓到的数据都是校验和正确的帧,因此Wireshark将校验和字段过滤掉了。
实作2:了解子网内/外通信时的 MAC 地址
- ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可使用 icmp 关键字进行过滤以利于分析),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
发出帧的目的 MAC 地址:发出发出帧的主机所ping的主机的MAC地址。
返回帧的源 MAC 地址:同样是我所ping的主机的MAC地址。
- 然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
通过ping www.baidu.com指令ping百度:
通过Wireshark捕获到的包:
由上图可知:
- 发出帧的目的 MAC 地址以及返回帧的源 MAC 地址都是:24:da: 33:b4:b6:6d
- 这个 MAC 地址是网关的。
- 再次 ping www.cqjtu.edu.cn (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址又是多少?这个 MAC 地址又是谁的?
通过ping www.tencent.com命令ping腾讯: