标签:
打开了之前看到的两个CREATOR_SSH_DEBUG调试
先看下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)...来说明
登陆成功后显示信息
上面整个过程抓到的
第一个包,分析过了,连接成功后状态就是SocketConnected,然后发送ClientId
第二个包,状态为SocketConnected,第(1)个包,server返回ServerId
第三个包,状态为SocketConnected,之前就分析到第二个包,现在知道了收到ServerId后要发送Key Exchange Init,现在我依然没有去看SSH协议介绍,只说我的理解。这个应该是告诉Server,client这边key交换已经初始化好了