使用wireshark抓取Tcp三次握手

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

wireshark的下载安装

软件的下载可以直接去官网下载 wireshark,选择自己电脑适合的版本就行。
使用wireshark抓取Tcp三次握手
但是不咋推荐,原因是国外网站访问速度太慢,写博文的时候我去官方下载安装包还下不下来,之后去搜狗下载了一个安装包,进行安装,点击安装包一路next进行安装,其中安装过程中需要注意的我会单独说明下。
阅读许可:
使用wireshark抓取Tcp三次握手
勾选下面几个选项,有些默认没有勾选:
使用wireshark抓取Tcp三次握手

TCP协议段格式简单介绍

TCP,即Transmission Control Protocol,传输控制协议。人如其名,要对数据的传输进行一个详细的控制。
TCP协议的特点

  • 有连接

  • 面向字节流(数据传输工程中是以一个一个字节为基本单位的)

  • 可靠传输(发送方向接收方发送数据后,发送方给以回应,告诉接收方已经收到数据了)

  • 全双工(收发双发可以同时发数据,也可已接收数据)
    TCP协议段格式
    使用wireshark抓取Tcp三次握手

  • 源/目的端口号:表示数据从一台主机的哪个程序来,要到另一台主机的哪一个程序去。

  • 32位序号,对要传输的数据进行编号,每一个字节对应一个序号,依次进行累加

  • 32位确认序号,接收方收到数据后,返回一个确认应答数据报,里面就包含一个确认序号,表示确认序号之前的数据接收方都收到了,TCP数据报里面的序号和确认序号是保证TCP可靠传输的一种重要方式。

  • 4位首部长度,单位是4个字节,那么TCP报头的最大数据大小就是60个字节。

  • 保留位留作他用,用于之后TCP协议的迭代更新。

  • 6位标志位:
    URG:紧急指针是否有效
    ACK:带有ACK标识的数据报称为确认报文段
    PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走
    RST:对方要求重新建立连接;我们把携带RST标识的称为复位报文段
    SYN:请求建立连接;我们把携带SYN标识的报文称为同步报文段
    FIN:通知对方,本端要关闭了,我们称携带FIN标识的为结束报文段
    上面六个标志位就是TCP报头里面的六个比特位,默认情况下是0,当被使用的时候就变为1了。
    其他字段本篇博客不做介绍。

确认应答机制介绍

TCP协议的核心特性就是可靠性,而保证可靠性的核心机制就是确认应答机制,TCP在保证可靠和效率的时候引用了很多机制来实现,有确认应答,超时重传,连接管理(三次握手,四次挥手),滑动窗口(保证效率)等。下面就介绍一下确认应答有助于理解连接管理。**由于网络传输环境复杂多样,导致数据传输的不可靠性,如后发先至就是一种情况,**如下图:我分别给我的朋友小明发送了,两个数据报,先后到达表达的意思完全不一样,
使用wireshark抓取Tcp三次握手
本来小明想表达的是,我请他喝奶茶ok,做作业滚,但由于网络环境的复杂多样,导致它发送给我的数据报先发后至,造成了,我请他喝奶茶滚,做作业ok,这样发送双方要表达的意思就全变了,**因此我们可以在发送数据报的时候,就给每个数据报的每一个字节编一个号,这个编号叫序号,接收方收到数据后发送确认报文段,确认报文段里面也有一个针对发送方发送序号的确认序号,通过这确认序号对收到的数据进行确认,这个确认序号也是TCP报头里面的一个字段,**这样就可以避免这种混乱的情况了。
上面我已经介绍了tcp传输的数据的基本单位是字节,而不是像上面我随意画的那样传输一条一条的数据。tcp针对每一个字节的数据进行编号。编号的最大范围是32个比特位表示的最大范围,如下面的图可以简单看一下
使用wireshark抓取Tcp三次握手
上面的数据报的编号范围是从1开始编号,但也不一定,也可以以其他数字进行初始编号。TCP的确认应答机制大致如下图:
使用wireshark抓取Tcp三次握手
经过上面的简单了解了TCP的相关知识后我们就可以进行抓包了。

使用wireshark抓取TCP的三次握手

首先三次握手的流程我们应该清楚,大致如下图。
使用wireshark抓取Tcp三次握手

点击WLAN选择我们的的网卡,我们的主机就是通过这一块网卡和其他主机进行数据交互的,抓取通过这一块网卡的数据进行TCP三次握手分析。
使用wireshark抓取Tcp三次握手
我以抓取LeetCode网站为例,首先我在dos窗口,通过ping命令,来获取LeetCode网站的ip地址之后用于在wireshark里面进行数据的过滤分析。
使用wireshark抓取Tcp三次握手
打开wireshark点击那个蓝色的鲨鱼鳍,开始捕获新的分组并清空之前的分组,开始博捕获
使用wireshark抓取Tcp三次握手
之后快速在浏览器中访问LeetCode网站,之后在wireshark中停止捕获分组进行数据分析,停止捕获分组就点击开始捕获分组的右边的那个正方形,未停止捕获前是红色的,停止捕获后就是灰色的了。之后进行数据过滤,因为我们这台主机同一时刻可能在和不同主机的许多进程间进行数据传输也会和相同主机的不同进程进行数据交互,过滤数据后有助于数据的分析。
捕获暂停后,我在wireshark上面的过滤框里面输入ip.addr == 203.107.53.81 and tcp进行过滤,过滤出tcp协议,ip地址和203.107.53.81相关的数据包,过滤如图。
使用wireshark抓取Tcp三次握手
从图中看到,TCP好像建立了好几次握手,但是那是我的主机的不同进程和LeetCode网站的服务器端口号为443的进程进行通信,我只选取其中一个进程进行分析就行。选取端口号为51175的进程进行分析。TCP三次握手的一个重要目的就是确定通信双发的收发能力良好和进行一些参数的约定,如初始序列号的确定,序列号和确认序列号的讲解就在TCP协议段格式介绍那里。
第一次握手:Seq=0,初始序号为0,也就是要传输的数据第一个字节的编号为0,其实不是为0,只是wireshark这个软件帮我们设置的相对序列号,客户端首先向服务器发送一个SYN报文段请求建立连接,这时这个字段的值就变成了1,之后我们也可以在wireshark中观察下。对于传输的数据,数据报头里面的字段SYN,ACK和值也可以在wireshark里面看到,如果相应的字段后面标识了Set表示设置的该值,否则该值没有设置。如看第一次握手的SYN值,点击tcp协议,再点击Flags就可以查看了。
使用wireshark抓取Tcp三次握手

使用wireshark抓取Tcp三次握手
使用wireshark抓取Tcp三次握手

第二次握手:服务器向客户端发送SYN(同步报文段),ACK(确认报文段)并且值都被激活为1,同步报文段表示服务器要和客户端建立连接,确认报文段,表示服务器收到客户端的请求,告诉客户端。这样第二次握手的初始序号Seq=0也是一个相对序号,服务器返回一个确认序列号Ack=0+1,表示客户端发来数据编号为0的数据服务器已经收到了,并且向客户端要下一个数据包.wireshark截图分析如下:
使用wireshark抓取Tcp三次握手

第三次握手,客户端返回一个ACK确认报文段 ,表示确认收到客户端发来的数据,里面的确认序Ack=0+1的值也变成了1,表示收到服务器发来的序号为0的数据,wireshark数据分析图如下:使用wireshark抓取Tcp三次握手
(说明上面TCP建立连接的图里面的ack和我这里说的Ack其实都是指一个东西,就是确认序号,Ack这是wireshark里面的东西,seq,Seq就是初始的数据序号,只是表示不同而已,不同的资料,文章说法不一样)
至此TCP的三次握手完成,可以进行后续的数据传输了。使用抓包工具抓取tcp的三次握手,可以加深我们对协议格式的理解,和tcp的一些机制的理解。文章来源地址https://www.toymoban.com/news/detail-405074.html

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

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

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

相关文章

  • TCP三次握手、四次挥手详解(Wireshark实践)

    ACK (Acknowledge character, 确认字符 )在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。TCP协议规定,只有ACK=1时有效,也规定连接建立后 所有发送的报文的ACK必须为1 。 SYN (synchronization, 同步 ) 在连接建立时用来同步序号。 当SYN=1而

    2024年02月04日
    浏览(40)
  • 【网络安全 | 网络协议】结合Wireshark讲解TCP三次握手

    TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。在建立 TCP 连接时,需要进行三次握手,防止因为网络延迟、拥塞等原因导致的数据丢失或错误传输,确保双方都能够正常通信。 TCP三次握手在Wireshark数据包中是如何体现的?在此之前,先熟悉TCP三次握手的流程。

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

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

    2024年01月21日
    浏览(42)
  • TCP报文与三次握手四次断开、TCP最大连接数与文件打开数限制、keepalive、tcpdump、wireshark抓包分析工具

    tcp详解、tcp与udp对比等 TCP:传输控制协议 UDP:用户数据报协议 源端口和目的端口字段:各占 2 字节(16位)。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 序列号:在建立连接时由计算机生成的随机数作为其初始值,通过 SYN 包传给接

    2024年04月22日
    浏览(44)
  • WireShark使用教程(TCP/IP 部分情况居然变成三次挥手了???)

    下载链接: Wireshark 网络管理员使用WrieShark来检测网络问题 网络安全工程师 使用Wrieshark来检查资讯安全相关问题 开发人员 使用Wreshark来为新的通讯协议除错 普通使用者 使用Wireshark来学习网络协议的相关知识 当然,有的人也会故意的拿它去寻找一些敏感信息 侵犯别人的隐私

    2024年02月21日
    浏览(38)
  • Wireshark数据包捕获与分析 观察三次握手与四次挥手

    本实验使用Wireshark抓取通信数据包。1)观察IP数据包的结构。2)观察TCP的三次握手与四次挥手过程。 预备知识:IP数据报结构、TCP数据报结构。 目录 原理 1. IP数据报结构 2. TCP数据报结构 3. TCP三次握手与四次挥手流程  步骤与结果 1. 使用Wireshark抓取ping命令的完整通信过程的

    2024年02月09日
    浏览(39)
  • 【网络|TCP】三次握手、四次握手

    TCP是一种面向连接的可靠的传输协议,建立和断开TCP连接时需要进行握手的过程。其中,TCP的连接建立需要进行三次握手,而连接断开则需要进行四次握手。 三次握手 第一次握手:客户端发送一个SYN(同步)报文给服务器,表示客户端请求建立连接。这个报文中包含一个初

    2024年02月14日
    浏览(36)
  • TCP | TCP协议格式 | 三次握手

    1.TCP协议 为什么需要 TCP 协议 ?TCP 工作在哪一层? IP网络层是不可靠的,TCP工作在传输层,保证数据传输的可靠性。 TCP全称为 “传输控制协议(Transmission Control Protocol”)。 TCP 是 面向连接的、可靠的、基于字节流 : 面向连接 :一定是「一对一」才能连接,不能像 UDP 协议

    2024年03月24日
    浏览(38)
  • TCP的三次握手

             TCP 是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对方的信息,如 IP 地址、端口号等。         TCP 可以看成是一种字节流, 它会处理 IP 层或以下的层的丢

    2024年02月03日
    浏览(40)
  • TCP三次握手详解

    TCP 传输控制协议  面向连接的可靠传输协议--在完成了传输层的基础工作外,还需要保障传输的可靠性; 面向连接:在传输数据前,需要通过三次握手建立端到端的虚链路 可靠传输:传输过程中使用到4种可靠传输机制;-- 确认、排序、流控(滑动窗口)、重传 TCP建连接三次

    2024年02月15日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包