首页 > 解决方案 > Android 拒绝通过以太网适配器连接

问题描述

我的应用程序中有一个由Apache SSHD库提供的 SFTP 服务器,我可以通过 Wifi 网络连接毫无问题地访问它,但在这个项目中,我需要通过以太网连接访问这个服务器。

我有一台 ip 为169.254.2.2的计算机,我通过 USB 转以太网适配器(连接后成为eth0接口)将它连接到 Android 设备。

由于它将运行应用程序的根设备,我使用su进程通过以下命令设置网络接口的配置:

ip addr add 169.254.2.1/24 dev eth0
ip route change 169.254.2.0/24 via 169.254.2.2 dev eth0

//I'm using route change because as soon as I add the ip
//it creates a route table to 169.254.2.0

上面的设置似乎有效,因为以太网图标开始显示在我的设备上,并且 ifconfig 命令确认分配的 IP,但是当我尝试从计算机连接到 SFTP 服务器时,连接超时。

因此,我尝试通过使用 Wireshark 监控网络的设备 ping 计算机: Android 设备 ping 计算机 请求和回复都很好地传递,但是当我尝试反过来(计算机 ping 设备)时,ping 请求超时并进入Wireshark 我得到以下信息: 计算机 ping Android 设备

Android 似乎拒绝或忽略了通过以太网适配器的所有请求。是否有理由和/或其他方式来设置我的连接,以免发生这种情况?

其他设备详细信息:
Moto Z Play 与 Android 7.1.1;
带有 Android 5.1 的 Moto G(以太网图标不显示,但连接工作相同)

标签: androidnetwork-programmingrooted-device

解决方案


推荐阅读