如何安装并使用 Wireshark
创始人
2024-03-02 00:28:15
0

wireshark-Debian-9-Ubuntu 16.04 -17.10

Wireshark 是自由开源的、跨平台的基于 GUI 的网络数据包分析器,可用于 Linux、Windows、MacOS、Solaris 等。它可以实时捕获网络数据包,并以人性化的格式呈现。Wireshark 允许我们监控网络数据包直到其微观层面。Wireshark 还有一个名为 tshark 的命令行实用程序,它与 Wireshark 执行相同的功能,但它是通过终端而不是 GUI。

Wireshark 可用于网络故障排除、分析、软件和通信协议开发以及用于教育目的。Wireshark 使用 pcap 库来捕获网络数据包。

Wireshark 具有许多功能:

  • 支持数百项协议检查
  • 能够实时捕获数据包并保存,以便以后进行离线分析
  • 许多用于分析数据的过滤器
  • 捕获的数据可以即时压缩和解压缩
  • 支持各种文件格式的数据分析,输出也可以保存为 XML、CSV 和纯文本格式
  • 数据可以从以太网、wifi、蓝牙、USB、帧中继、令牌环等多个接口中捕获

在本文中,我们将讨论如何在 Ubuntu/Debian 上安装 Wireshark,并将学习如何使用 Wireshark 捕获网络数据包。

在 Ubuntu 16.04 / 17.10 上安装 Wireshark

Wireshark 在 Ubuntu 默认仓库中可用,只需使用以下命令即可安装。但有可能得不到最新版本的 wireshark。

linuxtechi@nixworld:~$ sudo apt-get update
linuxtechi@nixworld:~$ sudo apt-get install wireshark -y

因此,要安装最新版本的 wireshark,我们必须启用或配置官方 wireshark 仓库。

使用下面的命令来配置仓库并安装最新版本的 wireshark 实用程序。

linuxtechi@nixworld:~$ sudo add-apt-repository ppa:wireshark-dev/stable
linuxtechi@nixworld:~$ sudo apt-get update
linuxtechi@nixworld:~$ sudo apt-get install wireshark -y

一旦安装了 wireshark,执行以下命令,以便非 root 用户也可以捕获接口的实时数据包。

linuxtechi@nixworld:~$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

在 Debian 9 上安装 Wireshark

Wireshark 包及其依赖项已存在于 debian 9 的默认仓库中,因此要在 Debian 9 上安装最新且稳定版本的 Wireshark,请使用以下命令:

linuxtechi@nixhome:~$ sudo apt-get update
linuxtechi@nixhome:~$ sudo apt-get install wireshark -y

在安装过程中,它会提示我们为非超级用户配置 dumpcap,

选择 yes 并回车。

Configure-Wireshark-Debian9

安装完成后,执行以下命令,以便非 root 用户也可以捕获接口的实时数据包。

linuxtechi@nixhome:~$ sudo chmod +x /usr/bin/dumpcap

我们还可以使用最新的源代码包在 Ubuntu/Debian 和其它 Linux 发行版上安装 wireshark。

在 Debian / Ubuntu 系统上使用源代码安装 Wireshark

首先下载最新的源代码包(写这篇文章时它的最新版本是 2.4.2),使用以下命令:

linuxtechi@nixhome:~$ wget https://1.as.dl.wireshark.org/src/wireshark-2.4.2.tar.xz

然后解压缩包,进入解压缩的目录:

linuxtechi@nixhome:~$ tar -xf wireshark-2.4.2.tar.xz -C /tmp
linuxtechi@nixhome:~$ cd /tmp/wireshark-2.4.2

现在我们使用以下命令编译代码:

linuxtechi@nixhome:/tmp/wireshark-2.4.2$ ./configure --enable-setcap-install
linuxtechi@nixhome:/tmp/wireshark-2.4.2$ make

最后安装已编译的软件包以便在系统上安装 Wireshark:

linuxtechi@nixhome:/tmp/wireshark-2.4.2$ sudo make install
linuxtechi@nixhome:/tmp/wireshark-2.4.2$ sudo ldconfig

在安装后,它将创建一个单独的 Wireshark 组,我们现在将我们的用户添加到组中,以便它可以与 Wireshark 一起使用,否则在启动 wireshark 时可能会出现 “permission denied(权限被拒绝)”错误。

要将用户添加到 wireshark 组,执行以下命令:

linuxtechi@nixhome:~$ sudo usermod -a -G wireshark linuxtechi

现在我们可以使用以下命令从 GUI 菜单或终端启动 wireshark:

linuxtechi@nixhome:~$ wireshark

在 Debian 9 系统上使用 Wireshark

Access-wireshark-debian9

点击 Wireshark 图标。

Wireshark-window-debian9

在 Ubuntu 16.04 / 17.10 上使用 Wireshark

Access-wireshark-Ubuntu

点击 Wireshark 图标。

Wireshark-window-Ubuntu

捕获并分析数据包

一旦 wireshark 启动,我们就会看到 wireshark 窗口,上面有 Ubuntu 和 Debian 系统的示例。

wireshark-Linux-system

所有这些都是我们可以捕获网络数据包的接口。根据你系统上的接口,此屏幕可能与你的不同。

我们选择 enp0s3 来捕获该接口的网络流量。选择接口后,在我们网络上所有设备的网络数据包开始填充(参考下面的屏幕截图):

Capturing-Packet-from-enp0s3-Ubuntu-Wireshark

第一次看到这个屏幕,我们可能会被这个屏幕上显示的数据所淹没,并且可能已经想过如何整理这些数据,但不用担心,Wireshark 的最佳功能之一就是它的过滤器。

我们可以根据 IP 地址、端口号,也可以使用来源和目标过滤器、数据包大小等对数据进行排序和过滤,也可以将两个或多个过滤器组合在一起以创建更全面的搜索。我们也可以在 “Apply a Display Filter(应用显示过滤器)”选项卡中编写过滤规则,也可以选择已创建的规则。要选择之前构建的过滤器,请单击 “Apply a Display Filter(应用显示过滤器)”选项卡旁边的旗帜图标。

Filter-in-wireshark-Ubuntu

我们还可以根据颜色编码过滤数据,默认情况下,浅紫色是 TCP 流量,浅蓝色是 UDP 流量,黑色标识有错误的数据包,看看这些编码是什么意思,点击 “View -> Coloring Rules”,我们也可以改变这些编码。

在我们得到我们需要的结果之后,我们可以点击任何捕获的数据包以获得有关该数据包的更多详细信息,这将显示该网络数据包的所有数据。

Wireshark 是一个非常强大的工具,需要一些时间来习惯并对其进行命令操作,本教程将帮助你入门。请随时在下面的评论框中提出你的疑问或建议。


via: https://www.linuxtechi.com/install-use-wireshark-debian-9-ubuntu/

作者:Pradeep Kumar 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

在CentOS系统中部署l...
在Linux系统,特别是CentOS环境下,进行网络数据包捕获与分...
2025-03-13 09:41:17
如何在CentOS中使用P...
网络故障排查是运维人员和开发者必备的基础技能,在CentOS系统中...
2025-03-07 06:51:32
DeepSeek再出王炸,...
2025年2月25日,人工智能领域再次迎来重大突破。中国AI公司D...
2025-02-26 16:49:03
不需要管理员权限的便携式W...
要使用不需要管理员权限的便携式Wireshark与Libpcap(...
2025-01-10 13:30:29
不同的数据包,联合 - 是...
“不同的数据包,联合”并不是一个正确的用法。在Java中,可以使用...
2025-01-08 19:00:16
不使用代理读取NEPack...
在NEPacketTunnelProvider中,可以通过实现NE...
2024-12-28 13:00:23

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...