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

简述

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 使用的深入,你将能够更好地进行网络诊断、性能优化和安全分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/939985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

100个问题学langchain入门(2/10)

问题 11 在 LangChain 中,如何将文档转化为向量以存储到 Vectorstore 中?具体使用了哪些技术或工具? 在 LangChain 中,将文档转化为向量以存储到 Vectorstore 中,主要通过以下步骤和技术完成: 转化流程&a…

C#winform引入DLL,DLL嵌入exe

C#winform将DLL嵌入exe 1 项目引入DLL1.1 项目-鼠标右击-点击添加引用;1.2 点击“浏览”;1.3 添加选中DLL1.4 勾选引入的DLL,点击“确定”1.5 添加成功后 2 DLL嵌入exe2.1 打开引入DLL属性窗口2.2 将“复制本地”项设为“false”2.3 双击打开…

828华为云征文 | 华为云Flexus云服务器X实例搭建企业内部VPN私有隧道,以实现安全远程办公

VPN虚拟专用网络适用于企业内部人员流动频繁和远程办公的情况,出差员工或在家办公的员工利用当地ISP就可以和企业的VPN网关建立私有的隧道连接。 通过拨入当地的ISP进入Internet再连接企业的VPN网关,在用户和VPN网关之间建立一个安全的“隧道”&#xff…

wxpyton+wxFormBuilder加法运算示例

wxpythonwxFormBuilder加法运算示例 在wxFormBuilder里设计一个窗体,生成如下代码:calc_From.py 放在lib文件夹下面 import gettext import wx import wx.xrc _ gettext.gettext class MyFrame1(wx.Frame):def __init__(self, parent):wx.Frame.__init…

【AI驱动的数据结构:包装类的艺术与科学】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 包装类装箱和拆箱阿里巴巴面试题 包装类 在Java中基本数据类型不是继承来自Object,为了…

springBoot Maven 剔除无用的jar引用

目录 Used undeclared dependencies found Unused declared dependencies found 当项目经过一段时间的开发和维护后,经常会遇到项目打包速度变慢的问题。这通常与项目中包含大量的jar依赖有关,这些依赖之间的关系错综复杂。这种情况在项目维护过程中是…

电脑玩《刺客信条》时中,遇到找不到d3dx9_42.dll的问题是什么原因?缺失d3dx9_42.dll应该怎么解决呢?下面一起来看看吧!

电脑玩《刺客信条》时,找不到d3dx9_42.dll的原因及解决办法 对于许多热爱《刺客信条》这款游戏的玩家来说,在游戏中遇到找不到d3dx9_42.dll的问题无疑是非常令人头疼的。这一错误不仅会导致游戏无法启动,还可能引发运行过程中的图形错误、卡…

【CSS in Depth 2 精译_083】13.3:CSS 混合模式的用法及相关注意事项 + 13.4:本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 13 章 渐变、阴影与混合模式】 ✔️ 13.1 渐变 13.1.1 使用多个颜色节点(上)13.1.2 颜色插值方法(中)13.1.3 径向渐变…

环境变量的知识

目录 1. 环境变量的概念 2. 命令行参数 2.1 2.2 创建 code.c 文件 2.3 对比 ./code 执行和直接 code 执行 2.4 怎么可以不带 ./ 2.4.1 把我们的二进制文件拷贝到 usr/bin 路径下,也不用带 ./ 了 2.4.2 把我们自己的路径添加到环境变量里 3. 认识PATH 3.…

Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon

文章目录 Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon什么是 Swap?主要命令介绍1. mkswap2. mkfs.swap3. swapon 创建和管理 Swap 的步骤1. 创建 Swap 分区2. 初始化 Swap3. 激活 Swap4. 持久化配置5. 查看 Swap 状态 删除 Swap 分区或文件1. 停用 Swap2. 删…

模具生产过程中的标签使用流程图

①NFC芯片嵌入周转筐,通过读卡器读取CK_Label_v3的数据,并将这些信息上传至服务器进行存储; ②服务器随后与客户的WMS(仓库管理系统)进行交互,记录和同步注塑机的原始数据; ③当周转筐内的模具…

自己搭建专属AI:Llama大模型私有化部署

前言 AI新时代,提高了生产力且能帮助用户快速解答问题,现在用的比较多的是Openai、Claude,为了保证个人隐私数据,所以尝试本地(Mac M3)搭建Llama模型进行沟通。 Gpt4all 安装比较简单,根据 G…

【笔记】深度学习模型评估指标

推荐链接: (0)多分类器的评价指标 (1)泛化误差的评价方法:【机器学习】模型评估与选择(留出法、交叉验证法、查全率、查准率、偏差、方差) (2)机器学习&…

前端实现页面自动播放音频方法

前端实现页面视频在谷歌浏览器中自动播放音频方法 了解Chrome自动播放策略 在Chrome和其他现代浏览器中,为了改善用户体验,自动播放功能受到了限制。Chrome的自动播放策略主要针对有声音的视频,目的是防止页面在用户不知情的情况下自动播放声…

MinCostMaxFlow-Graph Algorithm

lab要求如下: 1.代码实现思路 图的构建 使用邻接表 adjacencyList 来存储图的结构,每个节点对应一个列表,列表中存储从该节点出发的所有边。 通过 addEdge 方法添加有向边及其反向边,同时设置正向边和反向边的相互引用。 最小费…

简单工厂模式和策略模式的异同

文章目录 简单工厂模式和策略模式的异同相同点:不同点:目的:结构: C 代码示例简单工厂模式示例(以创建图形对象为例)策略模式示例(以计算价格折扣策略为例)UML区别 简单工厂模式和策…

欢迎 PaliGemma 2 – 来自 Google 的新视觉语言模型

我们很高兴迎来 Google 全新的视觉语言模型 PaliGemma 2,这是 PaliGemma 的一个新版本。与其前代产品一样,PaliGemma 2 使用强大的SigLIP进行视觉处理,但在文本解码部分升级到了最新的 Gemma 2。 https://hf.co/collections/google/siglip-65…

Django基础 - 01入门简介

一、 基本概念 1.1 Django说明 Django发布于2005年, 网络框架, 用Python编写的开源的Web应用框架。采用了MVC框架模式,也称为MTV模式。官网: https://www.djangoproject.com1.2 MVC框架 Model: 封装和数据库相关…

华为OD --- 敏感字段加密

华为OD --- 敏感字段加密 题目独立实现思路源码实现 参考实现 题目 独立实现 思路 通过便利字符串把所有“关键字”找出来,然后将第N个关键字替换成******,最后再通过 “_” 拼接起来即可 源码实现 const rl require("readline").createInterface({ input: proce…

WebRTC服务质量(05)- 重传机制(02) NACK判断丢包

WebRTC服务质量(01)- Qos概述 WebRTC服务质量(02)- RTP协议 WebRTC服务质量(03)- RTCP协议 WebRTC服务质量(04)- 重传机制(01) RTX NACK概述 WebRTC服务质量(…