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标志位 ...
随机推荐
- 面试时说Redis是单线程的,被喷惨了!
Redis是单线程的,这话搁以前,是横着走的,谁都知道的真理.现在不一样,Redis 变了.再说这句话,多少得有质疑的语气来跟你辩驳一番.意志不坚定的,可能就缴械投降,顺着别人走了. 到底是什么样的, ...
- cookie与session的概念与区别
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- Python 1-5】Python教程之——字符串
字符串或串(String)是由数字.字母.下划线组成的一串字符. 字符串 字符串就是一系列字符.在Python中,用引号括起的都是字符串,其中的引号可以是单引号, 也可以是双引号,如下所示: &quo ...
- 【Kata Daily 190910】Who likes it?(谁点了赞?)
题目: Description: You probably know the "like" system from Facebook and other pages. People ...
- 为研发同学定制的MySQL面试指南 - “能谈谈基数统计吗?”
** 目录 推荐阅读原文链接 一.基数是啥? 二.InnoDB更新基数的时机? 三.基数是估算出来 四.持久化基数 四.如何主动更新基数? 欢迎关注 Hi,大家好!我是白日梦. 今天我要跟你分享的话题 ...
- 【SpringCloud】06.Eureka 总结
1.两个注解: @EnableEurekaServer--在启动类上添加 @EnableDiscoveryClient或@EnableEurekaClient--启动类加 因为Eureka支持多种注册 ...
- php 之 excel导出导入合并
<?php class Excel extends Controller { //直属高校 public function __construct() { parent::Controller( ...
- 分布式文档存储数据库之MongoDB访问控制
上一篇博客主要聊了下mongodb的分片机制以及分片集群的搭建,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13958295.html:今天我们来了解下mon ...
- 使用JAVA API读取HDFS的文件数据出现乱码的解决方案
使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串 ...
- 部署Dotnet Core应用到Kubernetes(二)
前一篇文章,概念性地介绍了K8s的一些基础组件,如Pod.部署和服务.这篇文章,我打算写写如何使用YAML清单定义和配置这些资源. 实际上,在K8s集群中创建对象有几种方式 - 命令,或声明.两种 ...