gpt4 book ai didi

android - 在 android 中实现 Traceroute 功能

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:12 38 4
gpt4 key购买 nike

这是我第一次提出任何问题,请原谅我的任何错误。

我想实现 traceroute 功能,就像 android play 商店中提供的这个应用程序一样。

Visual TracertPro

Traceroute

我知道在 Windows 中输入 CMD 时 traceroute google.com 将显示所有使用的中间 IP。

现在我尝试了什么。

我尝试使用 traceroute 命令,但 android 不支持 traceroute 只有 root 设备支持它。

Process process =Runtime.getRuntime().exec("traceroute yahoo.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
Log.d("*************", ""+output);

所以我想使用 ping 命令来实现,但没有取得任何成功。通过使用 ping 命令,它只提供 google.com 的 ip,而不是我需要的,上面的应用程序显示。

Process process = Runtime.getRuntime().exec("/system/bin/ping -t 1 -c 1 google.com");

BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
Log.d("*************", ""+output);

请指导我如何实现这一目标。一些链接或一些教程将非常有用。

在此先感谢您。

最佳答案

busybox实用程序包括跟踪路由。您可以按照此 youtube tutorial 在您的设备上运行 busybox 而无需对手机进行 root。 .然后您应该能够使用您发布的第一个代码段从您的应用程序中查询 traceroute。当然,调用 traceroute 时需要确保使用正确的路径。

关于android - 在 android 中实现 Traceroute 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15804499/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com