如何使用 Wireshark:从入门到进阶的网络分析工具

embedded/2024/12/26 21:01:54/

简述

Wireshark 是全球最受欢迎的网络协议分析工具,它帮助用户捕获和分析网络流量,诊断网络问题,排查安全漏洞,甚至恢复丢失的数据文件。作为一名网络工程师、安全专家、甚至是开发者,Wireshark 都是你必须掌握的工具之一。无论你是网络分析的初学者,还是有一定经验的用户,Wireshark 都能为你提供强大的支持。

本文将详细介绍如何使用 Wireshark,包括如何安装、捕获网络流量、分析数据包以及进阶技巧等。

 

安装 Wireshark

Wireshark 可在多个平台(Windows、macOS、Linux)上运行。以下是安装步骤:

在 Windows 上安装

1. 访问 Wireshark 官网:Wireshark · Download(https://www.wireshark.org/download.html)
2. 下载 Windows 安装包(通常是.exe文件)。

其中有个Windows x64 PortableApps,表示的是便携式轻量级的应用程序,它不需要走安装流程,可以直接使用。允许您在包含应用程序和设置的计算机之间移动,从而方便移动的用户。


3. 运行安装程序,按提示完成安装。安装过程中,你可以选择是否安装 WinPcap 或 Npcap,这两者是捕获数据包所需的驱动程序,通常选择默认即可。
4. 安装完成后,启动 Wireshark。

在 Linux 上安装

1. Wireshark 通常可以通过 Linux 发行版的包管理器安装,例如:
        Ubuntu/Debian 系统:sudo apt-get install wireshark
        CentOS/RHEL 系统:sudo yum install wireshark


2. 安装时,确保你有足够的权限进行捕获操作,可能需要将当前用户添加到 wireshark 组中,允许普通用户进行网络数据捕获。

安装完成后,你就可以开始使用 Wireshark 进行网络分析了。

启动和界面概览

启动 Wireshark 后,界面会显示一些主要部分:

菜单栏:包含文件管理、编辑、视图、捕获、分析等功能。
工具栏:显示常用的操作按钮,如开始捕获、停止捕获、暂停捕获等。
捕获列表(Packet List):显示当前捕获的网络数据包,包括源地址、目标地址、协议、长度等信息。
包详情(Packet Details):选中某个数据包后,显示该包的详细信息,包括各层协议的具体字段。
包字节(Packet Bytes):显示选中数据包的原始字节内容,通常以十六进制和 ASCII 字符显示。

Wireshark 采用三窗格布局:捕获列表、包详情、包字节。这种布局帮助你从不同层面进行网络数据分析。

捕获网络流量

Wireshark 的核心功能是捕获和分析网络流量。要开始捕获,你需要选择一个网络接口并开始数据包捕获。

捕获数据包

1. 选择网络接口:启动 Wireshark 后,在首页会列出你计算机上可用的网络接口(例如 WLAN、以太网等)。选择一个接口,双击即可开始捕获数据包。
2. 开始捕获:点击工具栏上的 开始捕获分组 按钮,Wireshark 会开始捕获并显示流量。你会看到捕获的数据包会实时显示在捕获列表中。
3. 停止捕获:要停止捕获数据包,点击 停止捕获分组 按钮。此时 Wireshark 会停止捕获,但仍然保留捕获到的数据供你分析。

捕获过滤器

Wireshark 提供了过滤器功能,帮助你在捕获时只关注特定的流量。你可以设置 捕获过滤器 来过滤指定协议、IP 地址、端口等流量,减少捕获的数据量。常见的捕获过滤器有:

host 192.168.1.1:捕获与指定 IP 地址通信的所有流量。
port 80:捕获所有通过端口 80(HTTP)的流量。
tcp:捕获所有 TCP 协议的流量。

在 Wireshark 启动前设置捕获过滤器,有助于让你更精确地捕获需要的数据。

实时查看捕获的数据包

在捕获过程中,Wireshark 会实时更新捕获列表,显示每个数据包的基本信息,包括:

  • No.:数据包的编号。
  • Time:数据包捕获的时间。
  • Source 和 Destination:数据包的源和目标 IP 地址。
  • Protocol:数据包所使用的协议(例如 TCP、UDP、ICMP 等)。
  • Length:数据包的大小。
  • Info:简要的协议描述信息。

你可以点击列表中的任意数据包,查看该数据包的详细信息。

分析数据包

Wireshark 提供了强大的数据包分析功能,让你可以深入查看每个捕获数据包的各个层次。

包详情

选中某个数据包后,包详情区域会显示该数据包的详细信息,包括数据链路层、网络层、传输层、应用层等各个协议的字段。例如:

  • 以太网帧:源 MAC 地址、目标 MAC 地址等。
  • IP 层:源 IP 地址、目标 IP 地址、协议类型(TCP/UDP/ICMP)等。
  • TCP/UDP 层:源端口、目标端口、序列号、确认号等。
  • 应用层:如 HTTP 请求的 URL、HTTP 响应码等。

包字节

包字节区域显示数据包的原始字节内容。它会以十六进制的形式显示每个字节,并且会高亮显示可打印的 ASCII 字符。这个区域对于深入分析协议的底层数据非常有用。

使用显示过滤器

Wireshark 提供了非常强大的显示过滤器功能,帮助你快速筛选出感兴趣的网络流量。例如:

http:只显示 HTTP 流量。
ip.addr == 192.168.1.1:只显示与 IP 地址 192.168.1.1 相关的流量。
tcp.port == 443:显示通过端口 443(HTTPS)传输的流量。

你可以在 Wireshark 窗口顶部的显示过滤器栏中输入过滤条件,Wireshark 会实时更新显示结果。

导出对象

Wireshark 可以从捕获的数据包中提取并导出特定的文件对象。例如,你可以导出通过 HTTP 协议传输的网页图片,或者通过 FTP 协议传输的文件。这对于数据恢复和安全分析非常有用。导出文件的方法为:

1. 在菜单中选择 文件 > 导出对象。
2. 选择相应的协议(例如 HTTP、FTP)并查看可以导出的文件。
3. 选择文件并保存。

详细过程请看文章:

使用Wireshark导出数据包中的文件-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/u011186532/article/details/144586379?spm=1001.2014.3001.5501

进阶功能

使用统计工具

Wireshark 提供了强大的统计工具,帮助用户进行流量分析。常见的统计功能包括:

协议分级(Protocol Hierarchy):显示协议的分布情况,帮助你了解网络中最常见的协议。

会话(Conversations):查看不同主机之间的通信会话,分析流量模式。

IO图表(IO Graphs):生成网络流量的时间图,帮助你了解网络流量的变化趋势。

你可以在 统计(Statistics) 菜单中找到这些工具。

捕获文件的保存与分析

Wireshark 支持将捕获的数据保存为 .pcap 或 .pcapng 格式,供以后分析或分享。点击 文件 > 另存为 保存捕获的文件。在之后的分析中,你可以重新加载这些文件,继续深入分析。

总结

Wireshark 是一个功能强大的网络分析工具,它可以帮助你捕获、分析和诊断网络流量。通过本文的介绍,你应该对 Wireshark 的基础操作有了初步了解,掌握了如何捕获流量、分析数据包、使用过滤器等常用功能。随着对 Wireshark 使用的深入,你将能够更好地进行网络诊断、性能优化和安全分析。


http://www.ppmy.cn/embedded/148995.html

相关文章

WPF制作图片闪烁的自定义控件

1.定义自定义控件 BlinkingImage.cs: using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media.Animation; using System.Windows.Media.Imaging;namespace YourNamespace {public class BlinkingImage : Control{public static rea…

LeetCode 3218.切蛋糕的最小总开销 I:记忆化搜索(深度优先搜索DFS)

【LetMeFly】3218.切蛋糕的最小总开销 I:记忆化搜索(深度优先搜索DFS) 力扣题目链接:https://leetcode.cn/problems/minimum-cost-for-cutting-cake-i/ 有一个 m x n 大小的矩形蛋糕,需要切成 1 x 1 的小块。 给你整数 m ,n 和…

计算机网络:运输层 —— TCP 的选择确认(SACK)

文章目录 TCP 的选择确认协商与启用工作机制接收方发送方 TCP 的选择确认 在 TCP 传输过程中,由于网络拥塞、链路故障等因素,数据可能会出现丢失或乱序的情况。传统的 TCP 确认机制是累积确认,TCP 接收方只能对按序收到的数据中的最高序号给…

MongoDB部署高可用集群

一、准备工作 修改3台服务器的hostname为mongodb0、mongodb1和mongodb2 vim /etc/hostname vim /etc/hosts 分别配置3个节点的域名 10.5.30.19 mongodb0 10.5.30.14 mongodb1 10.5.30.18 mongodb2关闭防火墙下载mongodb安装包并解压:mongod…

arcface

GitHub - bubbliiiing/arcface-pytorch: 这是一个arcface-pytorch的源码,可以用于训练自己的模型。 https://github.com/deepinsight/insightface/tree/master/recognition/arcface_torch 参考博客 Arcface部署应用实战-CSDN博客 https://zhuanlan.zhihu.com/p/16…

威尔克斯(Wilks)分布

内容来源 应用多元统计分析 北京大学出版社 高惠璇编著 威尔克斯 Λ \Lambda Λ 分布 回顾一元统计中的 F F F 分布 设 ξ ∼ χ 2 ( m ) , η ∼ χ 2 ( n ) \xi\sim\chi^2(m),\eta\sim\chi^2(n) ξ∼χ2(m),η∼χ2(n),且相互独立,则 F ξ / m η…

游戏引擎学习第59天

回顾并计划接下来的一天 在处理实体的空间划分时,遇到了一些问题。例如,虽然树和玩家应该在某些情况下被排除在外,但目前的系统仍然会出现不合逻辑的渲染结果,这在视觉上并不符合预期。尽管这些问题主要是渲染上的,并…

nacos-服务发现注册

服务发现注册分为三个角色:服务注册中心、服务提供者、服务消费者 服务注册中心:为服务提供者和消费者提供一个空间,服务提供者将自身服务注册到注册中心,仅对外暴露接口,服务消费者在将自身注册到注册中心的时候也会获…