Wireshark-----抓包分析

article/2025/11/7 4:24:20

目录

一、Wireshark简介

二、安装与使用

 三、抓包分析

1.初次抓包

2.捕获选项设置

 3.ARP协议抓包分析

4.IP协议抓包分析

5.TCP协议抓包分析

6.UDP协议抓包分析

7.ICMP协议抓包分析

参考文献


一、Wireshark简介

Wireshark是一款世界范围最广、最好用的网络封包分析软件,功能强大,界面友好直观,操作起来非常方便。它的创始人是Gerald Combs,前身是Ethereal,作为开源项目经过众多开发者的完善它已经成为使用量最大的安全工具之一。在CTF中也经常会使用wireshark进行流量数据包分析,可以快速检测网络通讯数据,获取最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。用户将在图形界面中浏览这些数据,实时监控TCP、session等网络动态,轻松完成网络管理工作。

二、安装与使用

安装包可以去官网 下载,按照相应指示安装即可,也可参见其他安装教程安装即可;打开软件如下所示:

 三、抓包分析

1.初次抓包

双击所需网关即可进行抓包;

上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下:

Packet List 面板:上面部分,显示 Wireshark 捕获到的所有数据包,这些数据包从 1 进行顺序编号。

Packet Details 面板:中间部分,显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。

Packet Bytes 面板:下面部分,显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。

在Packet Details面板中:

  • Frame:物理层的数据帧概况。
  • Ethernet II:数据链路层以太网帧头部信息。
  • Internet Protocol Version 4:互联网层IP包头部信息。
  • Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。
  • Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议。

2.捕获选项设置

点击 捕获-->选项,取消勾选“在所有接口上使用混杂模式”,选择自己需要的网卡,例如WLAN,点击确定即可;进行此步骤的操作是为了方便后面的抓包分析,排除干扰项,此步骤可以根据自己需要选择做或者不做

 3.ARP协议抓包分析

ARP (Address Resolution Protocol)协议,即地址解析协议。该协议的功能就是将IP地址解析成MAC地址。
首先在Wireshark中进行过滤器arp筛选;

 

 然后在cmd中,使用ping命令,ping一个ip地址,建议ping同一局域网下的ip ,这里就ping www.douyin.com ,如下:

 Wireshark中arp协议的解析:

4.IP协议抓包分析

互联网协议IP是Internet Protocol的缩写,中文缩写为“网协”。IP协议是位于OSI模型中第三层的协议,其主要目的就是使得网络间能够互联通信。前面介绍了ARP协议,该协议用在第二层处理单一网络中的通信。与其类似,第三层则负责跨网络通信的地址。在这层上工作的不止一个协议,但是最普遍的就是互联网协议(IP)。
首先在Wireshark中启动抓包;捕获IP协议包的方法有多种,打开一个网页,或者使用ping命令,这里依旧ping www.douyin.com  如下所示:

 在Wireshark中已经捕获到了很多包,我们使用过滤器输入ip.addr == 112.19.197.277 进行筛选即可;

 ip协议抓包分析

其中Internet Control Message Protocol 表示ICMP协议包信息。

5.TCP协议抓包分析

TCP (Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于P的传输层协议。它的主要目的是为数据提供可靠的端到端传输。TCP在RFC793中定义,在OSI模型中的第四层工作。它能够处理数据的顺序和错误恢复,并且最终保证数据能够到达其应到达的地方。但是,该协议的过程比较复杂。
TCP是面向连接的通信协议。在通信过程中,通过三次握手建立连接。通信结束后,还需要断开连接。如果在发送数据包时,没有被正确发送到目的地,将会重新发送数据包。

TCP三次握手

1.第一次握手
第一次握手建立连接时,客户端向服务器发送SYN报文(Seq=x,SYN=1),并进入SYN_SENT状态,等待服务器确认。
2.第二次握手
第二次握手实际上是分两部分来完成的,即SYN+ACK(请求和确认)报文。

(1)服务器收到了客户端的请求,向客户端回复一个确认信息(Ack=x+1)。
(2)服务器再向客户端发送一个SYN包(Seq=y)建立连接的请求,此时服务器进入SYN_RECV状态。

3.第三次握手
第三次握手客户端收到服务器的回复(SYN+ACK报文)。此时,客户端也要向服务器发送确认包(ACK)。此包发送完毕客户端和服务器进入ESTABLISHED 状态,完成三次握手。此时就可以进行数据传输了。


TCP四次挥手

进行抓包,首先启动Wireshark,如果此时没捕获到任何数据包,可以在浏览器上访问一个网站页面。如进入百度首页,点击新闻,打开页面,然后再关闭页面。Wireshark中此时会得到很多数据,利用过滤器输入http过滤。

 选中一个http记录,右键—>追踪—>tcp流,即可看到一个完整的tcp三次握手。

 完整的TCP三次握手如下:

TCP协议抓包包分析:

 第二次与第三次握手字段与第一次基本相同,主要是Ack与Seq的值

TCP的四次挥手与三次握手分析过程进本相同,可以通过过滤器tcp.flags.fin==1寻找挥手数据包如下:

 查看端口号有来有回的数据包,之后通过过滤器tcp.port==50788筛选出完整的四次挥手过程。

6.UDP协议抓包分析

UDP是User Datagram Protocol (用户数据报协议)的简称。它是OSI七层模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务。
UDP协议就是一种无连接的协议。该协议用来支撑那些需要在计算机之间传输数据的网络应用,包括网络视频会议系统在内的众多客户/服务器模式的网络应用。
UDP协议的主要作用就是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8字节用来包含包头信息,剩余字节则用来包含具体的传输数据。
进行抓包,启动Wireshark,登录qq程序,或者其他方法都可以可以捕获到许多UDP包,通过过滤器输入udp进行过滤即可,分析如下:

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数据包分析实战详解


http://chatgpt.dhexx.cn/article/x49ejuYh.shtml

相关文章

计算机网络——数据包抓取与分析

数据包抓取与分析 目录 一、实验目的 二、实验内容 三、实验环境 四、实验步骤与过程 一、实验目的 学习安装、使用协议分析软件,掌握基本的数据报捕获、过滤和协议的分析技巧,能对抓取数据包进行分析。 二、实验内容 协议分析软件的安装和使用、学…

抓包与分析

(一)作业目的 (1)了解网络通信的分层实现过程,了解不同层次PDU的逐层封装与解封过程; (2)了解数据通信的过程,进一步认知协议的构成与通信过程,进而对TCP/IP分…

Wireshark抓包分析基础

Wireshark抓包分析 (仅作为个人笔记,如有雷同,请联系删除。。) 下载:https://www.wireshark.org/#download 1、设置时间格式:视图–>时间显示格式 2、设置解析:视图–>Name Resoluti…

Java抓包分析四(基于jnetpcap进行抓包)——分析Http请求数据包

在上篇文章中Java抓包分析三(基于jnetpcap进行抓包)——抓取Http请求数据包,我们讲解了TCP三次握手的过程和如何抓取Http数据包,但是我们并没有进行一个数据分析,接下来这篇文章我们将要开始对Http抓取的数据报进行深入…

【HTTP】Fiddler(二) - 使用Fiddler做抓包分析

上文( http://blog.csdn.net/ohmygirl/article/details/17846199 )中已经介绍了Fiddler的原理和软件界面。本文主要针对Fiddler的抓包处理。 Fiddler抓取HTTP请求。 抓包是Fiddler的最基本的应用,以本博客为例,启动Fiddler之后,在浏览器中输入http://blog.csdn.net/ohmygi…

MySQL索引优化实战EXPLAIN解析

先来介绍一下具体的业务场景 当用户登录后,需要查看能够学习的课程,不同的用户看到的课程是不同的,课程存在权限,权限是被下面lesson_user_permissions表控制的,其中sys_user_id 和 lesson_id 作为联合主键 另外还有一…

MySQL索引优化面试题

mysql索引优化熊大注意我们是以innodb为例 创建表sql如下: CREATE TABLE user (id bigint(11) NOT NULL AUTO_INCREMENT COMMENT 主键,age int(10) NOT NULL COMMENT 年龄,name varchar(100) NOT NULL COMMENT 姓名,card_no varchar(64) CHARACTER SET utf8 COLLATE utf8_gen…

【MySQL】深入理解MySQL索引优化器工作原理

本文导读 本文将解读MySQL数据库查询优化器(CBO)的工作原理。简单介绍了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程。 一、MySQL 优化器是如何选择索引的 下面我们来…

MySQL索引优化与查询优化

1. 索引失效案例 1 全值匹配 2 最佳左前缀法则 3 主键插入顺序 如果 这个数据页已经满了,我们需要把当前 页面分裂 成两个页面,把本页中的一些记录移动到新创建的这个页中。页面分裂和记录移位意味着:性能损耗 !所以如果我们想尽量避免这样…

mysql索引优化系列(一)

一、不常见的索引失效场景 1、举例 还是之前的member会员记录表&#xff0c;往里面插入十万条数据 drop procedure if exists insert_emp; CREATE PROCEDURE insert_emp () BEGINDECLAREi INT;SET i 1;WHILE( i < 100000 ) DOINSERT INTO member ( NAME, age, address, …

MySQL索引优化一

MySQL索引 索引是什么 索引是一种排好序的数据结构&#xff0c;目的是提高查找效率一般来说&#xff0c;索引本身也占内存&#xff0c;因此索引以文件的形式存储在磁盘上平常我们所说的索引一般都是BTree。当然还有hash索引等等 索引优劣势 优势&#xff1a;提高检索效率&a…

MYSQL索引详解和优化

索引的定义 我们在看书的时候&#xff0c;都知道有目录&#xff0c;我们可以通过目录快速的找到书中的内容&#xff0c;而书中的目录就是充当书的索引。在数据库中的索引也是一样的。 索引的定义&#xff1a; 索引是帮助存储引擎快速获取数据的一种数据结构&#xff0c;即数据…

一文彻底搞懂Mysql索引优化

专属小彩蛋&#xff1a;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff08;前言 - 床长人工智能教程&#xff09; 目录 一、索引介绍 二、性能分析 三、查询优化 四、排序优化…

MYSQL通过索引进行优化

MYSQL通过索引进行优化 一&#xff1a;什么是索引&#xff1a; 在关系数据库中&#xff0c;索引是一种与表有关的数据库结构&#xff0c;它可以使对应于表的 SQL 语句执行得更快。索引的作用相当于图书的目录&#xff0c;可以根据目录中的页码快速找到所需的内容。 对于数据…

MySQL索引优化(超详细)

Mysql索引优化 1 索引介绍 1.1 什么时MySQL的索引 ​ MySQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。 ​ MySQL在存储数据之外&#xff0c;数据库系统中还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种引用(指向)表中的数据&#xff…

MySQL索引(二)索引优化方案有哪些

在上一篇文章中&#xff0c;我们介绍了MySQL中常见的索引类型以及每种索引的各自特点&#xff0c;那么这篇文章带你来与我一起看一下聚集索引与二级索引的关系&#xff0c;最后在附上常见的索引优化方案。首先我们还是看一下聚集索引和二级索引的区别 MySQL索引&#xff08;一…

【MySQL】索引优化原则

前面几篇博文谈到索引使用场景和explain命令帮助我们分析索引的执行情况&#xff0c;今天进入正题&#xff0c;来谈谈索引优化的原则。 1、全值匹配 查询语句尽量使用全值匹配。 2、左前缀原则 如果一个索引是组合索引&#xff0c;索引了多列&#xff0c;要遵循左前缀原则…

MySQL:索引优化、查询优化

一、哪些情况适合创建索引 1、字段的数值有唯一性的限制&#xff1b; 业务上具有唯一特性的字段&#xff0c;即使是组合字段&#xff0c;也必须建成唯一索引&#xff1b; 说明&#xff1a;创建唯一索引会影响添加的速度&#xff08;在添加的时候会维护索引&#xff09;&…

Mysql-索引优化

一、索引基本知识 1、索引的优点 很大程度上减少服务器扫描的数据量很大程度上避免服务器排序和临时表将随机IO变成顺序IO 2、索引的用处 使用索引列可以快速查找Where条件的行数据 mysql> explain select * from emp where empno 7469; ----------------------------…

MySQL索引优化总结

前言&#xff1a;相信大家都知道索引可以大大提高MySQL的检索速度&#xff0c;但是真正在平时工作中写SQL&#xff0c;真的会考虑到这条SQL如何能够用上索引提升执行效率&#xff1f;本篇博客详细的介绍了索引优化的20个原则&#xff0c;只要在工作中能够随时应用到&#xff0c…