Android:如何远程登录电话?
Posted
技术标签:
【中文标题】Android:如何远程登录电话?【英文标题】:Android: how to telnet a phone? 【发布时间】:2011-08-02 02:49:26 【问题描述】:我想知道是否可以在通过 USB 连接的 android 手机的某个端口上远程登录。我已经看到,如果我 telnet localhost:5556,我会去模拟器。
我可以在连接物理设备时做类似的事情吗?可以处理哪些命令?
【问题讨论】:
【参考方案1】:嗯,adb shell
是连接终端的方式。您实际上可以telnet
到设备上您想要的任何端口,只需要有一个应用程序侦听该端口即可。我不相信这些设备提供与模拟器相同的功能,因为它允许恶意用户做很多事情。此外,使用模拟器通过 telnet 提供的功能旨在提供开发功能,以克服不在物理设备上的限制(端口转发等)。我不确定目标是什么,但您可以创建一个应用程序支持 telnet 并根据需要绑定到设备上的特定端口。
【讨论】:
angler:/ $ telnet localhost 5554 /system/bin/sh: telnet: not found 它不起作用【参考方案2】:在您的安卓手机中,您应该安装了一个 terminal.apk(app) 或其他一些终端应用程序。你还需要busybox(app),我假设你已经root了你的安卓设备。打开它,输入如下命令:
su
busybox telnetd -l /system/bin/sh
现在在您的客户端机器上输入如下命令:
adb forward tcp:6000 tcp:23
telnet 127.0.0.1 6000
~~你来了
【讨论】:
为什么要使用 tcp:23?背后的原因是什么? @AniketThakur TCP 端口 23 是默认的 telnet 端口。但它需要 setuid root (su) 才能工作。 Simon - 超链接 +1。【参考方案3】:Google Play 上有一个免费的 Android 应用程序“终端 IDE”。安装它。 这个应用程序有内置终端,打开终端并输入 telnetd,它将在安卓手机上启动 telnet 服务。 使用usb将手机连接到电脑。 在命令提示符下输入
-
adb forward tcp:[你的端口号] tcp:8080
telnet 127.0.0.1:[你的端口号]
完成了!!!
【讨论】:
为什么要使用 tcp:8080?背后的原因是什么? @AniketThakur 如果您不是 setuid root,则需要使用端口 > 1024。8080 是一种流行的默认选择。【参考方案4】:如果您有Android Device Bridge,一个简单的adb shell
应该可以让您访问命令行。
编辑:我没有对此进行测试,但您可以检查 /system/bin 是否有“telnetd”。尝试运行它,然后输入“netstat”。您应该从 netstat 收到一个 IP 地址,并且可以远程登录到该 IP 地址。
【讨论】:
以上是关于Android:如何远程登录电话?的主要内容,如果未能解决你的问题,请参考以下文章