自学内容网 自学内容网

tcp-learner 数据包分析 20240420

输入输出:
在这里插入图片描述

数据包分析:
在这里插入图片描述
learner和Adapter建立连接。

在这里插入图片描述
Learner让Adapter发送RST

在这里插入图片描述
Adapter没有从SUT抓到任何回复,于是向learner发送timeout

在这里插入图片描述
learner给adapter发送reset命令,让SUT重置。

在这里插入图片描述
这是第一次初始化,由于Adapter和SUT之间没有控制信道来传送消息,Adapter和SUT开放的5001端口建立连接。

在这里插入图片描述
连接建立后,SUT会监听一个端口,并把端口号告诉Adapter

在这里插入图片描述
Learner让Adapter发送PA数据包,SUT返回RST,Adapter把结果告诉learner

在这里插入图片描述
Learn让Adapter发送RST给SUT,SUT没有返回任何数据包,Adapter给Learner返回timeout,

在这里插入图片描述
在这里插入图片描述
Learner给Adapter发送reset,想要重置连接,并给出下一轮需要发送的消息RA。

在这里插入图片描述
在这里插入图片描述
Adapter给SUT发送reset指令,SUT重新监听一个端口,并把这个端口返回给Adapter

在这里插入图片描述
Adapter给SUT发送RA,SUT没有回复,于是Adapter给learner返回timeout

在这里插入图片描述
learner让Adapter给SUT发送R,没有收到SUT回复,Adapter给Learner回复RST。

下面一段类似:
在这里插入图片描述

  • learner发送reset
  • learner发送吓一条测试数据包FA
  • Adapter给SUT发送reset
  • SUT给Adapter回复端口
  • Adapter发送FA,获得RST
  • Adapter将RST告诉Learner
  • Learner让Adapter发送RST
  • Adapter发送RST,超时,Adapter给learner返回timeout
  • learner发送reset

重复上述过程
RST,timeout
重置

PUSH/ACK,RST
RST,timeout
重置

RST/ACK,timeout
RST,timeout
重置

FIN/ACK,RST
RST,timeout
重置

SYN/ACK,RST
RST,timeout
重置

PUSH/ACK,RST
ACK,RST
RST,timeout
重置

RST/ACK,timeout
ACK,RST
RST,timeout
重置

FIN/ACK,RST
ACK,RST
RST,timeout
重置

SYNACK,RST
ACK,RST
RST,timeout

ACK,RST
PUSH/ACK,RST

感觉不是很合理,为什么会多次出现xx/ACK?

具体的学习顺序是什么?
得去看一下Learner侧的代码


原文地址:https://blog.csdn.net/weixin_44033321/article/details/138002332

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!