Самый простой способ, который я могу придумать, это просто проверить приложение traceroute
для Linux, выполнить его и проанализировать его вывод.
Android имеет полную сетевую поддержку, однако Java не предоставляет интерфейс для изменения заголовка IP. Следовательно, ручное создание пакетов ICMP исключено (JPCAP здесь не поможет, так как он опирается на libpcap, который, я полагаю, вы не найдете ни в одной ванильной установке).
Другое возможное решение состоит в том, чтобы использовать NDK и создать небольшую библиотеку, которая обрабатывает перебор числа низкого уровня. Однако я не уверен, что NDK позволит вам использовать setsockopt
.