Wireshark - 网络抓包工具截取并分析各种网络数据包

25-06-16 01:37 768 0

  Wireshark无疑是一款广受欢迎的网络封包分析软件,它能够截取并分析各种网络数据包,同时详细展示每个数据包的详细信息。这使得它成为开发测试过程中不可或缺的问题定位工具。作为全球使用最广泛的开源网络协议分析工具之一,Wireshark赋予了用户深入洞察网络流量的能力,可以实时捕获并解析网络数据包。对于网络管理员、安全工程师、开发人员以及网络技术爱好者而言,Wireshark是一个不可或缺的助手。

  Wireshark的核心功能包括以下几点:

  实时捕获网络数据包:能够随时获取当前网络中的传输数据。

  详细的协议解码:提供对各种网络协议深入且细致的解码分析。

  丰富的过滤功能:内置强大的过滤系统,可以快速筛选出用户关心的数据包。

  支持多种捕获文件格式:兼容多种格式的捕获文件,增强了工具的通用性。

  强大的统计分析工具:提供多样的统计功能,帮助用户全面理解网络活动。

  深度协议分析:支持对数百种协议进行深入解析,将复杂的网络数据转换为易于理解的形式,如HTTP、TCP/IP、DNS、SSL/TLS等。

  强大的过滤系统:具备显示过滤器和捕获过滤器,能够精准筛选出感兴趣的网络流量,极大地提高分析效率。

  跨平台支持:可在Windows、macOS、Linux等多个操作系统上运行,为用户提供一致的使用体验。

  图形化界面:拥有直观的图形用户界面,包含数据包列表、协议树和十六进制视图,多角度助力数据分析。

  丰富的统计功能:提供包括会话统计、协议分层统计、IO图表在内的多种统计工具,帮助用户快速掌握网络流量的特性。

  插件扩展:支持通过Lua脚本和插件扩展功能,用户可以根据自己的需求定制分析功能。

  这些功能使得Wireshark成为一个多面手,能够满足不同用户在网络分析中的各种需求。

        Wireshark官网:Wireshark - 网络抓包工具截取并分析各种网络数据包


  安装 Wireshark

  在这一步中,我们将在 Ubuntu 系统上安装 Wireshark。Wireshark 在默认的 Ubuntu 软件仓库中可用,这使得安装过程非常简单。

  首先,打开终端。在桌面上找到并打开 Xfce 终端。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  更新软件包列表,以确保我们拥有最新的可用软件信息。运行以下命令:

  注意:免费用户无法连接到互联网,因此 Wireshark 已在实验室环境中预安装。你可以跳到列表中的第 5 项(检查 Wireshark 是否已安装)。升级为专业用户 以自行安装 Wireshark。

sudo apt update

  现在我们的软件包列表已经是最新的了,接下来安装 Wireshark。输入以下命令:

sudo apt install wireshark -y

  在安装过程中,系统会询问你是否允许非超级用户捕获数据包。使用方向键选择 "Yes" 并按 Enter 键。这将允许你在不需要以 root 权限运行的情况下使用 Wireshark,这样更安全。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  安装完成后,通过检查 Wireshark 的版本来验证是否安装成功:

wireshark --version

  你应该会看到显示 Wireshark 版本号的输出。

  为了确保你拥有捕获数据包所需的权限,将你的用户添加到 wireshark 组中:

  首先,检查 wireshark 组是否存在:

getent group wireshark

  如果 wireshark 组不存在,使用以下命令创建该组:

sudo groupadd wireshark

  默认情况下,Wireshark 以非 root 权限运行,这可能会限制其从某些接口或协议捕获数据包的能力。为了赋予 Wireshark 使用 Dumpcap(一个随 Wireshark 一起安装的工具)所需的权限,请使用以下命令:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a $USER wireshark

  恭喜!你已经安装了网络分析师工具包中最强大的工具之一。


  捕获网络流量

  现在我们已经安装了 Wireshark,接下来让我们捕获一些网络流量。这就像设置一张网,捕捉流经我们网络接口的所有数据包。

  在终端中输入 wireshark 并按 Enter 键打开 Wireshark。

  当 Wireshark 打开时,你会看到一个网络接口列表。寻找标有 "eth0" 或 "eth1" 的接口——这些通常是主要的网络接口。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  双击接口以开始捕获数据包。你会看到主窗口中开始出现数据包流。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  让我们生成一些流量来捕获。打开一个新的终端窗口并输入以下命令:

curl http://example.com

  该命令将获取 example.com 的网页,生成一些 HTTP 流量。

  捕获几秒钟后,点击 Wireshark 窗口顶部的红色“停止”按钮以停止捕获。

  你刚刚捕获了第一批网络流量!捕获中的每一行代表一个数据包——通过网络发送的小数据单元。

  要将此捕获保存以供后续分析,请转到 文件 > 保存,并将文件保存为 myfirstcapture.pcapng,保存到你的主目录中(/home/labex)。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  捕获网络流量的过程是网络分析的基础。在接下来的步骤中,我们将学习如何理解这些数据。


  分析数据包

  现在我们已经捕获了一些网络流量,接下来让我们深入数据,看看能学到什么。

  在 Wireshark 中打开你保存的捕获文件,方法是转到 文件 > 打开,然后从主目录中选择 myfirstcapture.pcapng。或者,双击文件直接打开。

  在顶部窗格中,你会看到所有捕获的数据包列表。每一行代表一个数据包,并包含诸如源 IP 地址、目标 IP 地址、使用的协议以及简要信息字段等内容。

  点击一个数据包以选中它。在中间窗格中,你会看到数据包详细信息被分解为不同的协议层。这就像剥洋葱一样——每一层都揭示了数据包的更多信息。

  让我们查找 HTTP 流量(网页浏览)。在窗口顶部的过滤器栏中输入 http 并按 Enter 键。这将仅显示 HTTP 数据包。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  找到一个在信息字段中包含 "GET" 的数据包。这表示对网页的请求。点击它以查看详细信息。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  在数据包详细信息窗格(中间)中,展开 "Hypertext Transfer Protocol" 部分。在这里,你可以看到有关 HTTP 请求的详细信息,包括请求的特定页面。

  现在,让我们查找服务器的响应。找到一个在信息字段中包含 "HTTP/1.1 200 OK" 的数据包。这表示来自 Web 服务器的成功响应。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  检查此数据包的详细信息。你可能会在 "Line-based text data" 部分看到网页的内容。

  这种分析过程对于理解网络行为至关重要。这就像阅读对话日志——你可以看到谁在和谁交谈、他们在说什么以及他们是如何说的。


  使用过滤器

  Wireshark 的真正强大之处在于它能够快速过滤和分析大量网络数据。在这一步中,我们将学习如何使用过滤器来专注于特定类型的流量。

  在 Wireshark 中打开你的捕获文件后,让我们从使用一些简单的显示过滤器开始:

  要仅显示 TCP 流量,在过滤器栏中输入 tcp 并按 Enter 键。

  要显示与特定 IP 地址相关的流量,输入 ip.addr == 93.184.215.14(这是 example.com 的 IP 地址,但你可以将其替换为你捕获中看到的任何 IP 地址)。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  要显示所有 HTTP GET 请求,输入 http.request.method == "GET"。

  让我们创建一个更复杂的过滤器。我们将查找所有对 example.com 的 HTTP GET 请求:

  在过滤器栏中输入:http.request.method == "GET" && http.host contains "example.com"

Wireshark - 网络抓包工具截取并分析各种网络数据包

  此过滤器显示所有对包含 "example.com" 的域名的 GET 请求。

  Wireshark 还允许你保存过滤器以供以后使用。让我们保存我们的 HTTP GET 过滤器:

  点击过滤器栏旁边的加号("+")。

  将过滤器命名为 "HTTP GETs" 并点击保存。

  现在你可以通过从保存的过滤器列表中选择它来快速应用此过滤器。

  最后,让我们导出一些发现。转到 统计 > HTTP > 请求,然后点击 "另存为" 将 HTTP 请求列表导出到文件。

  选择 /home/labex 并将文件保存为 http_requests.txt。

Wireshark - 网络抓包工具截取并分析各种网络数据包

  通过这种方式使用过滤器,你可以快速筛选大量网络数据并专注于重要内容。这就像拥有一个超级放大镜,可以立即显示特定类型的网络流量。


分享
收藏

发表我的评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~