利用wireshark对TCP抓包分析

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

抓包结果已上传可免费下载对应观看:
wireshark抓包结果

一、流程梳理

我的机子192.168.1.131简称A与服务端机子223.166.138.30简称B先三次握手建立TCP连接,再进行HTTP请求,最后四次挥手断开TCP连接
1.三次握手:
利用wireshark对TCP抓包分析
A先给B发出一个SYN包请求建立连接
B给A发回一个ACK SYN包针对上一个SYN请求且发出请求建立连接
A再给B发回一个ACK包针对上一个SYN请求

2.PSH
利用wireshark对TCP抓包分析
TCP segment of a reassembled PDU,字面意思是要重组的协议数据单元(PDU:Protocol Data Unit)的TCP段。比如由多个数据包组成的HTTP协议的应答包,如下

这里的分段是指:上层协议HTTP的应答由多个分段组成,每个分段都是TCP协议的。TCP本身没有分段的概念,它的sequence number和acknowledge number 是使TCP是基于流的协议的支撑,TCP segment of a reassembled PDU的出现是因为Wireshark分析了其上层的HTTP协议而给出的摘要,如果配置Wireshark不支持HTTP协议解析

参考:https://blog.csdn.net/weixin_30439067/article/details/97999147?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-97999147-blog-103210932.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-97999147-blog-103210932.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=2

PSH(Push):告诉对方收到该报文段后是否立即把数据推送给上层。如果值为 1,表示应当立即把数据提交给上层,而不是缓存起来。

3.HTTP的请求与相应
利用wireshark对TCP抓包分析
HTTP的工作方式是先由客户端向服务器发起一个请求,再由服务器回复一个相应,根据不同需要,客服端发送的请求会用到不同的方法,有GET、POST、PUT等,
这里使用了POST方法,多用于网站上登录账号,用来传输实体的主体
/cloudquery.php表示请求URI
HTTP/1.1表示协议版本
对于POST方法的相应是服务端接收主体的处理结果
200OK表示从客服端发来的请求在服务器端被正常处理了

4.TCP的四次挥手
利用wireshark对TCP抓包分析
由于TCP是全双工连接,需要双方互相通知断开连接,然后对端应答这个通知
这里和书上的例子顺序会有所不同
A主机先发送断开连接请求
B主机紧接着发送断开连接请求
B主机相应A主机的断开连接请求
A主机响应B主机的断开连接请求

二、读网络包

现在打开B主机响应A主机建立连接请求的第80号包:
利用wireshark对TCP抓包分析
最下方的为整个数据包的16进制形式,由于是对于建立连接请求的相应包,所以并没有携带要传输的信息,只有各个层的数据头

第一行:因为这个包是在主机上抓的,所以最外层的是通过数据链路层封装的,数据链路层会将数据包封装陈帧(Frame),帧的序号就是这个包的序号,该包共64字节
第二行:数据链路层,从中可以看到相邻两个设备的MAC地址,源MAC地址还能看到路由器的型号捏,因此该网络包才能以接力的方式送达目的地址
第三行:网络层,在该数据包中本层主要任务是把TCP层传下来的数据加上目的地址和源地址
第四行:传输层,指明使用了TCP协议及原端口号和目的端口号,以及TCP连接中的一些信息
第五行:填充的意思。
因为在以太网中,规定最小的数据包为64个字节,如果数据包不足64字节,则会由网卡填充。
在sniffer中显示padding,而wiershark则显示trailer。

点开网络层,再点开其中的源IP地址:
利用wireshark对TCP抓包分析
223对应df,166对应a6,138对应8a,30对应1e
1e:16+14=30
再点开传输层:
利用wireshark对TCP抓包分析
可以看到源端口号为80,目标端口号为55469
序列号为11769945
确认应答号为1205542292
数据偏移,保留,控制位一起记录在flags中:
利用wireshark对TCP抓包分析
16进制70转为二进制:0111 1110
首部长度0111转为十进制为7,TCP首部长度单位为4字节,即28字节
保留位1110,主要是为了以后扩展使用,暂时忽略
16进制12转为二进制:0001 0010
对应图上只有SYN与ACK置1,确实符合
利用wireshark对TCP抓包分析
窗口大小14600
校验和0x0376
紧急指针0
选项:选项字段主要用于提高TCP的传输性能
利用wireshark对TCP抓包分析
对TCP首部一个更直观的展示:
利用wireshark对TCP抓包分析

三、关于TCP的三次握手与四次挥手

利用wireshark对TCP抓包分析
A与B单独维护其发送法术网络包的序列号
A发送表示建立连接的网络包序列号为1205542291
B也发送表示建立连接的网络包,其序列号为117691945,其中确认号为1205542292,在建立和断开连接时发送的SYN包和FIN包虽然并不携带数据,但是也会作为一个字节增加对应的序列号,否则其序列号就是上一个数据包的序列号加上其长度,这个确认号既表示收到了上一个数据包,又表示对方下次发数据包的起始序列号应该是多少
A针对B发送的建立连接请求发出一个确认,其序列号为1205542292,确认号为117691946
利用wireshark对TCP抓包分析

大部分与握手时相似,注意的点:
TCP连接断开前进行是HTTP的响应,该响应的序列号117691946,长度为482,加起来为117692428,也就是B下次再发数据包的序列号
倒数第二个包既不是syn包也不是fin包,其中也没有数据,因此B端的syn计数不会加1

四、关于窗口大小的变化

MSS:maximum segment size最大消息长度

MSS (Maximum Segment Size)是 TCP Layer (L4) 的属性, MSS 指的是 TCP payload 的长度. 当在 MTU 1500 的网络上传输时, MSS 为 1460 (即 1500 减去 20 字节 IP 头, 20 字节 TCP 头).
发送窗口决定了一口气能发送多少字节,而MSS决定了这些字节要分成多少个段发送
如发送窗口是16000字节时,MSS是1000字节,就要分成16个段进行发送

在建立TCP连接时,两端互相发送MSS然后取最小的MSS投入使用
利用wireshark对TCP抓包分析
这里两个MSS一样

流控制:TCP提供一种机制可以让发送端根据接收端的实际接收能力控制发送的数据量,具体操作:接收端主机向发送端主机通知主机可以接收数据的大小,于是发送端会发送不超过这个限度的数据,当接收端的缓冲区溢出时,窗口大小的 值也会随之设置成一个更小的值通知发给发送端,从而控制数据发送量。
注意window size不是指发送窗口,而是告诉对方自己的接受窗口,也就是自己的缓冲区大小文章来源地址https://www.toymoban.com/news/detail-494055.html

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

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

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

相关文章

  • 使用WireShark抓包分析TCP_IP协议

    TCP/IP 协议 是一组用于互联网通信的协议。它由两个主要协议组成:传输控制协议( TCP )和互联网协议( IP )。TCP/IP协议是互联网上最常用的协议之一,它使得不同类型的计算机和网络设备能够相互通信。 TCP负责将数据分割成数据包,并确保它们在网络上的传输。 IP负责将

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

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

    2024年02月11日
    浏览(40)
  • 实现Telnet、SSH远程登录,利用Wireshark抓包分析实验(真机)

    1.了解telnet和ssh远程连接应用,了解二者的区别,理解ssh加密传输的必要性 2.掌握ssh在交换机、路由器应用的配置过程         交换机1台,路由器1台,直通线及交叉线各1条,配置线1条,安装有ssh连接工具的客户机1台(如果电脑没有SSH,可以使用XShell也可以用PuTTy连接)。

    2023年04月09日
    浏览(52)
  • Wireshark抓包分析TCP协议:三次握手和四次挥手

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

    2024年01月21日
    浏览(45)
  • 实验7 利用Wireshark软件分析TCP

    目录 一、 实验目的及任务 二、 实验环境 三、 预备知识 四、 实验步骤 五、 实验报告内容 一、 实验目的及任务 1.通过协议分析进一步明确TCP报文段结构中各字段语法语义; 2.能够描述TCP协议的序号确认机制、连接管理、RTT估算、流量控制机制。 二、 实验环境 联网的

    2023年04月08日
    浏览(43)
  • Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

    分析相关功能所抓取的数据包和完整大作业报告(word版)均已上传至 Wireshark抓包分析微信功能----tcp/ip选修课期末大作业-网络监控文档类资源-CSDN文库 适合Wireshark入门的小伙伴们或者赶计算机网络期末大作业无从下手的uu们。 铁汁们,请放心食用!加油吧,期末人!开卷,绝

    2024年02月08日
    浏览(67)
  • wireshark分析tcp传输之文件上传速率问题

    在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查丢包问题的手段。 但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有丢包产生,但是网络传输速率就是很慢,或者有丢包产生,但无法知道丢包的详细过程,无法知道整

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

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

    2024年04月22日
    浏览(45)
  • wireshark抓包TCP数据包

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

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

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

    2024年02月16日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包