Wireshark 是教育机构和行业中用于网络协议分析的流行工具。 它提供终端和图形用户界面,两者都可以在 Fedora. 您可以将其用于实时网络分析或检查具有捕获流量的文件,例如 pcap 文件。
多年来,图形用户界面 (GUI) 的主要框架曾经是 GTK,但从 2.0 版开始,Qt 成为首选框架。 尽管如此,旧的 GUI 仍然可用,您可以选择要使用的 GUI。
如何安装
为了从存储库安装 Wireshark GUI,只需键入…
$ sudo dnf install wireshark-qt
…进入终端。 这将安装 Qt 和 CLI 版本的 Wireshark。 此时,您可以以 root 身份使用 Wireshark,但通常认为这是一种不好的做法。 因此,我们将为普通用户设置在网络接口上捕获的权限(请参阅下面的安全隐患)。
设置权限
在安装过程中,创建了一个名为 wireshark 的系统组。 该组中的用户可以捕获网络流量。 您需要做的就是将您的用户帐户添加到这样的组中,用您的用户名替换用户名:
$ sudo usermod -a -G wireshark username
然后注销并再次登录,您就可以开始了!
如何使用 Wireshark 捕获数据包
为了开始您的第一次捕获,请在顶部菜单中选择捕获,然后选择一个接口(例如环回)或只需勾选在所有接口上启用混杂模式选项并按开始按钮。 您现在应该看到网络流量。
如果您好奇这种特权升级是如何工作的,请查看 转储盖,这很神奇。
关于安全的讨论
每种权限提升机制都带有一定的风险。 正如我在上一节中所说, 转储盖 具有捕获网络流量的魔力。 为此,它需要具有某些特权(特别是 CAP_NET_RAW 和 CAP_NET_ADMIN,有关更多信息,请参阅 man 功能)。 话虽如此,dumpcap 可能会损害您的网络配置并导致严重的麻烦,因此请谨慎提供这些功能的人(您将其放入 wireshark 组)。
使用 Wireshark 时要记住的另一件事是,协议解析器往往是错误的,因为需要大量的协议和代码来解析它们。 以 C 文件中仅用于解析器的代码行数为例:
$ cat epan/dissectors/*.c | wc -l 3178870
如果要捕获实时流量,最好使用简单的捕获实用程序(tcpdump、dumpcap),然后在安全、隔离的环境中剖析流量。
看看还有什么 Fedora 优惠
dnf 不仅仅是安装和更新! 您还可以使用它来查找存储库中提供的其他内容。 使用搜索模块查找可用的包并过滤(使用 grep)那些以 wireshark 开头的包,因为这些是 主要的 Wireshark RPM 包.
$ dnf search wireshark | grep '^wireshark' wireshark.x86_64 : Network traffic analyzer wireshark-qt.x86_64 : Wireshark's Qt-based GUI wireshark-gtk.x86_64 : Wireshark's GTK+-based GUI wireshark-debuginfo.x86_64 : Debug information for package wireshark wireshark-devel.i686 : Development headers and libraries for wireshark wireshark-devel.x86_64 : Development headers and libraries for wireshark wireshark-cli.x86_64 : Network traffic analyzer wireshark-cli.i686 : Network traffic analyzer
从输出中可以看出,还可以使用基于 GTK+ 的 GUI。
安装多个 GUI 并在它们之间切换
如果您想尝试旧的 GTK+ GUI,请以与前一个类似的方式安装它。
$ sudo dnf install wireshark-gtk
现在你需要使用一个叫做alternatives的工具在它们之间切换:
$ sudo alternatives --config wireshark There are 2 programs which provide 'wireshark'. Selection Command ----------------------------------------------- *+ 1 /usr/sbin/wireshark-qt 2 /usr/sbin/wireshark-gtk Enter to keep the current selection[+], or type selection number: 2
现在,如果您运行 Wireshark,例如从 GNOME Shell,它将自动启动 GTK+ 版本。 无论如何,您总是可以直接从终端调用 wireshark-gtk 或 wireshark-qt。
进一步阅读
Wireshark 提供范围广泛的工具、过滤器、解析器等。您可以在 官方文档.
如前所述,还有一个名为 tshark 的 CLI 版本。 如果您需要远程运行网络分析,例如通过 SSH,它会很有用。 还有 tcpdump 可以以类似的方式使用,但那是另一篇文章了!
图片礼貌 胡安·迪内拉 – 最初发布到 不飞溅 作为 无标题.