| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> wireshark分析tcp协议(一)三次握手【理论 + 实操】 -> 正文阅读 |
|
[系统运维]wireshark分析tcp协议(一)三次握手【理论 + 实操】 |
wireshark分析tcp协议(一)三次握手知识背景问题一:什么是tcp?tcp全称为传输控制协议(Transmission Control Protocol),是一种 面向连接、可靠的 ,基于字节流的传输层协议。 问题二:什么是传输控制协议?要想了解传输控制协议,我们就需要知道网络之间到底是怎么通信的?当你在浏览器输入URL之后,是怎么 获取到页面的?也就是说浏览器是怎么知道你要访问哪个位置的?为什么他就能返回给你,而不是其他人? 首先,在 客户端 和 服务器 间的通信协议就是 此时,客户端产生数据,需要发送出来,但是此时并不知道需要请求的端口号 于是有了,数据控制层
在有了
到这里,浏览器就能确定你需要访问的哪个位置了,在经过链路层后,打包成0/1数据流传递到服务器的对应端口上。 至此,浏览器就知道了我们是需要访问哪个位置的,而且只会将你所需要的数据返回给你,而不是别人,因为你告诉了服务器,你的本机IP 所以,我们大概就知道了到底什么是传输控制协议? 传输控制协议,见名知意,当然就是用于 问题三:为什么tcp是面向连接的,是可靠的?
在这其中,应答确认就是保证消息传递可靠性的关键手段,即三次握手
你需要和一个你看不见的人建立联系。
这样,你们就可以开始交互数据,因为此时你们已经确定你->他,和他->你,两端的通信是没有问题的。 三次握手操作步骤1.确认当前活动的网络打开wireshark软件后,出现以下页面 这里将会显示当前你电脑中所有的曾保存过的网络配置,选择一个当前正在活动的网络
当出现一直在跳动的连接时,表示已经成功 2.确认你所需要分析的网站地址这里我直接对局域网 内部署的网站进行分析
3.过滤显示当前连接情况在知道你所要访问的ip地址后,在wireshark上,输入
例如,当前我确定的IP地址为 4.访问网站,进行分析在选择过滤好ip地址后,切换至浏览器访问地址 切换会 一般情况下头部的三个为tcp的三次握手过程 5.第一次握手——请求连接(syn) SYN_SENT在第一次握手时,我们主动向对应的地址发送连接请求 我们双击查看第一条报文 这里会显示当前网络中每一层的数据
我们开始分析传输控制层的具体信息
打开后,我们查看当前协议中的 此时syn为1,是一个发起连接请求
6.第二次握手——服务器响应请求(syn,ack)SYN_RCVD我们双击点开第二个报文
此时syn = 1 ,ack = 1,是一个确认接受连接请求
7.第三次握手——服务器确认请求(ack)ESTABLISHED我们双击打开第三个报文
此时ack = 1 ,是一个确认请求 自此,服务端与客户端可以进行正常的数据传输了 根据上面的三次握手,我们可以得到当前TCP三次握手的真实示意图 8.验证数据传输——http报文在完成三次握手后,本机通过 我们点击第四个报文进行查看 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 18:39:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |