微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在我的 Android 应用程序 (java) 中,我想在通过 USB 连接将我的 Android 连接到另一台设备时检索 IP 地址

如何解决在我的 Android 应用程序 (java) 中,我想在通过 USB 连接将我的 Android 连接到另一台设备时检索 IP 地址

我很确定这是可能的,因为我成功从我安装了 nmap 并运行以下命令的 termux Android 应用程序得到了相同的结果:

  • 先运行 ifconfig获取设备 IP (xxx.xxx.xxx.x)
  • 运行nmap -sn xxx.xxx.xxx.x/24

注意:设备没有root,它甚至可以在飞行模式下工作。

测试设备:Android 版本 11,Samsung galaxy m30s

我尝试了 usb overview 的官方 Android 文档(usb 管理器、usbdevicce 等),甚至在我的应用程序中运行命令行,但没有成功(但是,一旦我知道 IP 地址,我就能够执行 ssh通过命令行)。

解决方法

您可以获得设备的IP地址。

进程 p = Runtime.getRuntime().exec("/system/bin/ip address");

这会给你很多信息,包括环回、ip4、ip6、广播等

您可以使用其他开关根据您的要求对其进行进一步修改。

获取所有可用的开关

打开终端/命令提示符 连接您的 Android 设备

类型 - ADB 设备 您应该能够看到您的设备。

然后输入ADB shell并回车

然后输入 /system/bin/ip --help

这将显示此 IP 实用程序的所有开关。

,

您可以向 httpbin 服务器发送请求,并从响应中获取答案。

例如

请求网址

https://httpbin.org/ip

响应正文

{
    "origin": "104.132.33.92"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?