Mac遠程登錄iPhone
一、如何遠程登錄iPhone呢?
- 在逆向的過程中,我們經常需要用命令行來操縱iPhone,所以我們需要Mac與iPhone之間建立連接。
- 為了保證Mac和iPhone之間連接的安全,我們用到了
SSH
,SSH
全稱是Secure Shell
,意思是”安全外殼協議“,這是一種為遠程登錄提供安全保障的協議。
- 為了保證Mac和iPhone之間連接的安全,我們用到了
-
使用SSH,可以把所有傳輸的數據進行加密,可以防止DNS欺騙和IP欺騙,相當于為我們的傳輸套上了一層外殼,保障我們的數據傳輸安全,如下圖所示
SSH為傳輸套了一層殼,保障傳輸安全
-
-
SSH
只是一種協議,我們并不能直接用,想用的話,得用OpenSSH
工具,OpenSSH
是基于SSH協議的免費開源實現,我們可以通過在手機上安裝OpenSSH
工具,來用Mac遠程登錄到iPhone上
-
- 在越獄手機的
Cydia
應用中,搜索OpenSSH
,就可以下載安裝了
- 在越獄手機的
二、如何使用OpenSSH
- 保證Mac和iPhone連著同一個WiFi(因為SSH是通過TCP協議通訊的,所以要Mac和iPhone在同一個局域網下)
- 保證手機上安裝好了
OpenSSH工具
(在越獄手機的Cydia
應用中,搜索OpenSSH
就可以下載安裝了)
- 保證手機上安裝好了
- 在Mac的終端里,輸入
ssh 賬戶名@服務器IP地址
,就可以登錄了,如下圖所示,登錄成功后,就可以使用命令操縱iPhone了。(這里的服務器就是指手機)
ssh root@手機IP地址
- 在Mac的終端里,輸入
-
- 要注意的幾個問題:
(1). iOS下有兩個默認賬戶:
root和mobile
,root是最高權限用戶,mobile是普通權限用戶,一般我們使用root賬戶
,兩個賬戶的默認密碼都是alpine
(2). 第一次登錄的時候,會讓你保存公鑰,輸入
yes
保存即可-
(3). 默認密碼是
alpine
,我們也可以通過passwd
命令,修改密碼,如下所示,在root賬戶下,輸入passwd
和新密碼,就修改了root賬戶的密碼了。
在root賬戶下,修改密碼 (4). 退出命令是
exit
,登錄到iPhone后,想退出登錄就可用exit命令(5). 手機的IP地址,可以在設置->無線局域網->點擊已連WiFI的后面的感嘆號->IP地址中查看
三、使用SSH密鑰登錄,就可以免密碼登錄啦
- SSH的登錄方式分為:
基于密碼的客戶端認證
(就是使用賬號密碼登錄)、基于密鑰的客戶端認證
(就是使用密鑰登錄,不需要賬號密碼,最安全的一種方式)
- SSH的登錄方式分為:
- 密鑰登錄,其實就是在客戶端的
~/.ssh
目錄生成一個公鑰和私鑰
,然后把客戶端的公鑰追加到服務器端~/.ssh/authorized_keys
文件的最后就可以了,如下圖所示
image.png
- 密鑰登錄,其實就是在客戶端的
- 在Mac的終端依次輸入以下三條命令,就可以免密碼登錄了
cd ~/.ssh 首先cd到.ssh目錄下
ssh-keygen 然后用這條命令,一路敲回車,就可以自動生成RSA的公鑰和私鑰
ssh-copy-id root@服務器IP地址 最后將客戶端的公鑰追加到~/.ssh/authorized_keys文件最后就可以了
- 如果配置了免密碼登錄,還是需要輸入密碼,可能是服務器端文件權限的問題,依次輸入以下命令,設置文件權限即可
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
四、為了加快傳輸速度,也可以用USB的方式登錄到iPhone
- SSH的數據傳輸方式有兩種,一種是WiFi傳輸,另一種是USB傳輸。默認走的時候TCP協議,也就是WiFi傳輸數據,為了加快傳輸速度,我們可以使用USB的方式來傳輸。
- iPhone默認是使用22端口進行SSH通訊,以前我們都是使用WiFi把數據傳輸到iPhone22端口的。
-
Mac上有個服務程序usbmuxd(它會開機自啟動的),用它可以將Mac的數據通過USB傳輸到iPhone,如下圖所示:
USB登錄
-
- USB登錄的整個流程是這樣的:
(1). 將Mac的10010端口與iPhone的22端口綁定,這一步,需要用到一個Python腳本,下載地址在這里,下載好以后,使用下面的命令。(想要保持端口映射狀態,不能關閉此命令行,想要執行其他命令,需要重新開一個命令行,快捷鍵Command+T)
cd 下載好的文件目錄/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010
- (2). 端口映射完畢后,想要跟iPhone的22端口通訊,就直接跟Mac本地的10010端口通信就可以了,新開一個命令行后,SSH登錄到Mac本地的10010端口,命令如下
ssh -p 10010 root@localhost
- 如果想要遠程拷貝文件,可以用
scp -P 本地端口號 本地文件路徑 root@localhost:服務器文件地址
命令,例如:scp -P 10010 ~/Desktop/1.txt root@localhost:~/TXT
,注意scp的端口號參數是大寫的P
- 如果想要遠程拷貝文件,可以用
五、用Shell腳本,將常用命令腳本化
- 使用SSH的USB方式登錄手機時,每次都要輸入以下相同的命令,非常麻煩
cd 下載好的文件目錄/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010
新開一個命令行窗口,輸入下面的命令
ssh -p 10010 root@localhost
- 我們可以將上述命令寫到兩個Shell腳本中,例如寫到
usb.sh和login.sh腳本
中,以后每次調用Shell腳本就可以了,如下所示,是不是非常方便呢
- 我們可以將上述命令寫到兩個Shell腳本中,例如寫到
sh usb.sh
新開一個命令行
sh login.sh
-
usb.sh
腳本的編寫方式如下:
-
1.打開命令行
2.vim usb.sh
3.按i進入插入模式,將下面兩條命令,復制進去
cd 下載好的文件目錄/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010
4.按esc,輸入:wq,保存并退出
-
login.sh
腳本的編寫方式如下:
-
1.新開一個命令行
2.vim login.sh
3.按i進入插入模式,將下面的命令,復制進去
ssh -p 10010 root@localhost
4.按esc,輸入:wq,保存并退出
- 以后每次需要以USB的方式SSH到iPhone,就可以使用
usb.sh和login.sh
腳本了,命令都不用記憶了,非常方便
- 以后每次需要以USB的方式SSH到iPhone,就可以使用