网络工程师必学知识:SSH登录抓包分析报文交互过程
1.概述:
SSH(Secure Shell ,安全外壳协议),就是在不安全的协议外层再加一层安全外壳。比如说telnet+SSH=stelnet。
SSH由三个组件构成:SSH传输层协议、SSH用户认证协议、SSH连接协议。
2.SSH传输层协议:
是一个安全传输协议,建立在tcp/ip之上,通过这个协议协商了所有的密钥交换算法、公钥算法、对称加密算法、消息认证算法。
- 密钥交换算法: 用于产生会话(会话,可以理解为后面进行SSH安全传输数据的整个过程)密钥,迪菲-赫尔曼密钥交换。diffie-hellman-groupXXX
- 公钥算法:用于数字签名。非对称加密 rsa
- 对称加密算法 :会话的加密算。对此加密 aes
- 消息认证算法。用于验证数据完整性。哈希算法 sha
3.SSH用户认证协议:
就是说,Stelnet服务器需要客服端输入正确的账号和密码才能登录。但是还用一种方式就是公钥认证。
4.SSH连接协议:
SSH连接协议也是一个协议,它用如下功能:交互式登录会话,远程执行命令,TCP/IP转发通道,X11通道。我们平时使用到的telnet、ftp、SMTP、IMAP协议就是使用的TCP/IP转发通道功能。如果使用python进行自动化操作就要用到交互式登录会话功能。
5.抓包看看:
SSH交换过程分为5个阶段,如下:
6.总结:
抓包第一、二、三阶段基本上能很清晰的能看出来,四、五有点勉强。因为到了第三步后面的数据就开始加密了。今天到此为止,请关注我,后面更精彩。