是否可以通过 Android 手机访问已连接互联网的计算机?(互联网通过网络共享通过手机传输)
我想使用 ssh 连接到计算机(从同一网络中的另一台计算机),但我无法访问该计算机。
是否可以进行端口转发、使用某种透明代理或使用 DMZ?
我的手机已 root 并且安装了 Cyanogenmod,我可以使用 iptables。
编辑:改变的标题彻底改变了问题!
我的设置如下:我有一部通过 USB 数据线连接到电脑的 Android 手机,手机通过 USB 数据线将互联网共享给电脑,我想从与 Android 手机处于同一网络中的另一台电脑通过 ssh 进入 Android 手机后面的电脑。这是不可能的,因为 Android 手机为连接的电脑创建了一个单独的网络,有效地屏蔽了任何传入信号。
事实证明,只需使用 iptables 即可轻松修复。
答案1
事实证明,当将手机绑定为路由器时,它的行为相当简单(wifi 连接在 eth0 上,绑定的计算机连接在 usb0 上)。我猜,以某种方式将交换机连接到手机将允许多台计算机通过电缆连接到一台计算机(一个荒谬的设置,但仍然很有趣 :D)。我必须使用 iptables 将流量从设备的端口 22 路由到所连接设备的端口 22,并接受端口 22 上的流量。
我使用 ssh(DigiSSHD 应用程序)通过 ssh 连接到我的手机,以 root 身份登录并为 iptables 添加了以下两个规则。(其中连接的设备是 192.168.42.185)
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.42.185:22
# iptables -A FORWARD -p tcp -d 192.168.42.185 --dport 22 -j ACCEPT
使用相同的技术,可以使用 Android 手机在无线连接到网络的计算机上运行 Web 服务器。只需将端口更改为端口 80:
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.42.185:80
# iptables -A FORWARD -p tcp -d 192.168.42.185 --dport 80 -j ACCEPT
请注意,iptables 在 Android 上仅受部分支持,据我所知,只有 iptables 二进制文件可用,而没有 iptables-save 和 iptables-restore,您需要为您的设备编译它们。我仍然无法保存我的配置,而且设置往往会经常重置,所以我有时仍然需要查看它。
这篇文章非常有帮助:http://www.fclose.com/b/linux/816/port-forwarding-using-iptables/
答案2
如果只是从 Android 设备访问 PC,则有多种方法可用。例如,要通过 SSH 访问,可以使用连接机器人(或者ConnectBot ssh 代理)。对于图形访问,有多个 VNC 客户端可用(例如安卓 VNC 查看器或 RealVNCVNC 查看器)最后还有以下应用程序:TeamViewer用于图形访问。
有很多可能性和方法......
答案3
或许登录对于 Android 来说可以做到这一点吗?
答案4
某些应用程序可用于此目的。对于 Android,“Team Viewer”就是一切。您可以通过安装客户端软件使用简单的数字代码。通过这种方式,您将有机会在计算机和手机之间传输文件。该应用程序适用于 3G 和 4G