qt ssh MySQL_了解QSsh —— qt版的ssh实现 (四) ssh交互了解

标签:

打开了之前看到的两个CREATOR_SSH_DEBUG调试

e29fc36be49b57d9928355da0c4b432a.png

先看下state状态

//NOTE:Whenyouaddstuffhere,don‘tforgettoupdatem_packetHandlers.

enumSshStateInternal{

SocketUnconnected,//initialandafterdisconnect

SocketConnecting,//AfterconnectToHost()

SocketConnected,//Aftersocket‘sconnected()signal

UserAuthServiceRequested,

UserAuthRequested,

ConnectionEstablished//Afterservicehasbeenstarted

//...

};

2是SocketConnected,是前面3个包。

3是UserAuthServiceRequested,第四个包,说明第3个包处理之后就是认证服务请求了。

4是UserAuthRequested,第五个包。

5,服务已经启动了,说明五个包之后服务就起来了。

这个很重要,需要结合这个来分析抓到的包。差点忘了,这些是incoming接受到server的第几个包,差点惯性认为是交互的第几个包了。一开始写的时候就想错了,现在回过来说明下。这里的包状态说明使用(1)(2)(3)(4)(5)...来说明

登陆成功后显示信息

7963a1b005ef16ddc0f57b8c3827dfa6.png

上面整个过程抓到的

691709fda7d7eced0abe7a2c56b7afde.png

第一个包,分析过了,连接成功后状态就是SocketConnected,然后发送ClientId

87ef46349f0bbe065c4d8700998b7649.png

第二个包,状态为SocketConnected,第(1)个包,server返回ServerId

8d69b3b4b437245a504f982f68d9fcf8.png

第三个包,状态为SocketConnected,之前就分析到第二个包,现在知道了收到ServerId后要发送Key Exchange Init,现在我依然没有去看SSH协议介绍,只说我的理解。这个应该是告诉Server,client这边key交换已经初始化好了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值