WireShark抓包分析以及对TCP/IP三次握手与四次挥手的分析
WireShark抓包分析TCP/IP三次握手与四次挥手
Wireshark介绍:
Wireshark(前称Ethereal)是一个网络封包分析软件。功能十分强大,是一个可以在多个操作系统平台上的开源网络协议分析工具软件,其主要作用是尝试捕获数据包,显示包的详细情况。
TCP三次握手(建立连接):
- 原理如图:
- 数据包的分析(tcp三次握手):
本次实验为我们以192.168.239.133的49936号端口为例分析tcp三次握手和四次挥手
第一次握手:
由图可知:192.168.239.133用端口号为49936的端口向218.195.47.39的8080号端口发送了一个连接请求,这个请求包序号为0,SYN=1
第二次握手:
由图可知:从第二次握手可以看到,218.195.47.39用端口号8080的端口向客户端192.168.239.133的49936号端口确认刚才的连接请求。这个报文段的序号为0,确认号为上图中客户端发起的报文段序列号加一(即0+1=1),且SYN=1,ACK=1。如下图:
第三次握手:
由图可知:可以看到客户端192.168.239.133发送了一个带序号的报文对服务器218.195.47.39刚才发送的报文进行确认,这次发送的报文的序号为1,确认号为上图中服务器218.195.47.39发送的报文段序号加1(即0+1=1),SYN=0,ACK=1,如下图:
TCP四次挥手(断开连接):
- 原理如图
- 数据包的分析(tcp四次挥手):
本次实验为我们以192.168.239.133的49936号端口为例分析tcp三次握手和四次挥手
第一次挥手:
由图可知:客户端192.168.239.133用端口号为49936的端口对服务器218.195.47.39的8080端口发送一个序号为1387的FIN报文,FIN=1,ACK=1,如下图所示:
第二次挥手:
由图可知:服务器218.195.47.39用端口号为8080的端口对客户端192.168.239.133的49936号端口发送一个序列号为461540的确认报文,确认号为上图中服务器192.168.239.133发送的报文段序号加1(即1387+1)
第三次挥手:
由图可知:服务器218.195.47.39用8080端口对客户端192.168.239.133的49936端口发送了一个序号为461540的确认报文,确认号为第二步中客户端192.168.239.133发送的报文段序号加1(即1387+1)
第四次挥手:
由图可知:客户端192.168.239.139使用49936端口向服务器218.195.47.39发送一个序号为1388的确认报文,它的Ack序号为461541(461540+1),ACK=1,如下图所示:
WireShark抓包分析以及对TCP/IP三次握手与四次挥手的分析的更多相关文章
- TCP/IP三次握手与四次挥手的正确姿势
0.史上最容易理解的:TCP三次握手,四次挥手 https://cloud.tencent.com/developer/news/257281 A 理解TCP/IP三次握手与四次挥手的正确姿势http ...
- 以女朋友为例讲解 TCP/IP 三次握手与四次挥手
背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次. 从好上开始,到现在,一年多也算坚持下来了. 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声 ...
- TCP/IP三次握手与四次挥手(转)
一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下: ...
- 31.TCP/IP 三次握手与四次挥手
TCP/IP三次握手 TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6. 顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手 ...
- 理解 TCP/IP 三次握手与四次挥手
TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6. 顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要 ...
- 使用 WireShark 分析 TCP/IP 三次握手 和 四次挥手
TCP 三次握手 示意图 Wireshark 抓包注意事项 为了演示一个TCP三次握手建立连接的过程,我们通过 Chrome 访问一个网页. 已知 HTTP 协议就是建立在TCP链接上的 比如访问以下 ...
- tcp/ip三次握手及四次挥手
三次握手Three-way Handshake 一个虚拟连接的建立是通过三次握手来实现的 1. (B) –> [SYN] –> (A) 假如服务器A和客户机B通讯. 当A要和B通信时,B首 ...
- Tcp/Ip 三次握手与四次挥手
1. TCP/IP模型 我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.而实际的Linux网络层协议是参照了OSI标准,但 ...
- TCP/IP三次握手与四次挥手
三次握手: TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接 位码即tcp标志位 ...
随机推荐
- Jmeter 用户定义的变量的使用
第一步: 打开Jmeter软件,新建一个线程组,添加 > 配置元素 > 用户定义的变量 第二步: 设置值,如下图所示: 第三步,使用设置的名称 :
- jenkins任务
#################################jenkins任务1.打包.持续集成.部署.定时运行 2.创建自由风格的一个任务 3.一个任务的核心步骤就是,build即创建,即运行 ...
- Spring AOP实现注解式的Mybatis多数据源切换
一.为什么要使用多数据源切换? 多数据源切换是为了满足什么业务场景?正常情况下,一个微服务或者说一个WEB项目,在使用Mybatis作为数据库链接和操作框架的情况下通常只需要构建一个系统库,在该系统库 ...
- Dubbo 迈出云原生重要一步 - 应用级服务发现解析
作者 | 刘军(陆龟) Apache Dubbo PMC 概述 社区版本 Dubbo 从 2.7.5 版本开始,新引入了一种基于实例(应用)粒度的服务发现机制,这是我们为 Dubbo 适配云原生基础 ...
- keras中的early stopping
目的:防止过拟合 # early stoppping from keras.callbacks import EarlyStopping early_stopping = EarlyStopping( ...
- 重置GrindConrol焦点行FocusedRowHandle
List<model> list=this.CurrentList; var selectModel=tempselectmodel; //找selectModel在list中得位置 va ...
- Spider--补充_None_global_urlparse
# 知识点补充: # 1) None: a = None if a: print("非None") else: print("None") if a is no ...
- CSS浮动好文章
http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 看完上面这篇文章,我哭了.写的真好,我这块更菜.
- 手把手教你使用Vuex(一)
1.定义 vuex 是一个专门为vue.js应用程序开发的状态管理模式. 这个状态我们可以理解为在data中的属性,需要共享给其他组件使用的部分.也就是说,是我们需要共享的data,使用vuex进行统 ...
- 用seaborn绘制散点图
散点图可以显示观察数据的分布,描述数据的相关性,matlibplot也可以绘制散点图,不过我一般优先使用seaborn库的sctterplot()绘制,下面就介绍一下如何用seaborn.scatte ...