使用 Wireshark 进行网络分析

CybersecurityCybersecurityBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将踏上一段激动人心的旅程,进入使用 Wireshark 进行网络分析的世界。Wireshark 是网络安全领域中一款强大的工具。想象一下,你是一名数字侦探,任务是理解计算机网络上发生的复杂对话。你如何看到表面之下真正发生的事情?这就是 Wireshark 的用武之地。

Wireshark 就像网络流量的显微镜。它允许你实时捕获和检查通过网络传输的数据。这种能力对于排查网络问题、检测异常活动以及理解应用程序之间的通信方式至关重要。

在本实验结束时,你将获得以下实践经验:

  1. 安装和设置 Wireshark
  2. 捕获网络流量
  3. 分析数据包
  4. 过滤网络捕获
  5. 识别常见协议

让我们一起潜入网络分析的迷人世界吧!

安装 Wireshark

在这一步中,我们将在 Ubuntu 系统上安装 Wireshark。Wireshark 在默认的 Ubuntu 软件仓库中可用,这使得安装过程非常简单。

  1. 首先,打开终端。在桌面上找到并打开 Xfce 终端。
打开 Xfce 终端窗口

注意:免费用户无法连接到互联网,因此 Wireshark 已在实验室环境中预安装。你可以跳到列表中的第 5 项(检查 Wireshark 是否已安装)。升级为专业用户 以练习自行安装 Wireshark。

Pro Users Only
  1. 更新软件包列表,以确保我们拥有最新的可用软件信息。运行以下命令:
sudo apt update
  1. 现在我们的软件包列表已经是最新的了,接下来安装 Wireshark。输入以下命令:
sudo apt install wireshark -y
  1. 在安装过程中,系统会询问你是否允许非超级用户捕获数据包。使用方向键选择 "Yes" 并按 Enter 键。这将允许你在不需要以 root 权限运行的情况下使用 Wireshark,这样更安全。
Wireshark 安装提示
  1. 安装完成后,通过检查 Wireshark 的版本来验证是否安装成功:
wireshark --version

你应该会看到显示 Wireshark 版本号的输出。

  1. 为了确保你拥有捕获数据包所需的权限,将你的用户添加到 wireshark 组中:

首先,检查 wireshark 组是否存在:

getent group wireshark

如果 wireshark 组不存在,使用以下命令创建该组:

sudo groupadd wireshark

默认情况下,Wireshark 以非 root 权限运行,这可能会限制其从某些接口或协议捕获数据包的能力。为了赋予 Wireshark 使用 Dumpcap(一个随 Wireshark 一起安装的工具)所需的权限,请使用以下命令:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a $USER wireshark

恭喜!你已经安装了网络分析师工具包中最强大的工具之一。

捕获网络流量

现在我们已经安装了 Wireshark,接下来让我们捕获一些网络流量。这就像设置一张网,捕捉流经我们网络接口的所有数据包。

  1. 在终端中输入 wireshark 并按 Enter 键打开 Wireshark。

  2. 当 Wireshark 打开时,你会看到一个网络接口列表。寻找标有 "eth0" 或 "eth1" 的接口——这些通常是主要的网络接口。

Wireshark 接口选择
  1. 双击接口以开始捕获数据包。你会看到主窗口中开始出现数据包流。
Wireshark 数据包捕获窗口
  1. 让我们生成一些流量来捕获。打开一个新的终端窗口并输入以下命令:

    curl http://example.com

    该命令将获取 example.com 的网页,生成一些 HTTP 流量。

  2. 捕获几秒钟后,点击 Wireshark 窗口顶部的红色“停止”按钮以停止捕获。

  3. 你刚刚捕获了第一批网络流量!捕获中的每一行代表一个数据包——通过网络发送的小数据单元。

  4. 要将此捕获保存以供后续分析,请转到 文件 > 保存,并将文件保存为 myfirstcapture.pcapng,保存到你的主目录中(/home/labex)。

保存网络捕获文件

捕获网络流量的过程是网络分析的基础。在接下来的步骤中,我们将学习如何理解这些数据。

分析数据包

现在我们已经捕获了一些网络流量,接下来让我们深入数据,看看能学到什么。

  1. 在 Wireshark 中打开你保存的捕获文件,方法是转到 文件 > 打开,然后从主目录中选择 myfirstcapture.pcapng。或者,双击文件直接打开。

  2. 在顶部窗格中,你会看到所有捕获的数据包列表。每一行代表一个数据包,并包含诸如源 IP 地址、目标 IP 地址、使用的协议以及简要信息字段等内容。

  3. 点击一个数据包以选中它。在中间窗格中,你会看到数据包详细信息被分解为不同的协议层。这就像剥洋葱一样——每一层都揭示了数据包的更多信息。

  4. 让我们查找 HTTP 流量(网页浏览)。在窗口顶部的过滤器栏中输入 http 并按 Enter 键。这将仅显示 HTTP 数据包。

Wireshark HTTP 数据包过滤器
  1. 找到一个在信息字段中包含 "GET" 的数据包。这表示对网页的请求。点击它以查看详细信息。
HTTP GET 数据包详细信息
  1. 在数据包详细信息窗格(中间)中,展开 "Hypertext Transfer Protocol" 部分。在这里,你可以看到有关 HTTP 请求的详细信息,包括请求的特定页面。

  2. 现在,让我们查找服务器的响应。找到一个在信息字段中包含 "HTTP/1.1 200 OK" 的数据包。这表示来自 Web 服务器的成功响应。

HTTP 服务器成功响应数据包
  1. 检查此数据包的详细信息。你可能会在 "Line-based text data" 部分看到网页的内容。

这种分析过程对于理解网络行为至关重要。这就像阅读对话日志——你可以看到谁在和谁交谈、他们在说什么以及他们是如何说的。

使用过滤器

Wireshark 的真正强大之处在于它能够快速过滤和分析大量网络数据。在这一步中,我们将学习如何使用过滤器来专注于特定类型的流量。

  1. 在 Wireshark 中打开你的捕获文件后,让我们从使用一些简单的显示过滤器开始:

    • 要仅显示 TCP 流量,在过滤器栏中输入 tcp 并按 Enter 键。
    • 要显示与特定 IP 地址相关的流量,输入 ip.addr == 93.184.215.14(这是 example.com 的 IP 地址,但你可以将其替换为你捕获中看到的任何 IP 地址)。
    Wireshark TCP 过滤器示例
    • 要显示所有 HTTP GET 请求,输入 http.request.method == "GET"
  2. 让我们创建一个更复杂的过滤器。我们将查找所有对 example.com 的 HTTP GET 请求:

    • 在过滤器栏中输入:http.request.method == "GET" && http.host contains "example.com"
    Wireshark HTTP GET 过滤器
    • 此过滤器显示所有对包含 "example.com" 的域名的 GET 请求。
  3. Wireshark 还允许你保存过滤器以供以后使用。让我们保存我们的 HTTP GET 过滤器:

    • 点击过滤器栏旁边的加号("+")。
    • 将过滤器命名为 "HTTP GETs" 并点击保存。
    • 现在你可以通过从保存的过滤器列表中选择它来快速应用此过滤器。
  4. 最后,让我们导出一些发现。转到 统计 > HTTP > 请求,然后点击 "另存为" 将 HTTP 请求列表导出到文件。

    • 选择 /home/labex 并将文件保存为 http_requests.txt
    导出 HTTP 请求列表

通过这种方式使用过滤器,你可以快速筛选大量网络数据并专注于重要内容。这就像拥有一个超级放大镜,可以立即显示特定类型的网络流量。

总结

在本实验中,你迈出了使用 Wireshark 进入网络分析世界的第一步。你已经学会了如何:

  1. 在 Linux 系统上安装和设置 Wireshark
  2. 捕获网络流量并保存以供分析
  3. 检查数据包以理解网络对话
  4. 使用过滤器专注于特定类型的流量

这些技能构成了网络分析的基础,对于任何对网络安全或网络管理感兴趣的人来说都至关重要。随着你继续深入探索,你会发现 Wireshark 是理解网络行为、排查问题甚至检测安全威胁的宝贵工具。继续练习和探索——在网络分析的迷人世界中,总有更多东西值得学习!

要加深你对 Wireshark 和网络分析的理解,请查看 LabEx 上的“Wireshark 快速入门”课程。该课程涵盖高级主题,并包含实践练习,帮助你掌握这一强大工具:https://labex.io/courses/quick-start-with-wireshark

Wireshark 课程封面图片

您可能感兴趣的其他 Cybersecurity 教程