Запуск iptables на рутованном xoom (соте android 3) - PullRequest
2 голосов
/ 18 июля 2011

Я пытаюсь добавить некоторые правила для фильтрации сетевого трафика с / на устройство (Xoom WiFi) с помощью iptables. Команда iptables находится в каталоге / system / bin / iptables на устройстве xoom под управлением Android 3.0.1. Я добавляю правила abel, используя оболочку adb. Однако я не могу сделать то же самое с помощью приложения для Android.

С SU

(su -c command). Xoom был укоренен. И iptables предоставлены su разрешения через приложение Superuser (последняя версия, обновление su bin):

Iptables

07-18 09: 00: 32.990: DEBUG / su (17539): 10054 исполняемых таблиц 0 / system / bin / iptables используя shell / system / bin / sh: sh 07-18 09: 00: 33.010: WARN / su (17546): запрос отклонен (0-> 0 / Система / bin / Iptables)

Чаун

07-18 09: 02: 21.380: WARN / su (17594): запрос отклонен (0-> 0 / Система / бен / CHMOD)

без SU

Iptables

нет вывода. Ничего не произошло. правила не добавляются.

Чаун

нет вывода. работает как положено!?!.

Как запустить команду iptables:

runCommand(new String[] { "su", "-c", "/system/bin/iptables", "-F" });
            runCommand(new String[] { "su", "-c", "/system/bin/iptables", "-A", "OUTPUT", "-d", "184.72.45.145", "-j", "ACCEPT" });

Метод запуска команды:

public static String runCommand(String[] ars) {
    try {
        Process p = Runtime.getRuntime().exec(ars);
        BufferedReader bufferedReader = new BufferedReader(
                new InputStreamReader(p.getInputStream()));

        StringBuffer buffer = new StringBuffer();
        String sCurrentLine;
        while ((sCurrentLine = bufferedReader.readLine()) != null) {
            buffer.append(sCurrentLine);
        }
        return buffer.toString();
    } catch (IOException e) {
        e.printStackTrace();
        return "ERROR";
    }
}

Есть идеи? Я бью стену. Любая помощь высоко ценится. Спасибо!

...