说明一下整个过程
1、TCP握手建立连接
2、Banner报文
Client => Server banner消息,就是一个hello包 ,带上版本信息和标识
Server => Client banner消息,也是一个hello包
3、Key Exchange Init
交换客户端和服务器双方支持的加密组件的协议和版本,并选择双方支持的协议和最高版本
Server => Client
Client => Server
Client => Server
Server => Client
Client => Server
到这里以上都是明文发送,下面都是加密的了
4、
加密前buffer
0x00633288 00 00 00 20 0e 05 00 00 00 0c 73 73 68 2d 75 73 ... ......ssh-us
0x00633298 65 72 61 75 74 68 f8 8a d7 f5 7e 06 bc 7e 62 ff erauth????~.?~b.
0x006332A8 0d 7a e0 4e
当前采用aes256-gcm算法对数据进程对称加密
加密前后长度均为0x24字节
0x0062D838 00 00 00 20 43 a9 82 6c 50 1a fa 13 95 b9 a0 0c ... C??lP.?.???.
0x0062D848 a3 e6 a3 73 87 12 ef e2 8b ec 3e 48 60 39 c6 1a ???s?.????>H`9?.
0x0062D858 63 30 a9 6e
5、用户认证
0x005FB7F8 32 00 00 00 04 72 6f 6f 74 00 00 00 0e 73 73 68 2....root....ssh
0x005FB808 2d 63 6f 6e 6e 65 63 74 69 6f 6e 00 00 00 04 6e -connection....n
0x005FB818 6f 6e 65
0x007FD388 32 00 00 00 04 72 6f 6f 74 00 00 00 0e 73 73 68 2....root....ssh
0x007FD398 2d 63 6f 6e 6e 65 63 74 69 6f 6e 00 00 00 08 70 -connection....p
0x007FD3A8 61 73 73 77 6f 72 64 00 00 00 00 0d 5c 55 51 57 assword.....
0x007FD3B8 64 79 68 74 40 6e 61 73 73 00 00 00 00 00 00 00 .