使用wireshark抓包理解tcp协议和tls

这篇具有很好参考价值的文章主要介绍了使用wireshark抓包理解tcp协议和tls。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先下载安装wireshark
打开软件

1.选则自己连结的网络;
使用wireshark抓包理解tcp协议和tls
使用wireshark抓包理解tcp协议和tls
此时就会捕获的数据

2.加上端口过滤。
使用wireshark抓包理解tcp协议和tls

3.启动一个本地的http服务(这里采用的nodejs);

// server.js
import koa from 'koa';
const app = new koa();
app.use(ctx => {
    ctx.body = "hello"
})
app.listen(3000)

node server.js

4.curl http://localhost:3000
使用wireshark抓包理解tcp协议和tls

使用wireshark抓包理解tcp协议和tls

一个TCP报文段的最大长度为65495字节.
TCP封装在IP内,IP数据报最大长度2^16-1 ,头部最小20TCP头部长度最小20,所以最大封装数据长度为65535-20-20=65495
TCP固定首部20个字节,即除去选项及填充

Syn (Synchronize Sequence Numbers) 同步序列编码;
Seq (Sequence Number) 当前包序列号;
Sequence Number (raw)== Syn +Seq;
Next Sequence Number 下一个包的的序列号 ==Seq + Len
Acknowledgment Number 确认序号
Acknowledgment number (raw) ==确认序号 + (对方)Sequence Number (raw)
Len 数据包长度
点击SEQ=0的行,可以看到如下数据:

1. tcp第一次握手:客户端===>服务端 发起连接请求。
Sequence Number: 0    (relative sequence number) 
Sequence Number (raw): X
[Next Sequence Number: 1    (relative sequence number)]
Acknowledgment Number: 0
Acknowledgment number (raw): 0
...
.... .... ..1. = Syn: Set  #(不重复随机数X)
2. tcp第二次握手:服务端===>客户端 回应请求。
Sequence Number: 0    (relative sequence number)
Sequence Number (raw): Y 
[Next Sequence Number: 1    (relative sequence number)]
Acknowledgment Number: 1
Acknowledgment number (raw): X+1
...
.... .... ..1. = Syn: Set # (不重复随机数Y)
3.tcp第三次握手:客户端===>服务端 回应。
Sequence Number: 1    (relative sequence number)
Sequence Number (raw): X+1 #4257407297
Acknowledgment Number: 1
Acknowledgment number (raw): Y+1 #3318791688
...
.... .... ..1. = Syn: Set

三次握手

使用wireshark抓包理解tcp协议和tls

第1次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传送,客户端进入FIN_WAIT_1状态;
第2次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态;
第3次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态;
第4次挥手:客户端收到FIN后,客户端t进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手。

其中:FIN标志位数置1,表示断开TCP连接。

四次挥手

使用wireshark抓包理解tcp协议和tls

使用wireshark抓包理解tcp协议和tls

  1-3行:建立连接;
   6 行:服务端==>客户端:回答79号的内容:第1包 ,长度65495,下一个包编号65496;
   7 行:服务端==>客户端:回答79号的内容:第65496包 ,长度65495,下一个包编号130991;
   8 行:服务端==>客户端:回答79号的内容:第130991包 ,长度65495,下一个包编号196486;
   9 行:服务端==>客户端:回答79号的内容:第196486包 ,长度65495,下一个包编号261981;
  10 行:服务端==>客户端:回答79号的内容:第261981包 ,长度65495,下一个包编号327476;
  11 行:服务端==>客户端:回答79号的内容:第327476包 ,长度56384,下一个包编号383860;(完)
  12 行:客户端==>服务端:回答383860号内容:确认79号包
15-18行:断开连接;(同理)

http与https

从图中可以看出http是明文传输的:

使用wireshark抓包理解tcp协议和tls

https网络协议模型:

使用wireshark抓包理解tcp协议和tls

SSL/TLS握手过程

使用wireshark抓包理解tcp协议和tls
然后我们尝试抓取一下https
使用wireshark抓包理解tcp协议和tls

第一步,浏览器给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
使用wireshark抓包理解tcp协议和tls

第二步,服务器确认双方使用的加密方法,使用的tls版本号和一个随机数。
使用wireshark抓包理解tcp协议和tls

第三步,并给出数字证书、以及一个服务器运行Diffie-Hellman算法生成的参数,比如pubkey。
使用wireshark抓包理解tcp协议和tls

第四步,浏览器获取服务器发来的pubkey,计算出另一个pubkey,发给服务器。
使用wireshark抓包理解tcp协议和tls

第五步,服务器发给浏览器一个session ticket。
使用wireshark抓包理解tcp协议和tls文章来源地址https://www.toymoban.com/news/detail-424331.html

到了这里,关于使用wireshark抓包理解tcp协议和tls的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络】抓包工具Wireshark下载安装和基本使用教程

    🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油

    2024年02月08日
    浏览(48)
  • 【抓包工具】win 10 / win 11:WireShark 下载、安装、使用

    目录 一、WireShark 下载 二、WireShark 安装 (1)双击运行安装程序 (2)Choose Components:选择组件 (3)Additional Tasks:附加任务 (4)Choose lnstall Location:选择安装位置 (5) Packet Capture:包捕获 (6)USB Capture:USB 捕获 (7)安装 Npcap (8)安装 USBPcap (9)重启电脑 三、WireSha

    2023年04月15日
    浏览(78)
  • wireshark抓包TCP数据包

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 – 文章主要介绍了wireshark抓包步骤和TCP包的简单介绍,可以作为快速了解抓包,了解TCP数据格式的参考。 软件: 1.1硬件连接方式 网线直连 连接同一个路由器 1.2确认硬件连接成功 打开命令行,通过i

    2023年04月09日
    浏览(40)
  • 利用wireshark对TCP抓包分析

    抓包结果已上传可免费下载对应观看: wireshark抓包结果 我的机子192.168.1.131简称A与服务端机子223.166.138.30简称B先三次握手建立TCP连接,再进行HTTP请求,最后四次挥手断开TCP连接 1.三次握手: A先给B发出一个SYN包请求建立连接 B给A发回一个ACK SYN包针对上一个SYN请求且发出请求

    2024年02月09日
    浏览(44)
  • TCP/UDP协议抓包-工具wireshark与tcp侦听工具

    目录 一、工具下载链接 二、实验 链接:https://pan.baidu.com/s/1nvNdCyET-8JFn_wQXuH2sw?pwd=abcd  提取码:abcd  --来自百度网盘超级会员V1的分享 物理机与虚拟机都需要下载tcp侦听工具,虚拟机还要下Wireshark。 1、先检测网络流通性,物理机与虚拟机双方,各ping一下对方。  物理机与虚

    2024年02月16日
    浏览(51)
  • 计算机网络 wireshark TCP抓包实验

    1. 你的客户端电脑传送文件到 192.168.1.70 的 IP 地址和端口是什么?从192.168.1.70 接收文件的 IP 地址和端口是什么? 可以看出 传送文件的地址是192.168.8.90 端口是61588 接受文件的地址是192.168.1.70 端口是80 2. 用来初始化客户端电脑和 192.168.1.70 的 TCP 连接的 TCP SYN 报文段的序号

    2024年02月07日
    浏览(42)
  • Wireshark抓包分析TCP的三次握手

    一、TCP三次握手连接建立过程     Step1:客户端发送一个SYN数据包(SYN=1,Seq=X,ACK=0)给服务端,请求进行连接,这是第一次握手;     Step2:服务端收到请求并且允许连接的话,就会发送一个SYN+ACK的数据包(SYN=1,Seq=Y,ACK=X+1)给发送端,告诉它,可以通讯了,并且让客户

    2024年02月08日
    浏览(43)
  • Wireshark抓包分析(ARP TCP DNS HTTP)

    一、ARP 二、DNS 三、TCP TCP的总过程: ​TCP三次握手:  TCP四次挥手:  四、HTTP 1.ARP (Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 我们要抓ARP 同网段内的访问网关的情况。 先cmd执行 arp -a 命令,从ARP表中查看本网段内有哪些主机 然后 arp -d 清空AR

    2024年02月09日
    浏览(40)
  • Wireshark数据抓包分析之传输层协议(TCP协议)

            通过使用wireshark对TCP协议的数据包的抓取分析TCP协议的具体内容         1.需要了解TCP协议的三次握手过程         2.需要了解TCP协议的四次挥手的过程 part1:3次握手和4次挥手的数据包的获取 1.通过使用TCP测试工具在机器一中创建服务器,并且进行相应的配置,然

    2024年02月11日
    浏览(36)
  • Wireshark抓包分析TCP协议:三次握手和四次挥手

    面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢? 其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用

    2024年01月21日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包