Firewall/iptables no smarthphone

1. Firewall/iptables no smarthphone

Edmar
edmarssouzap

(usa Debian)

Enviado em 12/08/2017 - 21:53h

Boa noite!!!

Senhores, esses dias tive uma ideia um tanto bacana, eu explico.
Como a maioria das pessoas com um smarthphone, eu tenho o whatsapp instalado no mesmo. Agora pensa quando você quer ter acesso a internet para ler, estudar, ouvir música e assistir video por streaming e o whatsapp não deixa porque querendo ou não, o pessoal consegue saber que suas mensagens não foi visualizada, mas que você está "online", por conta dos dois sinais que aparece no whatsapp de quem manda a mensagem e depois é aquele negócio: "Eu te mandei msg e você estava on e não quis visualizar". Aff.

Por conta disso, instalei o Droidwall, é um firewall que utiliza o iptables como base, assim posso controlar o acesso de entrada e saída de pacotes dos aplicativos instalados no meu celular. Dessa forma, posso usar a internet e bloqueio o acesso do whatsapp para tal finalidade também, assim caso alguém me envie uma mensagem, não visualizo, porém aparece um sinal somente no whatsapp de quem manda, assim é como se eu estivesse offline.

Agora me surgiu uma outra necessidade, eu quero receber as mensagens que me enviam pelo whatsapp, porém não quero que o whatsapp da dona da mensagem, veja que visualizei, ou seja, quero que os pacotes para o whatsapp entrem no meu smarthphone, mas que nenhum pacote saia para a internet, avisando a remetente da mensagem.

Para tanto, peguei o código que o droidwall está usando para bloquear ou liberar acesso aos aplicativos instalados. Alguém poderia me ajudar em como posso usar o código para esta minha necessidade:


#!/system/bin/sh
IPTABLES=iptables
BUSYBOX=busybox
GREP=grep
ECHO=echo

# Try to find busybox
if /data/data/com.googlecode.droidwall.free/app_bin/busybox_g1 --help >/dev/null 2>/dev/null ; then
BUSYBOX=/data/data/com.googlecode.droidwall.free/app_bin/busybox_g1
GREP="$BUSYBOX grep"
ECHO="$BUSYBOX echo"
elif busybox --help >/dev/null 2>/dev/null ; then
BUSYBOX=busybox
elif /system/xbin/busybox --help >/dev/null 2>/dev/null ; then
BUSYBOX=/system/xbin/busybox
elif /system/bin/busybox --help >/dev/null 2>/dev/null ; then
BUSYBOX=/system/bin/busybox
fi

# Try to find grep
if ! $ECHO 1 | $GREP -q 1 >/dev/null 2>/dev/null ; then
if $ECHO 1 | $BUSYBOX grep -q 1 >/dev/null 2>/dev/null ; then
GREP="$BUSYBOX grep"
fi

# Grep is absolutely required
if ! $ECHO 1 | $GREP -q 1 >/dev/null 2>/dev/null ; then
$ECHO The grep command is required. DroidWall will not work.
exit 1
fi
fi

# Try to find iptables
if /data/data/com.googlecode.droidwall.free/app_bin/iptables_armv5 --version >/dev/null 2>/dev/null ; then
IPTABLES=/data/data/com.googlecode.droidwall.free/app_bin/iptables_armv5
fi
$IPTABLES --version || exit 1

# Create the droidwall chains if necessary
$IPTABLES -L droidwall >/dev/null 2>/dev/null || $IPTABLES --new droidwall || exit 2
$IPTABLES -L droidwall-3g >/dev/null 2>/dev/null || $IPTABLES --new droidwall-3g || exit 3
$IPTABLES -L droidwall-wifi >/dev/null 2>/dev/null || $IPTABLES --new droidwall-wifi || exit 4
$IPTABLES -L droidwall-reject >/dev/null 2>/dev/null || $IPTABLES --new droidwall-reject || exit 5

# Add droidwall chain to OUTPUT chain if necessary
$IPTABLES -L OUTPUT | $GREP -q droidwall || $IPTABLES -A OUTPUT -j droidwall || exit 6

# Flush existing rules
$IPTABLES -F droidwall || exit 7
$IPTABLES -F droidwall-3g || exit 8
$IPTABLES -F droidwall-wifi || exit 9
$IPTABLES -F droidwall-reject || exit 10

# Create the log and reject rules (ignore errors on the LOG target just in case it is not available)
$IPTABLES -A droidwall-reject -j LOG --log-prefix "[DROIDWALL] " --log-uid
$IPTABLES -A droidwall-reject -j REJECT || exit 11

# Allow DNS lookups on white-list for a better logging (ignore errors)
$IPTABLES -A droidwall -p udp --dport 53 -j RETURN

# Main rules (per interface)
$IPTABLES -A droidwall -o rmnet+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o pdp+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o ppp+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o uwbr+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o wimax+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o vsnet+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o ccmni+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o usb+ -j droidwall-3g || exit
$IPTABLES -A droidwall -o tiwlan+ -j droidwall-wifi || exit
$IPTABLES -A droidwall -o wlan+ -j droidwall-wifi || exit
$IPTABLES -A droidwall -o eth+ -j droidwall-wifi || exit
$IPTABLES -A droidwall -o ra+ -j droidwall-wifi || exit

# Filtering rules
# dhcp user
$IPTABLES -A droidwall-wifi -m owner --uid-owner 1014 -j RETURN || exit

# wifi user
$IPTABLES -A droidwall-wifi -m owner --uid-owner 1010 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10045 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10073 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10124 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10098 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10116 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10129 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10147 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10136 -j RETURN || exit
$IPTABLES -A droidwall-3g -m owner --uid-owner 10038 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10045 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10073 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10132 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10124 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10098 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10186 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10062 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10058 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10116 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10129 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10147 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10136 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10125 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10038 -j RETURN || exit
$IPTABLES -A droidwall-wifi -m owner --uid-owner 10154 -j RETURN || exit - ESTA É A LINHA DO MEU WHATSAPP
$IPTABLES -A droidwall-3g -j droidwall-reject || exit
$IPTABLES -A droidwall-wifi -j droidwall-reject || exit
exit


Agradeço qualquer ajuda e troca de conhecimento dos amigos.

Boa noite.
Até.



  


2. FIREWALL/IPTABLES NO SMARTHPHONE

Edmar
edmarssouzap

(usa Debian)

Enviado em 14/08/2017 - 09:43h

Olá, pessoal.

Alguém pode me dar um norte, por favor? ;-D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts