Ping, traceroute и Path MTU на Android без root и NDK

Когда я садился портировать своё iOS-приложение на Android, я был уверен, что ping, traceroute и Path MTU там не сделать: ICMP — это raw-сокет, а raw-сокет — это root. Одна команда adb показала, что я ошибался: любое приложение может открыть непривилегированный ICMP-сокет — без root и без единой строчки на C.

Рассказываю, как на чистом Kotlin устроены ping, traceroute через очередь ошибок сокета и Path MTU через бит DF, и на чём я споткнулся по дороге.

Читать далее

Щелкните ниже, чтобы поставить оценку!
Всего: 0 В среднем: 0

Написать комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *