简介
在本次实验中,你将学习如何从强大的网络协议分析工具 Wireshark 中导出数据包。导出数据包对于网络分析、故障排除和安全调查至关重要。它还能让你与同事共享捕获的数据。
在整个实验过程中,你将捕获网络流量,应用过滤器以针对特定的通信类型,并以各种格式导出捕获的数据,以便进行进一步分析。
在本次实验中,你将学习如何从强大的网络协议分析工具 Wireshark 中导出数据包。导出数据包对于网络分析、故障排除和安全调查至关重要。它还能让你与同事共享捕获的数据。
在整个实验过程中,你将捕获网络流量,应用过滤器以针对特定的通信类型,并以各种格式导出捕获的数据,以便进行进一步分析。
Wireshark 是全球使用最广泛的网络协议分析工具之一。在计算机网络中,通信通过称为数据包(packets)的小单元进行。你可以把数据包想象成在网络中传输数据的小信封。Wireshark 能让你捕获并分析这些数据包,使你能够非常详细地了解网络中正在发生的情况。它就像是网络的显微镜,帮助你了解数据的流动情况以及是否存在任何问题。
首先,我们需要打开 Wireshark。为此,我们要先打开一个终端窗口。终端是一个基于文本的界面,你可以在其中输入命令与计算机进行交互。你可以通过两种方式打开终端窗口:
Ctrl+Alt+T
。这是一个能快速打开终端的快捷键。终端打开后,我们将使用一个命令来启动 Wireshark。在终端中,输入以下命令,然后按回车键:
wireshark
运行此命令后,Wireshark 应用程序将打开。你会看到一个可用网络接口的列表。网络接口是计算机用于与网络上其他设备进行通信的连接,例如 Wi - Fi 或以太网。
Wireshark 打开后,花点时间浏览一下界面。了解界面布局将使你日后更轻松地使用该工具。
在开始捕获数据包之前,了解 Wireshark 界面各部分的功能至关重要。这些知识将帮助你有效地使用该工具并找到所需的信息。
现在你已经了解了 Wireshark 界面的基础知识,准备好开始捕获一些网络流量了。
在这一步中,你将学习如何捕获网络数据包,这是 Wireshark 的基本功能。数据包捕获就像是侦探的工具,能让你看到系统上发生的所有网络通信。这很重要,因为它能让你清楚地了解有哪些数据流入和流出你的设备,这对于解决网络问题或分析潜在的安全威胁等各种目的都至关重要。
在 Wireshark 主界面中,你会注意到一个可用网络接口的列表。这些接口就像你的设备连接到网络的不同“门”。每个接口代表你的设备发送和接收数据的不同方式,例如 Wi-Fi、以太网或虚拟网络连接。找到这个列表,选择合适的接口来捕获数据包。
通过点击选择 eth1
接口。这是你的主要以太网连接。以太网是一种使用物理电缆将设备连接到本地网络的常见方式。选择 eth1
意味着你选择捕获通过这个特定以太网连接的网络流量。
点击工具栏中的蓝色鲨鱼鳍图标开始捕获数据包。这个图标是 Wireshark 中开始数据包捕获的按钮。或者,你也可以双击 eth1
接口。一旦开始捕获,Wireshark 就会开始收集通过所选接口的所有网络数据包。
现在你应该能看到数据包被实时捕获并显示出来。每行代表一个单独的数据包。数据包的详细信息包括:
为了看到更有趣的流量,让我们通过访问一个网站来生成一些 HTTP 流量。HTTP(超文本传输协议)是用于在互联网上传输网页的协议。通过生成 HTTP 流量,你将能够看到访问网站时实际发生的数据交换。
在保持 Wireshark 运行的同时,按下 Ctrl+Alt+T
打开一个新的终端。终端是一个命令行界面,你可以在其中输入命令与系统进行交互。
使用 curl
命令请求一个网页:
curl www.google.com
curl
命令是一个用于从服务器传输数据或向服务器传输数据的工具。在这种情况下,你用它来请求 Google 的网页。你应该会在终端输出中看到 Google 主页的 HTML 内容。这表明请求成功,你已经从 Google 服务器接收到了数据。
返回 Wireshark,观察新捕获的数据包。你应该会看到与你对 Google 的请求相关的 DNS、TCP 和 HTTP 数据包。DNS(域名系统)用于将像 www.google.com
这样的域名转换为 IP 地址。TCP(传输控制协议)负责在你的设备和服务器之间建立可靠的连接。HTTP 用于传输实际的网页数据。
要停止数据包捕获,点击工具栏中的红色方形停止按钮。这将停止收集新数据包的过程。
现在你已经捕获了一些数据包,将它们保存到一个文件中:
File
。菜单栏包含各种管理 Wireshark 会话的选项,例如打开、保存和导出文件。Save As
。这个选项允许你选择要保存捕获数据包的文件的位置和名称。/home/labex/project
目录。这是你将存储捕获的数据包数据的位置。capture.pcapng
作为文件名。.pcapng
扩展名表示该文件采用 PCAPNG 格式,这是一种存储网络数据包数据的标准格式。Save
。文件现在已保存。PCAPNG 格式会保留所有捕获的数据,并且是 Wireshark 的默认格式。这意味着关于捕获数据包的所有详细信息,如源地址和目标地址、协议和数据包内容,都存储在文件中。
你已经成功捕获了网络流量并将其保存到一个文件中。在下一步中,你将学习如何过滤这些数据包,以专注于特定类型的流量。
在现实世界的网络场景中,当你捕获网络流量时,捕获文件可能会非常大,包含数千甚至数百万个数据包。一次性分析所有这些数据包会让人应接不暇且效率低下。这时,过滤就派上用场了。过滤是一项至关重要的技术,它能让你专注于特定类型的流量。通过缩小你所查看的数据包范围,你可以让分析过程更易于管理,并更快地找到所需信息。
Wireshark 配备了强大的过滤语言。这种语言使你能够仅显示符合特定条件的数据包。以下是一些常见的使用显示过滤器的方法:
首先,在 Wireshark 中打开你的捕获文件。文件打开后,查看 Wireshark 窗口的顶部。你会看到一个蓝色背景的文本框。这就是过滤器框。你将在过滤器框中输入过滤条件。
假设你想过滤出 HTTP 流量。HTTP 是用于 Web 通信的协议。为此,只需在过滤器框中输入以下内容:
http
输入过滤器后,你有两种方式来应用它。你可以按下键盘上的回车键,或者点击过滤器框旁边的右箭头按钮。完成此操作后,Wireshark 将开始对数据包列表应用过滤器。
应用过滤器后,你现在应该在数据包列表中只看到 HTTP 数据包。但是,如果你没有看到任何数据包,可能是你的捕获文件中不包含任何 HTTP 流量。在这种情况下,你可以尝试使用过滤器 tcp
。TCP 是一种基本的传输层协议,使用此过滤器将显示捕获文件中的所有 TCP 数据包。
如果你想清除过滤器并再次查看所有数据包,有两种方法可以实现。你可以点击过滤器框右侧的“X”按钮,或者删除框中的过滤文本,然后按下回车键。
让我们探索更具体的过滤器,以进一步优化你的数据包分析。
假设你只对 HTTP GET 请求感兴趣。GET 请求是一种常见的 HTTP 请求类型,用于从服务器检索数据。要仅显示这些请求,请在过滤器框中输入以下过滤器:
http.request.method == "GET"
按下回车键以应用过滤器。然后,Wireshark 将遍历数据包列表并仅显示 HTTP GET 请求。
应用过滤器后,如果你没有看到任何数据包,这意味着你的捕获文件可能不包含任何 HTTP GET 请求。
现在,让我们尝试另一个过滤器。如果你想查看所有发往端口 80(这是 HTTP 的标准端口)的 TCP 数据包,请在过滤器框中输入以下过滤器:
tcp.dstport == 80
按下回车键以应用此过滤器。
应用过滤器后,你现在应该在数据包列表中看到所有发往端口 80 的 TCP 数据包。
你可以使用逻辑运算符组合多个过滤器,使你的过滤器更强大。
假设你想查看 HTTP 或 DNS 数据包。DNS 是用于将域名转换为 IP 地址的协议。要为此创建一个过滤器,请在过滤器框中输入以下内容:
http or dns
按下回车键以应用过滤器。
应用过滤器后,你现在应该在数据包列表中看到 HTTP 和 DNS 数据包。
过滤是 Wireshark 中的一项强大功能,它使你能够专注于与你的分析最相关的数据包。随着你对 Wireshark 的使用经验不断增加,你将能够创建更复杂、更符合你特定需求的过滤器。
在你捕获并过滤数据包后,通常需要将它们导出。导出数据包可以进行更深入的分析、创建文档,或者与他人共享数据。Wireshark 提供了多种导出格式,每种格式都适用于不同的使用场景。
Wireshark 支持多种导出格式。以下是对每种格式的简要说明:
让我们从导出捕获的一些数据包开始。
首先,你需要清除已应用的所有过滤器。为此,点击过滤器框中的“X”按钮。清除过滤器后,所有捕获的数据包都会显示出来。这一步很重要,因为它能让你全面查看所有捕获的数据包,从而选择要导出的数据包。
接下来,选择你要导出的数据包。你可以先点击第一个数据包,然后按住 Shift 键并点击另一个数据包,这样会选中这两个数据包之间的所有数据包。如果你想选择所有数据包,只需按下 Ctrl+A
。
选中数据包后,点击菜单栏中的 File
,然后选择 Export Specified Packets...
。此选项允许你以特定格式保存所选数据包。
在弹出的导出对话框中:
/home/labex/project
目录,这是你保存导出文件的位置。Wireshark/tcpdump/... - pcap
未被选中,请选择它。PCAP 格式是一种广泛使用的数据包数据格式。exported.pcap
作为文件名,这将为你的导出文件命名。Save
。你现在已成功将所选数据包导出到一个 PCAP 文件中。这个文件可以在任何支持 PCAP 格式的工具中打开,而不仅仅是 Wireshark。这让你可以灵活地使用不同的工具进行进一步分析。
现在,让我们以 CSV 格式导出相同的数据。CSV 格式在电子表格应用程序中进行分析非常有用。
确保你的数据包仍然处于选中状态。如果没有,请按下 Ctrl+A
再次选择所有数据包。然后,点击菜单栏中的 File
并选择 Export Packet Dissections...
。此选项允许你以不同格式导出数据包数据。
点击 As CSV...
按钮,这将把导出格式设置为 CSV。
在导出对话框中:
/home/labex/project
目录保存文件。exported.csv
作为文件名。Save
。你现在已将数据包数据导出到一个 CSV 文件中。要查看此文件的内容,你可以在终端中使用以下命令:
head -n 10 /home/labex/project/exported.csv
此命令将显示 CSV 文件的前 10 行。它会显示列标题和一些数据包数据,让你快速了解文件内容。
有时,你可能需要导出数据包的实际原始字节。以下是具体操作方法:
在数据包列表中选择单个数据包,这是你要导出其原始字节的数据包。
右键单击该数据包并选择 Export Packet Bytes...
。此选项允许你保存数据包的原始数据。
在导出对话框中:
/home/labex/project
目录。packet_bytes.bin
作为文件名。Save
。你现在已导出所选数据包的原始字节。这对于详细分析或提取嵌入在数据包中的文件非常有用。
这些导出选项让你在分析和共享数据包捕获数据方面拥有很大的灵活性。你选择的格式取决于你的具体需求以及你计划用于进一步分析的工具。
在本次实验中,你学习了如何使用强大的网络协议分析工具 Wireshark 来捕获、过滤和导出网络数据包。首先,你熟悉了 Wireshark 的界面,并捕获了实时网络流量。接着,你学会了应用过滤器来针对特定类型的流量,如 HTTP 请求或 TCP 通信。最后,你探索了以 PCAP 和 CSV 等格式导出数据包的不同方法,以便进行进一步分析或共享。
这些技能对于网络管理员、安全分析师和 IT 专业人员来说至关重要。它们能让你高效地解决网络问题、调查安全事件,并了解网络行为。掌握 Wireshark 的数据包导出功能,为网络安全和网络分析提供了一个有价值的工具,为在现实世界的 IT 和安全岗位中应用更高级的技术奠定了基础。