吃透 Wireshark 抓包分析:网络协议、数据解码全解析,成为技术硬手
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
介绍网络协议网络协议是网络通信的基础规则,定义了数据如何在网络中传输。Wireshark 通过解码这些协议,如 TCP、UDP、HTTP 等,帮助分析网络通信的细节。理解网络协议有助于诊断网络问题,优化性能,并确保数据传输的安全。掌握 Wireshark 的解码功能,可以深入洞察数据包的结构和内容,从而成为网络问题的专家。 数据解码数据解码是 Wireshark 的核心功能之一,它将捕获的二进制数据转换为人类可读的形式。通过解码不同的数据字段,如源/目标 IP 地址、端口号、数据负载等,用户可以快速理解网络通信的上下文。熟练使用数据解码功能,不仅能够帮助识别网络问题,还能揭示隐藏的安全威胁,是网络分析和故障排除的关键技能。 抓包分析抓包分析是通过捕获网络数据包来诊断和分析网络问题的过程。Wireshark 提供了强大的抓包和过滤功能,使用户能够从海量的网络数据中筛选出关键信息。通过抓包分析,可以追踪数据包的传输路径,识别延迟和丢包问题,甚至发现网络攻击。掌握抓包分析技术,是提升网络故障排查能力和网络安全防护水平的重要手段。 流程1.初次抓包通过双击目标网关的方式,可以启动对网络数据包的捕获操作。 ![]() 上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下:
在Packet Details面板中:
![]() ![]() ![]() ![]() ![]() ![]() 2.捕获选项设置点击 捕获-->选项,取消勾选“在所有接口上使用混杂模式”,为了方便后续的抓包分析并排除干扰项,您可以选择安装自己所需的网卡,比如WLAN,然后点击确认完成此操作;当然,此步骤并非强制执行,您可以根据个人需求来决定是否执行。 ![]() 3.抓包分析ARP (Address Resolution Protocol)协议,即地址解析协议。该协议的功能就是将IP地址解析成MAC地址。 接下来,我们可以通过命令提示符(cmd)来执行ping操作,向一个指定的IP地址发送数据包。为了便于测试网络的连通性,我们通常建议选择同一局域网内的IP地址进行测试。但在此示例中,为了展示如何使用该命令,我们将以ping www.douyin.com 为例进行操作,具体步骤如下: ![]() Wireshark中arp协议的解析: ![]() ![]() ![]() ![]() 4.IP协议抓包分析互联网协议IP是Internet Protocol的缩写,中文缩写为“网协”。IP协议是位于OSI模型中第三层的协议,其主要目的就是使得网络间能够互联通信。前面介绍了ARP协议,该协议用在第二层处理单一网络中的通信。与与此类似,第三层在功能上承担着跨网络通信地址的管理职责。在这一层级中,多种协议并行工作,其中最为广泛使用且至关重要的协议便是互联网协议(IP)。 ![]() 在Wireshark中,我们已经成功捕获了相当数量的数据包,接下来可以通过应用过滤器 ![]() ip协议抓包分析 ![]() 在所述内容中,Internet Control Message Protocol 通常被称为 ICMP 协议,用于描述相关的协议数据包信息。 ![]() ![]() 5.TCP协议抓包分析TCP (Transmission Control Protocol,传输控制协议)它是一种以连接为导向、具备高度可靠性以及基于IP协议的传输层协议。其核心宗旨在于为数据传输建立可靠的端到端通道。TCP协议在RFC793文档中被详细规定,并且在OSI参考模型中运行于第四层。该协议不仅能够有效管理数据的传输顺序,还能够执行错误恢复机制,最终确保数据能够准确无误地送达目的地。但是,该协议的过程比较复杂。 TCP三次握手 ![]() 1.第一次握手 (1)服务器收到了客户端的请求,向客户端回复一个确认信息(Ack=x+1)。 3.第三次握手 TCP四次挥手 ![]() 为了捕获网络数据包,我们首先需要启动Wireshark软件。如果初始状态下没有数据显示任何数据包,可以通过在浏览器中加载一个网页来触发数据流。例如,可以访问百度首页,点击新闻分类下的某个链接以打开一个新闻页面,随后关闭该页面。此时,在Wireshark中应该能够捕获到大量的网络数据。为了更精确地查看HTTP相关的数据,可以在Wireshark的过滤器栏中输入"http"作为过滤条件。 ![]() 选中一个http记录,右键—>追踪—>tcp流,即可看到一个完整的tcp三次握手。 ![]() 完整的TCP三次握手如下: ![]() TCP协议抓包包分析: ![]() ![]() 第二次和第三次握手的字段内容与第一次握手的字段内容大体一致,主要的差异在于Ack和Seq这两个字段的取值有所不同。 ![]() ![]() ![]() ![]() TCP协议的四次挥手过程与三次握手阶段在基本原理上具有相似性,我们可以利用过滤器 tcp.flags.fin==1 来定位识别出用于发起挥手动作的数据包。 ![]() 为了分析端口号有来有回的数据包,我们将首先监控并捕获这些数据包,然后利用过滤器 tcp.port==50788 对捕获到的数据包进行筛选,最终目的是找出并识别出完整的四次挥手过程。 ![]() 6.UDP协议抓包分析UDP是User Datagram Protocol (用户数据报协议)的简称。它是OSI七层模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务。 ![]() ![]() 7.ICMP协议抓包分析ICMP (Internet Control Message Protocol,网际报文控制协议)是Internet 协议族的核心协议之一,它主要用在网络计算机的操作系统中发送出错信息。例如,提示请求的服务不可用、主机或者路由不可达。ICMP协议依靠IP协议来完成其任务,通常也是P协议的一个集成部分。ICMP协议和TCP或UDP协议的目的不同,它一般不用来在端系统之间传送数据。它通常不被用户网络程序直接使用,或者是像Ping 和 tracert这样的诊断程序。 进行抓包,启动Wireshark,通过cmd命令ping一个ip,如ping www.douyin.com。 ![]() 回到Wireshark中利用过滤器输入icmp进行筛选即可,分析如下: ![]() ![]() ![]() ![]()
Wireshark——过滤器设置 阅读原文:原文链接 该文章在 2026/1/4 18:23:54 编辑过 |
关键字查询
相关文章
正在查询... |