本文主要是介绍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侧的代码
这篇关于tcp-learner 数据包分析 20240420的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!