使用wireshark、Fiddler抓包分析TCP协议

您所在的位置:网站首页 抓包udp怎么看内容 使用wireshark、Fiddler抓包分析TCP协议

使用wireshark、Fiddler抓包分析TCP协议

2023-09-05 22:22| 来源: 网络整理| 查看: 265

使用wireshark、Fiddler抓包分析TCP协议 任务概要一、走近TCP1.基本简介2.数据格式3.TCP的连接1.建立连接2.终止连接 3.握手协议1.三次握手(建立连接)2.四次挥手(断开连接) 二、wireshark抓包分析TCP1.连接服务器2.断开服务器 三、Fiddler网站(HTTPS)抓包分析1.认识https2.安装Fiddler3.抓包分析 四、总结与参考资料1.总结2.参考资料

任务概要

以“金庸梦“游戏的客户端连接服务器、断开服务器为例,用wireshark抓包分析TCP协议的三次握手连接、四次握手断开,与计算机网络原理进行验证;用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程。

一、走近TCP 1.基本简介

TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WAN)设计的。它是由ARPANET网的研究机构发展起来的。 在这里插入图片描述

TCP/IP是一个协议集。为应用提供一些"低级"功能,这些包括IP、TCP、UDP。其它是执行特定任务的应用协议,如计算机间传送文件、发送电子邮件、或找出谁注册到另外一台计算机。

服务类型

FTP 文件传送(File Transfer)RLogin 远程登录(Remote login)SMTP POP3 电子邮件(Mail)NFS 网络文件系统(Network File System)远程打印(Remote Printing)远程执行(Remote Execution)名字服务器(Name Servers)终端服务器(Terminal Servers) 2.数据格式

下图展示了TCP首部的数据格式。 在这里插入图片描述

如果不计任选(Options)字段,那么,它的大小是20个字节。

3.TCP的连接 1.建立连接

TCP协议通过三个报文段完成连接的建立,这个过程称为三次握手(three-way handshake),过程如下图所示。 在这里插入图片描述

TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,它是全双工的;在保证可靠性上,采用超时重传和捎带确认机制。

2.终止连接

建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。具体过程如下图所示。 在这里插入图片描述

3.握手协议

关于握手连接,我们可以通过TCP包头格式的确认ACK、同步SYN、终止FIN的数值判断属于第几次握手。

1.三次握手(建立连接)

下图为第三次握手示意图: 在这里插入图片描述 (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1. (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3) 客户必须再次回应服务段一个ACK报文,这是报文段3. 分析 第一次握手:客户端->服务器 (ACK=0;SYN=1) 第二次握手:服务器->客户端 (ACK=1;SYN=1) 第三次握手:客户端->服务器 (ACK=1;SYN=0)

2.四次挥手(断开连接)

下图为第四次挥手示意图: 在这里插入图片描述

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

(1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。 (2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。 (3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。 (4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。 分析 第一次:客户端->服务器 (ACK=1;FIN=1) 第二次:服务器->客户端 (ACK=1;FIN=0) 第三次:服务器->客户端 (ACK=1;FIN=1) 第四次:客户端->服务器 (ACK=1;FIN=0)

二、wireshark抓包分析TCP

游戏客户端可参考博客: TCP-端口扫描与网游客户端. 这里我们主要进行TCP协议分析

1.连接服务器 运行游戏客户端打开wireshark,开始抓包 对协议进行筛选,选择TCP; 在这里插入图片描述 建立连接 在这里插入图片描述 第一次握手; 在这里插入图片描述 第二次握手; 在这里插入图片描述 第三次握手; 在这里插入图片描述 2.断开服务器 关闭游戏客户端继续抓包 第一次握手; 在这里插入图片描述 第二次握手; 在这里插入图片描述 第三次握手; 在这里插入图片描述 第四次握手; 在这里插入图片描述 三、Fiddler网站(HTTPS)抓包分析 1.认识https

HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),即超文本传输安全协议,是一种通过计算机网络进行安全通信的传输协议。该协议由网景公司(Netscape)于1994年首次提出。 其开发的主要目的是提供对网站服务器的身份认证,以保护交换数据的隐私与完整性。也由于其安全性较高的原因,它被广泛应用于万维网上安全敏感的通讯,如交易支付等方面。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,默认使用443端口.

下面就是https的整个架构,现在的https基本都使用TLS了,因为更加安全,所以下图中的SSL应该换为SSL/TLS 在这里插入图片描述 有关更多的HTTPS的详情了解。可以见参考资料。

2.安装Fiddler

Fiddler下载地址: https://www.telerik.com/download/fiddler.

填入信息,点击download for Windows 在这里插入图片描述 点击下载 在这里插入图片描述 开始安装,点击I agree; 在这里插入图片描述 确认安装路径,点击install 在这里插入图片描述 安装成功 在这里插入图片描述 打开该软件 在这里插入图片描述 弹出窗口,点击NO;在这里插入图片描述 下面开始配置 fiddler 。 点击 Tools → Options… 在这里插入图片描述 HTTPS 下,勾选 Decrypt HTTPS traffic,配置成功(弹窗点击确定) 在这里插入图片描述 至此,安装配置过程就完成了。

3.抓包分析

下面我们开始抓包分析 抓包之前,我们需要清空其他包,方便观察 在这里插入图片描述

此符号是清空标志符

或点击 Edit -> remove -> all sessions即可清除所有记录; 在这里插入图片描述 打开抓包软件,打开Google浏览器 在这里插入图片描述 再换到fiddler;左侧数据就是所抓到的包; 在这里插入图片描述 开始分析 Google访问百度 在这里插入图片描述 headers是标签 在这里插入图片描述 有关更详细的fiddler认识,大家可以参考这个博客。 Fiddler抓包1_介绍及界面概述.

四、总结与参考资料 1.总结

TCP是网络传输层协议;HTTPS是网络应用层协议。

2.参考资料

1.TCP协议连接过程详解. 2. TCP协议. 3.Https协议详解. 4. HTTPS. 5. 如何用fiddler抓包. 6. Fiddler的安装与使用.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3