网站搜索

关于如何使用 Wireshark 分析网络数据包的 10 个技巧


在任何数据包交换网络中,数据包代表计算机之间传输的数据单元。网络工程师和系统管理员有责任监视和检查数据包,以实现安全和故障排除目的。

为此,他们依赖于称为网络数据包分析器的软件程序,其中 Wireshark 由于其多功能性和易用性而可能是最受欢迎和使用最多的软件程序。除此之外,Wireshark 不仅可以让您实时监控流量,还可以将其保存到文件中以供以后检查。

相关阅读:用于分析网络使用情况的最佳 Linux 带宽监控工具

在本文中,我们将分享有关如何使用 Wireshark 分析网络中的数据包的 10 个技巧,并希望当您到达“摘要”部分时,您会愿意将其添加到您的书签中。

在 Linux 中安装 Wireshark

要安装Wireshark,请从 https://www.wireshark.org/download.html 选择适合您的操作系统/体系结构的安装程序。

特别是,如果您使用的是 Linux,则必须可以直接从您的发行版存储库中获取 Wireshark,以便在您方便时更轻松地进行安装。尽管版本可能有所不同,但选项和菜单应该相似——即使不是完全相同。

------------ On Debian/Ubuntu based Distros ------------ 
sudo apt-get install wireshark

------------ On CentOS/RHEL based Distros ------------
sudo yum install wireshark

------------ On Fedora 22+ Releases ------------
sudo dnf install wireshark

Debian 及其衍生版本中存在一个已知错误,除非您使用 sudo 启动 Wireshark,否则可能会阻止列出网络接口。要解决此问题,请遵循本文中接受的答案。

Wireshark 运行后,您可以在捕获下选择要监控的网络接口:

在本文中,我们将使用 eth0,但您可以根据需要选择其他一个。先不要点击界面——我们稍后会在审查了一些捕获选项后点击该界面。

设置捕捉选项

我们将考虑的最有用的捕获选项是:

  1. 网络接口 – 正如我们之前所解释的,我们只会分析通过 eth0 传入或传出的数据包。
  2. 捕获过滤器 – 此选项允许我们指示要按端口、协议或类型监控的流量类型。

在我们继续使用提示之前,请务必注意,某些组织禁止在其网络中使用 Wireshark。也就是说,如果您不将 Wireshark 用于个人目的,请确保您的组织允许其使用。

目前,只需从下拉列表中选择eth0,然后单击按钮上的开始即可。您将开始看到通过该接口的所有流量。由于检查的数据包数量很大,对于监控目的来说并不是很有用,但它是一个开始。

在上图中,我们还可以看到用于列出可用接口、停止当前捕获以及重新启动图标(红色框在左侧),并配置和编辑过滤器(红色框在右侧)。当您将鼠标悬停在这些图标之一上时,将显示一个工具提示以指示其功能。

我们将首先说明捕获选项,而提示#7#10将讨论如何通过捕获实际做一些有用的事情。

提示 #1 – 检查 HTTP 流量

在过滤框中输入 http,然后单击应用。启动浏览器并转到您想要的任何网站:

要开始每个后续提示,请停止实时捕获并编辑捕获过滤器。

提示 #2 – 检查来自给定 IP 地址的 HTTP 流量

在这个特定的技巧中,我们将在过滤器节前面添加 ip==192.168.0.10&& 来监视本地计算机和 192.168.0.10 之间的 HTTP 流量:

技巧 #3 – 检查到给定 IP 地址的 HTTP 流量

#2密切相关,在本例中,我们将使用ip.dst作为捕获过滤器的一部分,如下所示:

ip.dst==192.168.0.10&&http

要结合提示#2#3,您可以在过滤规则中使用ip.addr而不是ip.src或<代码>ip.dst。

技巧 #4 – 监控 Apache 和 MySQL 网络流量

有时,您可能有兴趣检查与其中一个(或两个)条件匹配的流量。例如,要监控 TCP 端口 80(网络服务器)和 3306(MySQL/MariaDB 数据库服务器)上的流量,您可以使用 OR 条件在捕获过滤器中:

tcp.port==80||tcp.port==3306

在提示#2#3 中,|| 和单词or 产生相同的结果。与 && 和单词 and 相同。

技巧 #5 – 拒绝发送至给定 IP 地址的数据包

要排除与过滤规则不匹配的数据包,请使用 ! 并将规则括在括号内。例如,要排除源自或定向到给定 IP 地址的包,您可以使用:

!(ip.addr == 192.168.0.10)

提示 #6 – 监控本地网络流量 (192.168.0.0/24)

以下过滤规则将仅显示本地流量,并排除进出互联网的数据包:

ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24

技巧 #7 – 监控 TCP 会话的内容

要检查 TCP 对话(数据交换)的内容,请右键单击给定数据包并选择“跟随 TCP 流”。将弹出一个窗口,其中包含对话内容。

如果我们正在检查网络流量,这将包括 HTTP 标头,以及在此过程中传输的任何纯文本凭据(如果有)。

提示 #8 – 编辑着色规则

现在我确信您已经注意到捕获窗口中的每一行都是彩色的。默认情况下,HTTP 流量以黑色文本显示在绿色背景中,而校验和错误以红色文本显示具有黑色背景。

如果您想更改这些设置,请单击编辑着色规则图标,选择给定的过滤器,然后单击编辑

提示 #9 – 将捕获保存到文件中

保存捕获的内容将使我们能够更详细地检查它。为此,请转到文件→导出并从列表中选择导出格式:

技巧 #10 – 练习捕获样本

如果您认为您的网络“无聊”,Wireshark 提供了一系列示例捕获文件,您可以使用它们来练习和学习。您可以下载这些 SampleCaptures 并通过文件→导入菜单导入它们。

概括

Wireshark是免费的开源软件,您可以在官方网站的常见问题解答部分看到。您可以在开始检查之前或之后配置捕获过滤器。

如果您没有注意到,该过滤器具有自动完成功能,可让您轻松搜索最常用的选项,以便稍后进行自定义。如此一来,天空就是极限!

与往常一样,如果您对本文有任何疑问或意见,请随时使用下面的评论表给我们留言。