介绍
在这个实验中,你将学习使用 Wireshark 的命令行工具 Tshark 来分析 IPv6 网络流量。你将练习一些基本技术,例如使用 IPv6 过滤器捕获数据包,以及检查特定数据包的详细信息,包括跳数限制和流量类别。
通过实际操作练习,你将获得捕获实时 IPv6 流量的经验,并学会应用显示过滤器来分析已保存的捕获文件。本实验涵盖了从基本命令到利用 Tshark 强大功能进行高级分析的方法。
在这个实验中,你将学习使用 Wireshark 的命令行工具 Tshark 来分析 IPv6 网络流量。你将练习一些基本技术,例如使用 IPv6 过滤器捕获数据包,以及检查特定数据包的详细信息,包括跳数限制和流量类别。
通过实际操作练习,你将获得捕获实时 IPv6 流量的经验,并学会应用显示过滤器来分析已保存的捕获文件。本实验涵盖了从基本命令到利用 Tshark 强大功能进行高级分析的方法。
在这一步中,你将学习如何使用 Wireshark 的捕获过滤器选项 -f "ip6" 来捕获 IPv6 网络流量。此过滤器可确保在网络嗅探过程中仅捕获 IPv6 数据包。IPv6 是互联网协议的最新版本,旨在以其更大的地址空间取代 IPv4。在分析网络流量时,专注于像 IPv6 这样的特定协议通常有助于减少捕获数据中的干扰信息。
首先,通过点击 Xfce 桌面的终端图标或使用快捷键 Ctrl+Alt+T,在你的 LabEx 虚拟机中打开一个终端。你将在该终端中执行本实验的所有命令。
导航到用于存储捕获文件的默认工作目录:
cd ~/project
sudo wireshark -k -f "ip6" -i any
让我们来拆解这个命令:
-k 使 Wireshark 启动时立即开始捕获-f "ip6" 应用 IPv6 捕获过滤器(仅捕获 IPv6 数据包)-i any 从所有可用的网络接口进行捕获ping6 -c 4 ipv6.google.com
ping6 命令会发送 ICMPv6 数据包以测试 IPv6 连接性。-c 4 选项表示在停止之前恰好发送 4 个数据包。
在 Wireshark 中观察捕获的数据包。所有显示的数据包都应该是 IPv6 数据包。数据包列表将显示基本信息,例如:
当你完成分析后,若要停止捕获,点击 Wireshark 工具栏中的红色方形“停止”按钮。这将冻结数据包显示,以便你在没有新数据包干扰的情况下检查捕获的流量。
在这一步中,你将学习如何使用 Wireshark 的显示过滤器选项 -Y "ipv6" 来应用显示过滤器,以分析已捕获的 IPv6 流量。此过滤器会从现有的捕获文件中仅显示 IPv6 数据包,帮助你专注于 IPv6 流量,同时忽略其他协议的数据包。
cd ~/project
sudo wireshark -k -f "ip6" -i any -w ipv6_capture.pcapng
(让它运行 10 - 15 秒以捕获足够的数据包,然后通过点击 Wireshark 中的停止按钮停止捕获)
-Y 选项允许我们指定从捕获文件中显示哪些内容:sudo wireshark -r ipv6_capture.pcapng -Y "ipv6"
这个命令主要做两件事:
-r 告诉 Wireshark 从指定的捕获文件(ipv6_capture.pcapng)中读取数据-Y 应用显示过滤器 "ipv6",该过滤器仅显示 IPv6 数据包当 Wireshark 打开时,你会看到界面中仅显示 IPv6 数据包。注意顶部的显示过滤器栏显示 "ipv6" 作为活动过滤器。这意味着所有非 IPv6 数据包暂时被隐藏。
让我们尝试一些更具体的 IPv6 过滤器,以了解显示过滤器的工作原理。这些示例展示了如何缩小流量范围:
## 仅过滤 IPv6 ICMP 数据包(如 ping6 流量)
sudo wireshark -r ipv6_capture.pcapng -Y "icmpv6"
## 过滤涉及特定地址的 IPv6 流量(这里以本地主机 ::1 为例)
sudo wireshark -r ipv6_capture.pcapng -Y "ipv6.addr == ::1"
在这一步中,你将学习如何使用 Wireshark 的统计功能来分析 IPv6 跳数限制(Hop Limit)值。IPv6 中的跳数限制字段类似于 IPv4 中的 TTL(Time To Live,生存时间)字段,它指定了一个数据包在被丢弃之前可以经过的路由器数量(跳数)。这是防止数据包在网络中无限循环的关键机制。
cd ~/project
-f "ip6" 过滤器告诉 Wireshark 仅捕获 IPv6 数据包,而 -i any 表示它将监听所有可用的接口:sudo wireshark -k -f "ip6" -i any -w ipv6_hoplimit.pcapng
(让捕获运行 10 - 15 秒以收集足够的数据包,然后通过点击 Wireshark 中的停止按钮停止捕获)
-z ip6_hop,tree 选项会生成一个统计树,显示捕获的数据包中跳数限制值的分布情况:sudo tshark -r ipv6_hoplimit.pcapng -z ip6_hop,tree
===================================================================
IPv6 Hop Limit Tree
===================================================================
Hop Limit Count %
64 12 60%
128 6 30%
255 2 10%
===================================================================
-q 选项通过抑制数据包计数信息使输出更简洁:sudo tshark -r ipv6_hoplimit.pcapng -z ip6_hop,ipv6 -q
在这一步中,我们将探索如何使用 Wireshark 的详细模式深入检查 IPv6 数据包。当你需要逐层查看构成网络数据包的所有技术细节时,-V 标志特别有用。这有助于理解不同协议在 IPv6 通信中是如何相互作用的。
cd ~/project
sudo wireshark -k -f "ip6" -i any -w ipv6_verbose.pcapng
(让捕获运行大约 10 - 15 秒以收集足够的数据,然后手动停止)
-V)可以让我们全面剖析数据包:sudo tshark -r ipv6_verbose.pcapng -V -c 5
分解这个命令:
-r 指定要读取的输入文件-V 启用详细输出,显示所有协议层-c 5 将输出限制为 5 个数据包,以便于初步分析sudo tshark -r ipv6_verbose.pcapng -Y "icmpv6" -V -c 3
sudo tshark -r ipv6_verbose.pcapng -V > ipv6_packet_details.txt
在本次实验中,你学习了使用 Wireshark 的命令行工具 Tshark 分析 IPv6 流量的关键技术。你练习了使用 -f "ip6" 过滤器捕获 IPv6 数据包,并使用 -i any 监控接口,同时通过 ping6 测试流量验证结果。
此外,你还通过应用 -Y "ipv6" 等显示过滤器、使用 -z ip6_hop,tree 检查跳数限制,以及使用 -V 详细模式选项查看详细的数据包结构,探索了高级 IPv6 分析方法。这些技能使你能够在网络环境中高效地检查和排查 IPv6 流量问题。