我们可以借助 usbmuxd 这个工具通过USB连接。
usbmuxd 是苹果的一个服务,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes、Xcode,都直接或间接地用到了这个服务。它提供了一个USB - TCP的转换服务。
这样当前连接设备的22端口(SSH端口)映射到电脑的1234端口,因此想和设备通信,直接和本地端口1234通信就可以了。
如果你还是连不上设备,那就打开i4助手-工具箱-打开SSH通道。当然前提是设备已经安装了OpenSSH。以下为翻译内容
为了获取设备上安装的所有app列表:
输出类似内容如下:
为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下
显示某个app的属性,你可以使用下面的命令
输出类似内容如下:
为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下
备注:
显示某个app的属性值,你可以使用下面的命令
举例,如果你想获取苹果天气app的安装路径,你可以使用 path 属性:
为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下
备注:
安装一个app到设备,你可以这样做:
为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下
备注:
卸载一个app,你需要提供 bundle identifier
为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下
备注:
假如你的app建立了一个监听某个端口的TCP server,通过USB访问这个端口是非常有用的(无需通过WIFI/3G)。设备允许你建立一个通道在电脑和设备之间通过USB接口,你通过访问电脑上的某个端口,手机会将这个连接转到具体的监听端口通过如下命令:
如果先前的例子视图解释和说明Mac‘s TCP 端口 8080 和设备的TCP端口80,内容输出如下
如此你可以通过 telnet localhost 8080 和手机端开启的TCP 80端口服务进行通信
为了精准的获取某个设备,你也可以追加 -u <udid> 标记,如下
备注:
这是一个公共命令,跟 MobileDevice Framework没有关系。为了获取标示符(eg commycompanymyapp)你可以使用如下命令,必须是一个可用的app文件不是ipa!)
备注:
找到一个bug? 或者想增加一个功能?
你可以fork这个工程,并且给我提一个合入申请
mobiledevice使用的是MIT 授权
>简要记录终端常用命令,方便后续查看。
1、otool
参数:-L [要查看的文件路径]
作用:能查看该文件引用了哪些库
2、lipo
(1)参数:-info [要查看的文件路径]
作用:能查看该文件包含了哪些架构
(2)参数:-remove [真机或者模拟器架构] [二进制文件文件名] -o [二进制文件文件名]
如:lipo -remove x86_64 AipBase -o AipBase
使用场景:当一个库( framework )同时包含了真机(常见的真机架构如:arm64、arm64e)或者模拟器架构(常见的模拟器架构如:i386、x86_64)时,很容易就会出现问题。比如无法用Xcode导出 ipa 包,Xcode 会报 IPA processing failed 的错误。此时如果没有库的源码,无法重新编绎重新生成目标架构的库时,则可以使用该命令,去掉真机或者模拟器的架构,再重新打包即可。
作用:直接对库进行 *** 作,去掉库中不需要的架构,重新生成包含目标架构的库。
3、security cms
参数:-D -i [要查看的描述文件路径]
作用:能查看描述文件的详细信息,包括对应的证书信息、过期时间等
4、grep
使用举例:grep "[要定位的字符串]" -R -i
作用:在指定目录查找该目录下是否包含要定位的字符串,-R -i 忽略大小写
5、strings
使用举例:strings [要查看的二进制文件路径]
作用:能在二进制文件中查找可打印的字符串
6、clear
作用:清屏
7、certtool d
使用举例:certtool d testcer
结合security cms -D -i 查看描述文件对应的证书信息
8、ideviceinstaller
使用举例: ideviceinstaller -i /Users/pilipala/Desktop/Test/2022-05-13_14-09-54/Testipa
作用:安装ipa到手机、查看安装失败日志
ios如何连接:
打开“菜单”,选择“设置”,根据安卓系统的不同,打开“无线&有线网络”或“无线控制”选项,选择“设置”,选择“添加”,根据协议不同,可选择“添加 PPTP ”或“添加L2TP/IPsec PSK ”。详细信息参考下文的“小提示”。
选择“名”,然后输入的描述性名称。描述性名称可随意选择。选择“设置服务器”,输入服务器IP地址。 设定加密。和你的运营商联系,看看你的连接是否加密。打开菜单,然后选择“保存”。
你可能需要确认储存密码。这个密码是安卓设备的密码,而不是密码,打开菜单,然后选择“设置”。选择“无线和网络”或“无线控制”。
从列表中选择你创建的配置。输入用户名和密码,选择“记住用户名”和“连接”,然后就可以连接到了。顶栏会出现一个钥匙图标,表明已经连接成功。
发展历程:
2007年1月9日苹果公司在Macworld展览会上公布,随后于同年的6月发布第一版iOS *** 作系统,最初的名称为“iPhone Runs OS X”。
2007年10月17日,苹果公司发布了第一个本地化iPhone应用程序开发包(SDK),并且计划在2月发送到每个开发者以及开发商手中。
2008年3月6日,苹果发布了第一个测试版开发包,并且将“iPhone runs OS X”改名为“iPhone OS”。
2008年9月,苹果公司将iPod touch的系统也换成了”iPhone OS“。
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。 SSH协议可以用来进行远程控制, 或在计算机之间传送文件。OpenSSH连接(登录)手机
1 在cydia 中安装OpenSSH 包
2 打开手机wifi设置
3 连接wifi
4 读取ip地址
5 打开终端
6 运行命令 ssh root@你的ip
7 输入密码: alpine (可以自定义)
ssh 到你的 iPhone,修改 root/mobile 两个权限下的密码。默认密码是 alpine,使用 passwd 命令修改密码。
修改 root 权限密码
likid$ ssh root@19216818167 // use root role to login
The authenticity of host '19216818167 (19216818167)' can't be established
RSA key fingerprint is SHA256:xxx
Are you sure you want to continue connecting (yes/no) yes
Warning: Permanently added '19216818167' (RSA) to the list of known hosts
root@19216818167's password: // enter original passwordalpine
iPhone:~ root# passwd // change password command
Changing password for root
New password: // enter your new password
Retype new password: // again
iPhone:~ root#exit // logout
logout
Connection to 19216818167 closed
修改 mobile 权限密码
Likid$ ssh mobile@19216818167 //use mobile role to login
mobile@19216818167's password: // enter original passwordalpine
iPhone:~ mobile$ su root
Password:
iPhone:/var/mobile root# cd
iPhone:~ root# passwd mobile
Changing password for mobile
New password:
Retype new password:
iPhone:~ root#exit
logout
Connection to 19216818167 closed
SSH公钥登录的前提是已经登录过SSH
SSH公钥登录的原理
Mac电脑将自己的公钥发给远程的手机
手机随机生成的一段字符串, 发给Mac电脑
Mac电脑利用私钥加密字符串
手机利用公钥解密字符串
SSH公钥登录步骤:
1 cd ~/ssh 目录下 (ls 查看当前路径下文件)
Snip20180602_1png
2 ssh-keygen 创建RSA 密钥
ssh-keygen
使用上述命令创建 RSA的公钥和私钥
输入命令之后, 一路回车就可以, 生成下图中两个私钥 id_rsa 和公钥 id_rsapub
生成密钥
3 ssh-copy-id root@1921681102 拷贝密钥到服务器
ssh-copy-id root@1921681102
这里的ip是你手机wifi的ip地址, 会将文件拷贝到 ~/ssh/ 目录下
中间会需要你输入链接服务器(手机)的密码
密码默认是: alpine (在OpenSSH源中可以看到)
5 ssh root@1921681102 登录SSH
ssh root@1921681102
苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接
USB 登录需要端口映射,目前有两种方式映射
Python脚本 tcprelay 端口映射:
# 将本地的12345端口映射到设备的TCP端口22# -t 表示能够同时支持多个SSH连接HanDaDaMacBook-Air:~ HanDaDa$python tcprelaypy -t 22:12345
Iproxy端口映射
# 安装libimobiledevice工具 或者usbmuxd
HanDaDaMacBook-Air:~ HanDaDa$brew install libimobiledevice
或者
HanDaDaMacBook-Air:~ HanDaDa$brew install usbmuxd
# 映射端口HanDaDaMacBook-Air:~ HanDaDa$iproxy 12345 22
以上两种方式成功后皆可通过以下SSH连接登录手机
# ssh连接本地的端口12345,由于做了端口映射,所以会通过usb连接对面设备的22端口。# 127001 是IP地址# -p 表示端口号HanDaDaMacBook-Air:~HanDaDa$ssh-p12345root@127001
!!!注意:要想保持端口映射状态,不能终止此命令行(如果要执行其他终端命令行,请新开一个终端界面),不一定非要10010端口,只要不是保留端口就行
端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了
新开一个终端界面,SSH登录到Mac本地的12345端口(以下方式2选1)
ssh root@localhost -p 12345
ssh root@127001 -p 12345
localhost是一个域名,指向的IP地址是127001,本机虚拟网卡的IP地址
usbmuxd会将Mac本地10010端口的TCP协议数据,通过USB连接转发到iPhone的22端口
也可以用itnl工具来实现端口转发
wangguanxiao-2:~ apple$ itnl --iport 22 --lport 10010
[INFO]Waiting for new TCP connection on port 10010
[INFO]Waiting for device
[INFO]Device connected: a7aee83045805b75336d38faec08a3b73b6d49d1 - Ignoring(non-USB)
[INFO]Device connected: a0370fce4f5755310d2a26b020b989c59d9780aa - Ignoring(non-USB)
[INFO]Device connected: a0370fce4f5755310d2a26b020b989c59d9780aa
>Vps使用 *** 作
1打开远程桌面登陆器:
开始-----运行-----mstsc
或者 开始——所以程序——附近——远程桌面连接
2 造成帐户卡死的情况分为多种
第一种客户端同时登陆,造成帐户卡死
第二种,某一帐户在运行某些程序的中途退出远程
第三种某些单用户限制程序被同一系统管理员同时运行
3 不要安装第三方防火墙
如果您需要防火墙,请使用windows自带的防火墙功能,在VPS里安装第三方防火墙会 造成VPS系统崩溃和数据丢失系统会自动获取最新windows补丁并自动进行安装,无需人工干预,在VPS里安装系统补丁,严重时会导致VPS系统崩溃和数据丢失
不要修改远程桌面连接端口
由于VPS系统的特殊性,默认远程桌面端口为3389,不可随意更改,否则会无法进行远程连接
4除了某些程序必须在用户登陆的情况下运行的情况外, 建议退出远程连接时注销用户, 能节省内存资源, 并防止下次登陆出现超出最大连接数的情况 如果出现超出最大连接数的情况, 可以重起VPS
5VPS交付使用时已经做了相关的安全设置, 安全性比较高, 建议不要随便开启防火墙, 如果自己开启防火墙, 也一定要打开以下必要端口:21(FTP), 3389(远程连接), 80(网站>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)