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

通过15张图带你掌握网络抓包工具Wireshark必备使用技巧

学习TCP/IP等网络协议时异常枯燥,因为网络问题看不见摸不着,很难深入理解其工作原理,而Wireshark正是将这些知识以一种网络数据包、可视化的形式呈现给大家,接下来博主带大家掌握Wireshark的必备技能!如有任何疑问,欢迎评论区留言~

工具首页

1. Wireshark简介

Wireshark是一款最流行和强大的免费开源数据包抓包与分析工具,它通过调用PCAP来抓取网卡上的上下行网络数据包,并且可以查看网络数据包详细信息。


Wireshark在网络安全与取证分析中发挥重大作用,作为一款网络数据嗅探与协议分析器,已经成为网络运行管理、网络故障诊断、网络应用开发与调试的必用工具。

2. 界面功能介绍

wireshark面板划分

wireshark有四个关键面板,具体功能介绍如下:

  • 1. 显示过滤器(Display Filter): 用于设置过滤条件进行数据包列表过滤;
  • 2. 数据包列表(Packet List): 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。 不同协议的数据包使用了不同的颜色区分显示。
  • 3. 数据包详细信息(Packet Details Pane): 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为
    • Frame:物理层的数据帧概况;
    • Ethernet II:数据链路层以太网帧头部信息;
    • Internet Protocol Version 4:网络层IP包头部信息;
    • Transmission Control Protocol:传输层TCP的数据段头部信息,此处是TCP;
    • Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议;
  • 4. 数据包字节(Packet Bytes):此面板显示了数据包原始字节信息,每行包含数据偏移量、十六个十六进制字节和十六个ASCII字节。不可打印的字节将替换为句点(“.”)。

3. 必知使用技巧

3.1. 两种方式启动数据包捕获

方式一:菜单栏选择『捕获(Capture)』->『选项(Options)』,设置要捕获的网络适配器,点击『开始』即可启动数据包捕获。

在这里插入图片描述

为了精确捕获需要的数据包,我们可在捕获过滤器中输入捕获表达式。假设我们想要仅捕获进出IP地址172.18.5.4的流量,对应表达式为:172.18.5.4

若想了解更多显示过滤器和捕获过滤器的语法和样例,可以参阅文末官方文档(附下载链接)。

注:捕获过滤器是提前设置好的过滤规则,只捕获符合过滤规则的报文,而先前介绍的显示过滤器是针对已经捕获的报文,过滤出符合过滤规则的报文。

方式二(推荐):在上述『捕获』菜单栏中进行的操作也可以在工具栏进行,我比较喜欢用此方式,方便快捷。

常用工具栏按钮

3.2. 双击数据包列表中的记录可快速查看数据包详情

双击每一行记录,可以在弹窗中查看数据包详细信息。

在这里插入图片描述
在这里插入图片描述

HTTP请求是『请求-响应』式的,需求查看对应请求的响应时,可以在选中的数据包条目上右键,选择Follow -> HTTP Stream
在这里插入图片描述

3.3. 通过数据包符号提示快速搞清数据包用途

数据包符号

不同的数据包符号含义不同,记住这些符号对应的含义可以更快捷的找到你要分析定位的数据包。

数据包符号含义对照

举例说明:如下图所示,选中357数据包后,356数据包前面出现✓,表明357是对356数据包的确认。

3.4. 熟悉数据包着色规则方便快速区分数据所属协议

数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏『View(视图)』–>『Coloring Rules(着色规则)』。

如下所示,可快速根据着色规则,筛选需要的数据。可以粗略地看到,黑色背景代表报文的各类错误,红色背景代表各类异常情景,其它颜色代表正常。

着色规则
比如黑色背景的Bad TCP:tcp.analysis.flags && !tcp.analysis.window_update代表了TCP解析出错,通常重传,乱序,丢包,重复响应都在此条规则的范围内。

由于篇幅有限,若想了解更多Wireshark使用技巧可以参阅如下官方文档:

  • Wireshark 用户操作指导手册 V4.5.0.pdf (共374页,访问密码: 6277)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解决职业摔跤手分类问题的算法与实现
  • MySQL 数据库管理与操作指南
  • 数据结构之“双向链表”
  • 海外合规|新加坡网络安全认证计划简介(一)
  • k8s集群的调度
  • 如何使用事件流相关操作
  • WHAT - React 函数与 useMemo vs useCallback
  • 打工人应了解的裁员大礼包法律知识
  • c++的面向过程与面向对象
  • HNU-2023电路与电子学-实验1
  • ruoyi-vue-pro快速修改的包名和选配功能板块
  • Python操作数据库的ORM框架SQLAlchemy快速入门教程
  • 运维领域的先进思想和趋势
  • timm从本地加载预训练模型
  • Docker 容器编排之 Docker Compose
  • Apache Spark Streaming 使用实例
  • Babel配置的不完全指南
  • CSS盒模型深入
  • CSS魔法堂:Absolute Positioning就这个样
  • jdbc就是这么简单
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS学习笔记——闭包
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Vue 重置组件到初始状态
  • 动态魔术使用DBMS_SQL
  • 读懂package.json -- 依赖管理
  • 给Prometheus造假数据的方法
  • 关于字符编码你应该知道的事情
  • 和 || 运算
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 【云吞铺子】性能抖动剖析(二)
  • 昨天1024程序员节,我故意写了个死循环~
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • $.each()与$(selector).each()
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (4)STL算法之比较
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (十三)Flask之特殊装饰器详解
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 常见的偏门问题
  • .net 程序发生了一个不可捕获的异常
  • .NET 事件模型教程(二)
  • .net6+aspose.words导出word并转pdf
  • .net专家(张羿专栏)
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • ??在JSP中,java和JavaScript如何交互?
  • [AI StoryDiffusion] 创造神奇故事,AI漫画大乱斗!
  • [Android Pro] AndroidX重构和映射