游乐游手机版
首页/网络安全/文章详情

Wireshark安装配置教程:网络流量抓包与分析方法

时间:2026-08-18 06:30
{ "position ":0, "title ": "简介 ", "layout ": "doc-fullscreen ", "text ": " 简介nn在本实验中,你将学习如何安装和配置 Wireshark,这是一款功能强大的网络协议分析器。它能够实时检查网络流量,这对于网络故障排查和安全调查至关重要。nn通过本实
{"position":0,"title":"简介","layout":"doc-fullscreen","text":"## 简介nn在本实验中,你将学习如何安装和配置 Wireshark,这是一款功能强大的网络协议分析器。它能够实时检查网络流量,这对于网络故障排查和安全调查至关重要。nn通过本实验,你将掌握在系统上捕获和分析网络数据包的能力,并获得使用这一核心工具的实践经验。n","need_verify":false,"has_solution":false},{"position":1,"title":"安装 Wireshark","layout":"doc-workbench-split","text":"## 安装 Wiresharknn在这一步中,我们将在 Ubuntu 系统上安装 Wireshark。Wireshark 是一款功能强大的网络协议分析器,允许你捕获和分析网络流量。对于任何对网络安全和流量分析感兴趣的人来说,它都是一个至关重要的工具。好消息是,Ubuntu 软件仓库中提供了 Wireshark,这意味着我们可以使用 Ubuntu 提供的软件包管理系统轻松安装它。nn首先,让我们更新软件包仓库信息。软件包仓库就像是你 Ubuntu 系统中所有可用软件的目录。通过更新它,我们可以确保能够获取到最新的软件版本。为此,我们需要打开终端。你可以通过点击任务栏中的终端图标或按下 `Ctrl+Alt+T` 来打开终端。终端打开后,输入以下命令:nn```bashnsudo apt updaten```nn`sudo` 命令用于以管理员权限运行命令。`apt` 是 Ubuntu 中的软件包管理工具,`update` 是刷新软件包仓库信息的命令。运行此命令时,你应该会看到类似以下的输出:nn```nHit:1 https://archive.ubuntu.com/ubuntu jammy InReleasenGet:2 https://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]nGet:3 https://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]nGet:4 https://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]nGet:5 https://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1,234 kB]n...nReading package lists... Donen```nn此输出表明系统正在从仓库中获取有关可用软件包的最新信息。nn现在软件包仓库已更新,我们可以使用 `apt` 软件包管理器安装 Wireshark。在终端中运行以下命令:nn```bashnsudo apt install wireshark -yn```nn`install` 命令告诉 `apt` 安装指定的软件包,在本例中为 `wireshark`。`-y` 选项用于在安装过程中自动对所有提示回答“yes”。nn在安装过程中,会出现一个配置对话框,询问是否允许非超级用户捕获数据包。如果你希望在不总是使用管理员权限的情况下运行 Wireshark,允许非超级用户捕获数据包会很有用。使用箭头键选择「Yes」(或按 `y`),然后按回车键确认你的选择。nn![Wireshark 配置对话框](https://file.labex.io/namespace/33fa8aba-d546-42e9-9692-64968aeaf0cc/cybersecurity/ws_installation/lab-wireshark-enchantment-quest/zh/../assets/screenshot-20250324-osGR7Jwq@2x.png)nn> **注意:** 如果你错过了此提示或以后需要更改此设置,可以使用以下命令重新配置 Wireshark:n>n> ```bashn> sudo dpkg-reconfigure wireshark-commonn> ```n>n> `dpkg-reconfigure` 命令用于重新配置已安装的软件包。nn安装完成后,你应该会看到指示安装成功的输出。为了验证 Wireshark 是否安装正确,我们可以检查其版本。在终端中运行以下命令:nn```bashnwireshark --versionn```nn此命令告诉 Wireshark 显示其版本信息。你应该会看到类似以下的输出:nn```plaintextnWireshark 3.6.2 (Git v3.6.2 packaged as 3.6.2-2)nnCopyright 1998-2022 Gerald Combs and contributors.nLicense GPLv2+: GNU GPL version 2 or later nThis is free software; see the source for copying conditions. There is NOnwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.nnCompiled (64-bit) with Qt 5.15.3, with libpcap, with GLib 2.72.0, with zlib 1.2.11,nwith SMI 0.4.8, with c-ares 1.18.1, with Lua 5.2.4, with GnuTLS 3.7.3 and PKCS #11nsupport, with Gcrypt 1.9.4, with MIT Kerberos, with MaxMind DB resolver,nwith nghttp2 1.43.0, with brotli, with LZ4, with Zstandard, with Snappy,nwith libxml2 2.9.13, with libssh 0.9.6, with NGHTTP3 0.7.0, with NGTCP2 0.8.0.n```nn太棒了!Wireshark 现在已安装在你的系统上。n","need_verify":true,"has_solution":false},{"position":2,"title":"配置 Wireshark 捕获权限","layout":"doc-workbench-split","text":"## 配置 Wireshark 捕获权限nn在这一步中,我们将为 Wireshark 配置捕获网络数据包所需的权限。作为初学者,你可能想知道为什么要这样做。默认情况下,数据包捕获需要 root 权限。这是一种安全措施,因为捕获网络数据包可能会暴露敏感信息。然而,从安全角度来看,以 root 身份运行 Wireshark 并不是一个好主意。如果 Wireshark 存在漏洞,攻击者在它以 root 身份运行时可能会获得完整的系统访问权限。因此,我们将配置 Wireshark,允许你的普通用户账户安全地捕获数据包。nn首先,我们需要检查系统上是否存在 `wireshark` 组。`wireshark` 组是一个特殊组,我们将使用它来管理数据包捕获的权限。要检查该组是否存在,我们将使用 `getent` 命令。`getent` 是一个从各种系统数据库(在本例中为组数据库)中检索条目的实用程序。在终端中运行以下命令:nn```bashngetent group wiresharkn```nn如果没有输出,说明该组尚不存在,我们需要创建它。我们将使用 `groupadd` 命令来创建 `wireshark` 组。`groupadd` 命令用于在系统上创建新组。运行以下命令:nn```bashnsudo groupadd wiresharkn```nn`sudo` 命令用于以管理员权限运行 `groupadd` 命令。如果你最近没有使用过 `sudo`,系统会提示你输入密码。nn接下来,我们需要为数据包捕获二进制文件 (`dumpcap`) 提供正确的权限。`dumpcap` 是 Wireshark 实际捕获数据包的组件。我们将把 `dumpcap` 二进制文件的组所有权更改为 `wireshark` 组。这样,`dumpcap` 二进制文件将与 `wireshark` 组关联,我们可以通过该组管理其权限。运行以下命令:nn```bashnsudo chgrp wireshark /usr/bin/dumpcapn```nn`chgrp` 命令用于更改文件或目录的组所有权。在本例中,我们将 `/usr/bin/dumpcap` 二进制文件的组所有权更改为 `wireshark` 组。nn更改组所有权后,我们将设置 `dumpcap` 二进制文件的必要权限。我们将使用 `chmod` 命令来设置权限。`chmod` 命令用于更改文件或目录的权限。运行以下命令:nn```bashnsudo chmod 4755 /usr/bin/dumpcapn```nn此命令在二进制文件上设置了 setuid 位。setuid 位允许二进制文件以所有者(root)的权限执行,无论运行它的人是谁。`4755` 权限可以分解如下:nn- `4` - 设置 setuid 位。这意味着当二进制文件被执行时,它将以所有者(root)的权限运行。n- `7` - 所有者(root)拥有读、写和执行权限。这允许所有者读取、修改和运行该二进制文件。n- `5` - 组拥有读和执行权限。这允许 `wireshark` 组的成员读取和运行该二进制文件。n- `5` - 其他人拥有读和执行权限。这允许系统上的其他用户读取和运行该二进制文件。nn最后,我们需要将当前用户添加到 `wireshark` 组。通过将我们的用户添加到 `wireshark` 组,我们的用户将拥有使用 `dumpcap` 二进制文件所需的权限。我们将使用 `gpasswd` 命令将用户添加到组中。`gpasswd` 命令用于管理 /etc/group 和 /etc/gshadow 文件。运行以下命令:nn```bashnsudo gpasswd -a $USER wiresharkn```nn`$USER` 变量是一个 shell 变量,包含当前用户的用户名。你应该会看到指示用户已添加到组中的输出:nn```plaintextnAdding user labex to group wiresharkn```nn为了使这些设置要真正生效,通常需要先注销再重新登录,或者干脆重启系统。不过这次实验没必要走这么一大圈,更省事的做法是直接启动一个带有最新组成员身份的新 shell。 这里用到的是 `newgrp` 命令,它可以切换当前的组 ID。执行下面这条命令: ```bash newgrp wireshark ``` 这条命令会直接开启一个启用了 `wireshark` 组的新 shell,这样就不用完整注销一遍了。 接下来,验证一下当前用户是不是已经加入了 `wireshark` 组。这里使用 `groups` 命令,它会列出该用户所属的全部组。执行: ```bash groups ``` 正常情况下,输出里应该能看到 `wireshark`,例如: ```plaintext wireshark sudo ssl-cert labex public ``` 到这一步,当前用户已经是 `wireshark` 组成员,而 `dumpcap` 二进制文件也具备了正确权限。也就是说,Wireshark 现在应该可以在不使用 root 权限的前提下抓取数据包了。 ","need_verify":true,"has_solution":false},{"position":3,"title":"启动 Wireshark","layout":"doc-workbench-split","text":"## 启动 Wireshark 这一步,我们会启动 Wireshark,并先熟悉一下它的初始界面。Wireshark 是一款很强大的网络流量分析工具,带有图形用户界面(GUI)。后续与软件的交互、以及对网络流量的分析,都会通过这个界面来完成。 首先,确认自己当前位于 LabEx 虚拟机的桌面环境中。进入正确环境后,应该能看到带有图标的桌面,以及屏幕顶部或底部的任务栏。这是们开始使用 Wireshark 的起点。nn有两种启动 Wireshark 的方法。你可以选择最方便的方法:nn1. 点击“应用程序”菜单,它通常位于屏幕的左上角。然后,浏览菜单找到“互联网”或“网络”类别。进入相应的类别后,查找并选择“Wireshark”。这是使用图形界面启动程序的直接方法。nn ![应用程序菜单中的 Wireshark](https://file.labex.io/namespace/33fa8aba-d546-42e9-9692-64968aeaf0cc/cybersecurity/ws_installation/lab-wireshark-enchantment-quest/zh/../assets/screenshot-20250324-De9TfABO@2x.png)nn2. 或者,你可以使用终端。打开一个终端窗口,然后输入以下命令:nn ```bashn wiresharkn ```nn ![终端中的 Wireshark](https://file.labex.io/namespace/33fa8aba-d546-42e9-9692-64968aeaf0cc/cybersecurity/ws_installation/lab-wireshark-enchantment-quest/zh/../assets/screenshot-20250324-CrE2NrBU@2x.png)nn此命令告诉系统启动 Wireshark 应用程序。执行此命令后,Wireshark 将启动,其主窗口将出现在屏幕上。你首先看到的是“欢迎使用 Wireshark”屏幕。此屏幕显示了可用于捕获网络流量的可用网络接口列表。如果你以前使用过 Wireshark 并保存了一些文件,它还会显示一些最近打开的捕获文件。nn![Wireshark 启动屏幕](欢迎界面里有几个很关键的入口,先看清楚,后面上手会顺很多。 1. 可以直接从列表里选择一个网络接口。选中之后,Wireshark 就会立刻开始在这个接口上捕获数据包,这也是采集网络流量数据的起点。 2. 如果之前保存过捕获文件,也可以在这个界面直接打开。想分析过去采集的数据时,这个功能就很实用。 3. 此外,这个界面还能进入各种工具和设置项。借助这些功能,可以按需调整 Wireshark 的使用方式,也能完成更深入的分析。 不妨先花一点时间熟悉这个初始界面。很容易发现,每个网络接口旁边都会显示一些已检测到数据包的统计信息。这些信息能帮你快速判断,哪些接口当前正在活跃地传输网络流量。 接着看看 Wireshark 的几个主要界面元素: - 菜单栏:位于窗口顶部,几乎所有功能都可以从这里进入。无论是保存捕获文件、修改设置,还是查看帮助信息,都要用到它。 - 工具栏:这里放的是常用功能的快捷入口。比如开始或停止数据包捕获、应用过滤器、保存文件,通常点一下就能完成。 - 接口列表:这一栏会列出系统中所有可用的网络接口,实际捕获数据包时,就在这里选择目标接口。 - 显示过滤器栏:这个区域用于过滤主窗口中显示的数据包。可以根据 IP 地址、协议、端口号等条件缩小范围,只看自己真正关心的内容。下一步会进一步说明这个过滤器的具体用法。 现在先让 Wireshark 保持运行。下一步,就要正式用它来捕获并分析网络流量了。s_solution":false},{"position":4,"title":"捕获和分析网络流量","layout":"doc-workbench-split","text":"## 捕获和分析网络流量nn在这一步中,我们将捕获一些网络流量并探索 Wireshark 界面。了解如何分析网络数据包对于任何对网络安全或故障排查感兴趣的人来说都至关重要。在本节结束时,你将知道如何开始捕获、理解 Wireshark 界面、生成流量、过滤数据包、检查数据包详细信息以及停止捕获。nn### 开始捕获nn当你打开 Wireshark 时,你会看到一个欢迎屏幕。在此屏幕上,你的目标是找到要从中捕获流量的网络接口。在大多数情况下,我们将使用 `eth0` 接口。如果 `eth0` 不可用,你可以选择另一个活动接口(例如 `eth1` 或 `wlan0`)。nn要开始捕获数据包,只需双击 `eth0` 接口。此操作将立即开始在该接口上捕获数据包,并将你带到 Wireshark 主捕获窗口。nn或者,你可以先选择接口,然后点击工具栏中由蓝色鲨鱼鳍图标表示的“开始捕获数据包”按钮。开始捕获是分析网络流量的第一步,因为它允许 Wireshark 收集流经所选接口的数据。nn### 理解 Wireshark 界面nn数据包捕获开始后,你将看到 Wireshark 主界面。此界面分为三个主要窗格,每个窗格都有不同的用途。nn![Wireshark 主界面](https://file.labex.io/namespace/33fa8aba-d546-42e9-9692-64968aeaf0cc/cybersecurity/ws_installation/lab-wireshark-enchantment-quest/zh/../assets/main-interface.jpg)nn1. **数据包列表窗格(顶部)**:此窗格显示 Wireshark 已捕获的所有数据包列表。列表中的每个条目都提供有关数据包的基本信息,包括:nn - 数据包编号:捕获中每个数据包的唯一标识符。n - 时间:捕获数据包的时间。n - 源 IP 地址:发送数据包的设备的 IP 地址。n - 目标 IP 地址:数据包旨在发送到的设备的 IP 地址。n - 协议:数据包使用的网络协议,例如 TCP、UDP 或 ICMP。n - 长度:数据包的大小(以字节为单位)。n - 信息:数据包用途的简要说明,可以帮助你快速了解数据包正在执行的操作。nn2. **数据包详细信息窗格(中间)**:当你选择顶部窗格中的数据包时,此区域会以分层格式显示所选数据包的详细信息。你可以通过点击各部分旁边的箭头来展开它们,以查看有关数据包结构和内容的更深入详细信息。nn3. **数据包字节窗格(底部)**:此窗格以十六进制和 ASCII 格式显示原始数据包数据。当你选择“数据包详细信息”窗格中的不同字段时,相应的字节会在该窗格中突出显示。这使你可以查看数据包中正在传输的实际数据。nn### 生成一些网络流量nn为了有一些有意义的内容进行分析,我们需要生成一些网络流量。在 Wireshark 运行的同时,打开一个新的终端窗口。在终端中,我们将使用 `ping` 命令向 Google 的服务器发送一些 ICMP 回显请求数据包。nn执行以下命令:nn```bashnping -c 5 google.comn```nn> **注意**:免费用户无法连接到互联网。[升级到专业版](https://labex.io/pricing?utm_source=labby)以享受完整体验。nn`-c 5` 选项告诉 `ping` 命令发送 5 个 ICMP 回显请求数据包。运行此命令后,你应该会看到类似以下的输出:nn```nPING google.com (142.250.180.238) 56(84) bytes of data.n64 bytes from muc11s21-in-f14.1e100.net (142.250.180.238): icmp_seq=1 ttl=118 time=15.6 msn64 bytes from muc11s21-in-f14.1e100.net (142.250.180.238): icmp_seq=2 ttl=118 time=16.5 msn64 bytes from muc11s21-in-f14.1e100.net (142.250.180.238): icmp_seq=3 ttl=118 time=15.9 msn64 bytes from muc11s21-in-f14.1e100.net (142.250.180.238): icmp_seq=4 ttl=118 time=16.2 msn64 bytes from muc11s21-in-f14.1e100.net (142.250.180.238): icmp_seq=5 ttl=118 time=15.7 msnn--- google.com ping statistics ---n5 packets transmitted, 5 received, 0% packet loss, time 4006msnrtt min/a vg/max/mdev = 15.629/15.986/16.520/0.324 msn```nn现在,回到 Wireshark。你应该会看到在执行 `ping` 命令期间捕获的 ICMP 数据包。这些数据包就是我们将用于进一步分析的内容。nn### 停止捕获nn当你完成对捕获数据包的分析后,需要停止捕获。为此,请点击工具栏中由红色方块表示的“停止捕获数据包”按钮。或者,你可以转到“捕获”菜单并选择“停止”。nn你现在已经成功使用 Wireshark 捕获并分析了一些基本的网络流量!这是网络分析和安全领域的一项基本技能,你可以在此知识基础上分析更复杂的网络场景。nn### 过滤数据包nnWireshark 会捕获所选接口上的所有流量,这很快就会产生大量数据,难以管理。过滤器是 Wireshark 中的一个强大工具,允许你专注于特定类型的流量。nn![Wireshark 过滤器栏](https://file.labex.io/namespace/33fa8aba-d546-42e9-9692-64968aeaf0cc/cybersecurity/ws_installation/lab-wireshark-enchantment-quest/zh/../assets/screenshot-20250324-IIlBENPK@2x.png)nn要过滤我们刚刚生成的 ICMP ping 数据包,请查看 Wireshark 窗口的顶部。有一个过滤器栏,你可以在其中输入过滤器表达式。在过滤器栏中输入以下内容:nn```nicmpn```nn输入过滤器表达式后,按回车键或点击过滤器字段旁边的“应用”按钮(右箭头图标)。数据包列表将更新,仅显示 ICMP 数据包。你应该会看到与我们之前运行的 `ping` 命令相对应的“Echo (ping) request”和“Echo (ping) reply”消息对。过滤有助于你隔离感兴趣的流量,并使分析过程更易于管理。nn### 检查数据包详细信息nn现在我们已经过滤了 ICMP 数据包,让我们仔细看看其中一个 ICMP 请求数据包。点击数据包列表中的一个 ICMP 请求数据包。在“数据包详细信息”窗格中,你可以通过点击每个部分旁边的箭头来展开不同的协议层。nn![Wireshark 数据包详细信息](https://file.labex.io/namespace/33fa8aba-d546-42e9-9692-64968aeaf0cc/cybersecurity/ws_installation/lab-wireshark-enchantment-quest/zh/../assets/screenshot-20250324-uzVhHum2@2x.png)nn1. **Frame(帧)**:此部分提供有关整个帧或数据包的信息,例如帧长度和帧校验序列。n2. **Ethernet(以太网)**:它包含第 2 层(数据链路层)信息,如源 MAC 地址和目标 MAC 地址。n3. **Internet Protocol Version 4(互联网协议第 4 版)**:这是第 3 层(网络层)信息。展开此部分可查看详细信息,例如:n - 源 IP 地址:发送数据包的设备的 IP 地址。n - 目标 IP 地址:数据包要发送到的设备的 IP 地址。n - 生存时间 (TTL):限制数据包在网络中寿命的值。n - 协议:IP 数据包内使用的协议,在本例中为 ICMP。n4. **Internet Control Message Protocol(互联网控制消息协议)**:此部分显示 ICMP 协议信息。展开它可查看 ICMP 消息特有的详细信息,例如:n - 类型(8 为请求,0 为回复):指示数据包是请求还是回复。n - 代码:提供有关 ICMP 消息的其他信息。n - 校验和:用于验证 ICMP 消息的完整性。n - 标识符:有助于匹配请求和回复。n - 序列号:ICMP 数据包的顺序编号。n","need_verify":true,"has_solution":false},{"position":5,"title":"总结","layout":"doc-fullscreen","text":"## 总结nn在本实验中,你学习了如何安装和设置 Wireshark,这是一款功能强大的网络分析工具。你配置了非 root 用户安全捕获数据包的权限,启动了应用程序,并捕获了真实的网络流量。你还探索了界面,应用了针对特定流量类型的过滤器,并检查了跨不同协议层的数据包详细信息。nn这些技能为网络分析和故障排查奠定了坚实的基础。使用 Wireshark,你现在可以检查网络通信、诊断连接问题、分析协议行为,并识别网络流量中的安全隐患。n","need_verify":false,"has_solution":false}
来源:https://labex.io/zh/tutorials/wireshark-install-configure-and-analyze-network-traffic-with-wireshark-415947
上一篇网络安全实验中如何使用Docker搭建测试环境 下一篇如何使用Netcat搭建持久化服务器进行网络安全测试
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。