我的应用程序中有一个SFTP服务器由Apache SSHD库提供,我可以通过Wifi网络连接访问它,但是在这个项目中我需要通过以太网连接访问该服务器。
我有一台ip 169.254.2.2 的计算机,我通过USB连接到以太网适配器(在连接成为 eth0 界面时)将其连接到Android设备
由于它是一个运行应用程序的root设备,我使用 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计算机: 请求和回复都得到了很好的传递,但是当我尝试反过来(计算机ping设备)ping请求超时时,在Wireshark中我得到以下内容:
Android似乎拒绝或忽略通过以太网适配器的所有请求。是否有理由和/或其他方式设置我的连接,所以这不会发生?
Additional devices details: Moto Z Play with Android 7.1.1; Moto G with Android 5.1 (ethernet icon doesn't show but the connection works the same)