Я хочу реализовать функцию traceroute в приложении для Android.
Начал делать это с помощью ping и проанализировать ответ на ping, чтобы восстановить трассировку как
val format = "ping -c 1 -t %d "
command = String.format(format, ttl)
val startTime = System.nanoTime()
elapsedTime = 0f
TimeOutAsyncTask(this, ttl).execute()
// Launch command
p = Runtime.getRuntime().exec(command + url!!)
val stdInput = BufferedReader(InputStreamReader(p.inputStream))
Но это решение давало мне каждый раз 0 как rtt для другого прыжка.
Поэтому я хотел использовать библиотеку C / C ++ paris-traceroute https://paris -traceroute.net / , чтобы получить лучший результат, я следовал этому уроку https://developer.android.com/studio/projects/add-native-code, чтобы интегрировать C / C ++, а затем я был готов с paris-traceroute.so в моем проекте.
Но реально ли это использовать? Я никогда не использовал C / C ++ lib ни для одного из моих проектов.
Пожалуйста, объясните мне, как этого достичь.
Заранее благодарю.