Как получить больший контроль над сетевыми пакетами на Android

Я хочу разработать приложение, которое потребует глубокого контроля над IP-пакетами. Просматривая справочное руководство на сайте разработчиков Android, я вижу очень ограниченный контроль над пакетами из java.net:SocketOptions и java.net:DatagramPacket. В частности, я хочу контролировать отдельные биты в пакете, чтобы устанавливать флаги TCP, SYN/ACK/RST и так далее. Основываясь на документах, я предполагаю, что не могу сделать это с помощью Java API, предоставляемого Android, и я предполагаю, что мне придется сделать это каким-то другим способом?

Кто-нибудь знает об этом?


person hellstorm    schedule 16.03.2010    source источник
comment
Я не думаю, что это возможно. Может быть, вы можете сделать это с помощью NDK, но у меня нет опыта его использования, поэтому я даже не могу вам сказать, поставляет ли NDK нам сокеты (Berkeley).   -  person MrSnowflake    schedule 16.03.2010
comment
Вот еще вопрос, возможно ли это без рута? Обычно необработанные пакеты требуют привилегий root в большинстве операционных систем.   -  person hellstorm    schedule 16.03.2010


Ответы (1)


Итак, похоже, что SDK не может сделать то, что мне нужно. NDK может это сделать, но, если подумать, я считаю, что даже при использовании этого потребуются привилегии root для создания необработанных пакетов. Поскольку в настоящее время я не собираюсь рутировать свой телефон, все это будет приостановлено.

person hellstorm    schedule 06.04.2010