使用 Wireshark 分析网络数据包的 10 个技巧
在任何分组交换网络中,数据包都是计算机之间传输的数据单元。网络工程师和系统管理员都有责任监控和检查数据包,以确保安全和排除故障。
为此,他们依靠称为网络数据包分析器的软件程序,Wireshark可能是最受欢迎和使用的,因为它用途广泛且易于使用。除此之外,Wireshark不仅允许您实时监控流量 ,还可以将其保存到文件中以供日后检查。
相关阅读:用于分析网络使用情况的最佳 Linux 带宽监控工具
在本文中,我们将分享 10 条有关如何使用Wireshark分析网络中数据包的技巧,并希望当您阅读到“摘要”部分时,您会倾向于将其添加到书签中。
在 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运行,您可以在Capture下选择要监控的网络接口:
在本文中,我们将使用eth0
,但您也可以根据需要选择其他选项。暂时不要点击界面 - 我们稍后会在查看一些捕获选项后点击它。
设置捕获选项
我们将考虑的最有用的捕获选项是:
- 网络接口- 正如我们之前所解释的,我们将只分析通过eth0传入或传出的数据包。
- 捕获过滤器——此选项允许我们指示我们想要通过端口、协议或类型监控哪种流量。
在我们继续介绍这些技巧之前,需要注意的是,一些组织禁止在其网络中使用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和技巧3ip.addr
,您可以在过滤规则中使用而不是ip.src
或ip.dst
。
提示#4——监控Apache和MySQL网络流量
有时,您会对检查符合任一(或两个)条件的流量感兴趣。例如,要监视 TCP 端口80(Web 服务器)和3306(MySQL/MariaDB 数据库服务器)上的流量,您可以OR
在捕获过滤器中使用条件:
tcp.port==80||tcp.port==3306
在技巧#2和#3中,||
和单词或产生相同的结果。&&
和单词和 也一样。
提示 #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是一款免费的开源软件,您可以在官方网站的常见问题解答部分看到。您可以在开始检查之前或之后配置捕获过滤器。
如果您没有注意到,过滤器具有自动完成功能,可让您轻松搜索最常用的选项,以后可以自定义。有了它,一切皆有可能!
与往常一样,如果您对本文有任何问题或意见,请随时通过下面的评论表给我们留言。