1, 概述
本篇总结下逆向环境的搭建.
我们在开发的过程中, 需要把mac和越狱iphone链接起来, 方便我们在mac上对手机进行各种调试. 这种链接是使用openSSL框架来进行链接的, openSSL框架是SSL协议的实现.
接下来我们先说一下链接的步骤, 然后简单说明一下SSL、openSSL以及另一个容易混淆的SSH、openSSH的联系和区别.
2, Mac链接越狱iphone的方法
有两种方法:
基于账号密码链接:不安全, 不推荐
基于秘钥的链接:安全, 也是openSSH2.0版本默认的方式, 这种方式不成功才会启动上一种方式.
2.1 基于账号密码链接
这个方法的前提条件必须是:
1, 手机跟电脑使用了数据线连接;
2, 手机跟电脑必须连着同一个WiFi.
为什么要这样, 后面会讲到.
满足这两个条件之后, 我们打开终端, 输入下面的命令
连接手机用到的第一个命令就是:
ssh 用户名@服务器IP
这里手机是服务器, Mac是客户端, 这里我们连接手机的root用户; 怎么查看手机IP地址请自行百度, 这里我的手机IP地址是192.168.199.144, 所以输入的命令是,
ssh root@192.168.199.144
如果是第一次连接, 则还会有这个提示, 根据提示我们输入yes2.2 基于客户端秘钥的连接
这种方式的认证的连接过程步骤如下:
1, 先在客户端Mac生成一对公钥和私钥(命令为ssh-keygen);
2, 把客户端Mac的公钥发送并拼接到服务器端iphone的授权文件的尾部(命令为ssh-copy-id root@服务器IP, 这一步需要输入root账户的密码);
3, 简单聊聊SSH、openSSH
SSH是secure shell的简称, 意思就是"安全外壳", 是一种可以为远程登录提供安全保障的协议; 使用SSH协议, 可以把所有传输的数据进行加密, "中间人"攻击方式就不可能实现, 能防止DNS欺骗和IP欺骗.
openSSH是SSH协议的开源实现, 免费, 可以使用openSSH让Mac远程登录到手机.
openSSH的链接过程主要分为三个阶段:
1, 建立安全连接
2, 客户端认证
3, 数据传输
为了能更好的讲解这三个过程, 我们需要复现刚刚的连接, 这时候就需要先把客户端(Mac端)的公钥先删除, cd到Mac文件下, 使用下面的命令删除上面连接时手机端发给mac的公钥:
ssh-keygen -R 192.168.199.144
删除了公钥之后, 我们开始重新连接手机服务端, 第一步就是建立安全连接.
3.1 建立安全连接
下面的截图是包括了删除公钥和重新连接的命令执行
1,删除公钥;
2, 重新连接手机.
其中2之后就是建立安全连接的过程:
当我们输入ssh root@...命令并按下回车键时, 客户端mac就会向服务端iphone发起连接请求;
服务端iphone收到请求之后, 会将包含公钥信息的内容发给客户端并询问是否继续(截图中最大红色框部分), 此时我们输入yes后就把包含公钥的信息存储到客户端mac了;
接下来就会让你输入服务端openSSH的密码, 这就是下一阶段:
3.2客户端认证
输入默认密码alpine, 链接成功; 到此, 服务端和客户端之间就建立起了安全连接, 就可以发送数据了, 也就是第三阶段.
3.3 传输数据
这个阶段不展开说了.
3.4怎么查看公钥
刚刚建立安全连接的公钥, 有的小伙伴可能会有疑问:我们怎么知道客户端的公钥一定是服务端传过来的呢? 接下来我们比对下两端的公钥.
3.5连接过程中可能碰到的问题
连接过程中可能会有弹出下面的信息, 解说和原因都在截图里了