前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Wireshark抓包:详解TCP三次握手报文内容

Wireshark抓包:详解TCP三次握手报文内容

作者头像
清菡
发布2022-03-30 09:17:48
9610
发布2022-03-30 09:17:48
举报
文章被收录于专栏:清菡软件测试清菡软件测试

一、抓包

通过Wireshark这个抓包工具演示下正常能抓到tcp三次握手,能看到的内容是不是和上篇文章tcp三次握手中用图画出来的内容是一样的呢?

现在就抓个包详细得讲解下。先选择我上网的网卡,然后点击这个蓝色的小鲨鱼,开始抓包了。

现在它在开始抓包,我去访问一个页面。这是个https的连接,肯定是基于tcp的。

点击红色按钮暂停。

抓的是tcp协议,过滤下tcp协议的包。按下回车之后,这边就全是tcp的报文了:

因为刚刚都在这一块网卡上抓的,这块网卡可能有很多别的流量,所以抓到的流量不是很纯净。

随意看下某个tcp连接,它的三次握手的过程。

我就看这个,怎么过滤出来这一个连接呢?

右击这个包,选择追踪流(追踪整个这一个连接)-tcp流

将这个连接的所有的数据包都过滤出来了,就看不到其它的杂七杂八的连接。这是指这一个连接的tcp的报文。

二、详解tcp3次握手

第1个报文,请求连接消息:syn

显示出来这是个syn包:

syn包用来发起连接请求的,客户端向服务器发起连接请求,syn标志位置1。看下标志位置1是什么样子的。双击这个包就可以打开。

看到一个详细的报文显示:

它会把网络中每一层的数据格式都显示在这里:

数据链路层

第2个报文:syn,ack

syn,ack是服务器给客户端返回的确认消息。

双击它,点开看下:

syn,ack包与syn包对比:

第3个报文,确认消息:ack

客户端发给服务器的:

seq=1,是因为syn,ack包中确认号是1,表示我希望你收到下一个包的序列号是1。(也就是第一个syn包的序列号加1。)

这个ack是1是因为给我发的syn,ack包中序列号是0,在这个基础上加1,所以这个包的确认号就是1。

第4个,http报文:

三次握手之后,直接是个http的报文:

传输层已经建立完tcp连接,那应用层才能去在它的这个连接基础上面,去发送http的请求。

以上就是tcp3次握手的过程。

三、总结

以上内容是分两次整理的。所以2次抓包的内容有些区别,但是图片上写的技术内容准确无误。学习时应活学活用,切勿死搬硬套。


除标明“图片来自网络”的图片,其它文章中的图片皆为本人所画,计算机知识都一样,如有雷同,纯属巧合。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、抓包
  • 二、详解tcp3次握手
    • 第1个报文,请求连接消息:syn:
      • 第2个报文:syn,ack
        • 第3个报文,确认消息:ack
          • 第4个,http报文:
          • 三、总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档