首页 > 其他分享 >Wireshark抓包工具--做爬虫必备

Wireshark抓包工具--做爬虫必备

时间:2023-08-08 11:34:31浏览次数:125  
标签:HostB HostA -- 握手 SYN TCP ACK 抓包 Wireshark


 



Wireshark抓包分析TCP的建立与断开过程



tcp 服务器 2010

Wireshark抓包分析TCP的建立与断开过程

一、TCP建立连接



 



说明:在此图中HostA充当客户端角色,HostB充当服务器角色。

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。

第一次握手:建立连接时,HostA发送SYN包(SEQ=a)到HostB,并进入SYN_SEND状态,等待HostB确认。

第二次握手:HostB收到SYN包后,必须确认HostA的SYN(ACK=a+1),同时自己也送一个SYN包(SEQ=b),即SYN+ACK包,此时HostB进入SYN_RECV状态。

第三次握手:HostA收到HostB的SYN+ACK包,向HostB发送确认包ACK(ACK=b+1),此包发送完毕,HostA和HostB进入入Established状态,完成三次握手。

抓包验证:

第一次握手:

第二次握手:

第三次握手:

二、TCP断开连接

当数据传输完毕后,需要经过四次握手来断开TCP连接,其步骤如下:

  1. HostA要终止连接,发送序列号为p的段,FIN置位,同时确认此前收到的段;
  2. HostB收到HostA发送的段后,发送ACK段,确认号为p+1,同时关闭连接。
  3. 同时HostB发送序列号为q的段,FIN置位,通知连接关闭;
  4. HostA收到HostB发送的段后,发送ACK段,确认号为q+1,同时关闭连接。

抓包验证:

第一次握手:

第二、三次握手:

第四次握手:

实验完毕!!!!!!!!!!!!!

                                                                                           Joysin

                                                                                       2010.11.30


Wireshark抓包分析TCP的建立与断开过程

一、TCP建立连接



 



说明:在此图中HostA充当客户端角色,HostB充当服务器角色。

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。

第一次握手:建立连接时,HostA发送SYN包(SEQ=a)到HostB,并进入SYN_SEND状态,等待HostB确认。

第二次握手:HostB收到SYN包后,必须确认HostA的SYN(ACK=a+1),同时自己也送一个SYN包(SEQ=b),即SYN+ACK包,此时HostB进入SYN_RECV状态。

第三次握手:HostA收到HostB的SYN+ACK包,向HostB发送确认包ACK(ACK=b+1),此包发送完毕,HostA和HostB进入入Established状态,完成三次握手。

抓包验证:

第一次握手:

第二次握手:

第三次握手:

二、TCP断开连接

当数据传输完毕后,需要经过四次握手来断开TCP连接,其步骤如下:

  1. HostA要终止连接,发送序列号为p的段,FIN置位,同时确认此前收到的段;
  2. HostB收到HostA发送的段后,发送ACK段,确认号为p+1,同时关闭连接。
  3. 同时HostB发送序列号为q的段,FIN置位,通知连接关闭;
  4. HostA收到HostB发送的段后,发送ACK段,确认号为q+1,同时关闭连接。

抓包验证:

第一次握手:

第二、三次握手:

第四次握手:

实验完毕!!!!!!!!!!!!!

                                                                                           Joysin

                                                                                       2010.11.30

标签:HostB,HostA,--,握手,SYN,TCP,ACK,抓包,Wireshark
From: https://blog.51cto.com/u_16034393/7006307

相关文章

  • 光纤通信与无线电通信的区别有哪些?
    光纤通信和无线电通信是两种不同的通信方式,它们之间的区别如下:传输介质:光纤通信使用光纤作为传输介质,而无线电通信使用空气作为传输介质。传输距离:光纤通信的传输距离较短,一般在几十公里到几百公里之间,而无线电通信的传输距离较远,可以覆盖数千公里以上的范围。抗干扰能力:光纤通......
  • 遇到问题--hadoop---cdh识别不到服务器状态
    情况公司停电之后回来看到集群情况如下,主要问题是cdh识别不到其中一台服务器状态。这种情况下重启整个集群会超时失败。原因识别不到的可能原因有三个:一是服务器没有启动二是cm客户端程序没有启动三是防火墙问题解决方法依次排查以上三个原因解决问题。ssh远程连接服务器可......
  • Go语言的开发环境搭建
    Go语言的开发环境搭建主要涉及以下几个方面:下载Go语言的二进制包,根据自己的操作系统和架构选择合适的版本。你可以从Go语言的官网1或者国内网站2下载。解压缩Go语言的二进制包,将其放到你想要安装的目录下,比如/usr/local/go或者c:\Go。配置环境变量,主要是设置GOROOT和PATH......
  • Hexagon之SmartPlant Foundation基础架构学习
    1SmartPlantFoundation简介SmartPlantFoundation是SmartPlantEnterprise解决方案的信息集成平台,是专门针对石油、化工行业的解决方案(SDx是通用形的),实现工厂全生命周期的数字化资料,包括设计、采购、收购、运营和维护。SmartPlantFoundation使用位号管理让用户基于已有的架构......
  • Bootstrap框架----弹出层录入
    我们经常需要在不跳转页面的情况下新增录入的交互。本章记录弹出层录入的交互方式。效果如图:我们在之前的文章中已经在SpringMVC基础框架的基础上应用了BootStrap的后台框架,在此基础上记录check选择。应用bootstrap模板基础项目源码下载地址为:SpringMVC+Shiro+MongoDB+BootSt......
  • 题解 [国家集训队] 稳定婚姻
    题目链接首先我们考虑用图论的边描述这个关系。若两者存在夫妻或情侣关系,就连一条边(是有向边还是无向边呢?)。先来考虑两对夫妻的情况,若夫妻边与情侣边交替出现。且一对夫妻在同一个环内,则可以说明分开后能够重新找到另一半。如下图:夫妻a-男b-女c-男d-女情侣a-男d-女c-......
  • 遇到问题---hadoop--Remote App Log Directory does not have same value for the 4 N
    情况因为我们的某台服务器空间不足,暂时清理不出来,所以需要修改一些存放数据的日志目录等。修改完毕之后发现报错错误的配置RemoteAppLogDirectorydoesnothavesamevalueforthe4NodeManagers。原因一般来说不同的主机不要求配置的目录一致,但是yarn.nodemanager.remote......
  • 单片机 | 51单片机原理
    文章目录一、引脚分布介绍1.分类2.电源引脚3.时钟引脚(2根)4.控制引脚(4根)5.端口引脚(32根)二、存储器结构及空间分布介绍1.存储器的划分方法2.程序存储器(ROM)3.数据存储器(RAM)三、复位、时钟与时序1.复位与复位电路2.时钟电路3.单片机时序四、并行I/......
  • 遇到问题--hadoop---节点服务重启成功一段时间后又停止
    情况我们发现CDH中一个hbase的regionServer节点经常自动停止,没有明显的错误信息。重启后又过一小段时间又自动停止原因这种情况一般都是需要排查相关服务的日志的,比如我们是regionServer节点的服务,则需要先看regionServer节点的日志。很幸运的是原因很快就找到了。一进入日志界面......
  • Git上传本地项目文件到远程仓库
    为了标识身份,建议先完成Git全局设置gitconfig--globaluser.name"xxxxxx"gitconfig--globaluser.email"[email protected]"方式一:克隆仓库gitclonehttps://xxx.xxxxx.com/xxxxxx/xxx.gitcdxxxtouchREADME.mdgitaddREADME.mdgitcommit-m"addRE......