Я пытаюсь добавить некоторые правила для фильтрации сетевого трафика с / на устройство (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";
}
}
Есть идеи? Я бью стену. Любая помощь высоко ценится. Спасибо!