android - 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 计算机: 请求和回复都很好地传递,但是当我尝试反过来(计算机 ping 设备)时,ping 请求超时并进入Wireshark 我得到以下信息:
Android 似乎拒绝或忽略了通过以太网适配器的所有请求。是否有理由和/或其他方式来设置我的连接,以免发生这种情况?
其他设备详细信息: Moto Z Play 与 Android 7.1.1; 带有 Android 5.1 的 Moto G(以太网图标不显示,但连接工作相同)
解决方案
推荐阅读
- reactjs - React useState:如何更新对象并使用变量的数值作为键?
- autodesk-forge - PDFExtension 疑难解答,无法在 Autodesk Forge Api v7.55 上运行
- sql - 带分组的 Tableau/SQL 计算字段
- java - Java - 方法中已定义的变量名称
- rust - 如何在 rust 的 main 函数中使用 impl 函数?
- c# - 使用影子属性的最小起订量测试功能
- julia - 从现有 Project.toml 文件创建环境
- git - 是否有可能在 git rebase 与 master 分支之后,一些提交消失了?
- macos - mac os上为什么要使用brew安装anaconda
- python - 对列表中的所有项目运行函数(将日期列表转换为 Unix 时间戳)