当前位置: 首页 > article >正文

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


http://www.kler.cn/a/445053.html

相关文章:

  • 【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析
  • 重拾设计模式--模板方法模式
  • ip地址和网络号关系是什么
  • C缺陷与陷阱 — 8 编译与链接
  • 功能篇:JAVA8实现数据去重
  • 2025erp系统开源免费进销存系统搭建教程/功能介绍/上线即可运营软件平台源码
  • 实用技巧:在Windows中查找用户创建记录
  • Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导
  • 【MFC】多工具栏如何保存状态
  • jmeter 接口性能测试 学习笔记
  • 堆栈粉碎的原理与预防攻击措施
  • OpenAI 宕机思考|Kubernetes 复杂度带来的服务发现系统的风险和应对措施
  • 可编辑46PPT | AI+智能中台企业架构设计_重新定义制造
  • 【Springboot知识】Redis基础-springboot集成redis相关配置
  • 海量数据库使用操作
  • 管理图像标注工具labelimg的默认标签以提高标注效率
  • uniapp对接unipush 1.0 ios/android
  • C++Primer 注释简介
  • Django 提供的会话(Session)相关的设置说明
  • jenkins针对大文件进行拉取
  • flask before_request 请求拦截器返回无值则放行,有值则拦截
  • 【VUE】14、VUE项目如何自动识别服务端是否发布了新版本
  • Redis 突然变慢了如何排查并解决?
  • Spring Boot实现OAuth2.0登录实战
  • Flutter组件————BottomNavigationBar
  • vue2 - Day03 - (生命周期、组件、组件通信)