Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

1. Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

Alessandro Schneider dos Santos
Krusth

(usa Fedora)

Enviado em 03/03/2016 - 13:45h

Iai galera, estou numa enrrascada aqui, meu cenário é o seguinte.
Tenho um roteador com OPENWRT que esta compartilhando internet 4G, estou tentando bloquear esse updates no firewall para que eles não acabem com meu plano de dados.
Consigo bloquear o IP da play.google.com mas não posso fazer um DROP nesses IP's porque o google.com usa os mesmos IP's.

Em alguns foruns e até aqui no VOL falando sobre fazer um DROP na porta 5228 TCP/UDP mas também não funfo.

Alguma ideia?


  


2. Re: Como bloquear updates da google play, download de aplicativos e atualização do android?

Buckminster
Buckminster

(usa Debian)

Enviado em 03/03/2016 - 15:19h

iptables -I FORWARD -m string --algo bm --string "google.play" -j DROP

Tu podes utilizar uma regra como acima, mas teria que ver com certeza quais as strings que tu quer bloquear.
Tem que ser bem específico para não bloquear todos os sites que tenham a palavra 'google' por exemplo.

Outro exemplo:

iptables -I FORWARD -m string --algo bm --string "www.android.com/updates" -j DROP

Mas já vou te alertando, bloquear atualizações do Android é difícil, pois as atualizações são fornecidas pelos fabricantes dos dispositivos (smarts, tablets, etc) e tu teria que bloquear praticamente todos.


3. Re: Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

Alessandro Schneider dos Santos
Krusth

(usa Fedora)

Enviado em 04/03/2016 - 17:35h

Valew pela resposta Buckminster, mas já tentei fazer esse bloqueio por string no iptables e não rolou,
tá complicado de conseguir, no momento estou listando todas conexões estabelecidas no momento das atualizações e bloqueando os ip's.
Pesquisei em diversos fóruns e o negócio tá difícil!!!
Talvez gerando um log das requisições de DNS eu consiga ver para onde o android faz essa requisição e consiga bloquear, antigamente era só bloquear as portas 5258,5229 e 5230.
infelismente isso mudou. :/

Mas não vou desistir tão fácil.


4. Tente pela extensão

Wagner R. M.
wagnerrm

(usa Slackware)

Enviado em 18/07/2016 - 14:02h

Já tentou bloquear no Squid as URLs terminadas em .apk ?


5. Re: Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

Alessandro Schneider dos Santos
Krusth

(usa Fedora)

Enviado em 19/07/2016 - 11:50h

Com proxy transparente não funciona por causa da conexão ssl, já encontrei a única maneira para fazer esse bloqueio.
Estou terminando um script para automatizar isso no meu sistema e assim que concluído fexo esse tópico com o link do artigo que irei fazer.
Mas vlw pela dica.


6. Re: Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

Adalberto Filho
adfilho

(usa Ubuntu)

Enviado em 17/01/2017 - 15:58h

Krusth escreveu:

Com proxy transparente não funciona por causa da conexão ssl, já encontrei a única maneira para fazer esse bloqueio.
Estou terminando um script para automatizar isso no meu sistema e assim que concluído fexo esse tópico com o link do artigo que irei fazer.
Mas vlw pela dica.


Poderia postar a resolução de como efetuar o bloqueio?


7. Re: Como bloquear updates da google play, download de aplicativos e atualização do android?

Alessandro Schneider dos Santos
Krusth

(usa Fedora)

Enviado em 17/01/2017 - 18:18h

adfilho escreveu:

Krusth escreveu:

Com proxy transparente não funciona por causa da conexão ssl, já encontrei a única maneira para fazer esse bloqueio.
Estou terminando um script para automatizar isso no meu sistema e assim que concluído fexo esse tópico com o link do artigo que irei fazer.
Mas vlw pela dica.


Poderia postar a resolução de como efetuar o bloqueio?


Opa, fiz o bloqueio via iptables, resolvendo os domínios e bloqueando os ip's.
Foi bem cansativo, tive que filtrar todos os ip's que são usados para atualizar o Android e os app da googleplay.

Nesse script também tem uma verificação nas regras de firewal para não duplica-las caso algum ip já esteja bloqueado
Espero que ajudo.


#!/bin/bash

AppStore="gru06s09-in-f14.1e100.net gru06s09-in-f2.1e100.net gru06s10-in-f14.1e100.net gru06s26-in-f14.1e100.net gru06s26-in-f5.1e100.net gru09s09-in-f14.1e100.net gru09s17-in-f14.1e100.net gru09s18-in-f14.1e100.net gru09s19-in-f14.1e100.net rio01s15-in-f10.1e100.net rio01s16-in-f1.1e100.net rio01s16-in-f10.1e100.net rio01s20-in-f10.1e100.net rio01s21-in-f1.1e100.net"

Log() {
echo -e "`date "+%h %d %H:%M:%S"` $HOSTNAME $1" # >> $LogFile
}
### Loga cores
# Verde
c1() {
echo -e "\e[32;1m$1\e[m"
}
# Vermelho
c2() {
echo -e "\e[31;1m$1\e[m"
}
# Amarelo
c3() {
echo -e "\e[33;1m$1\e[m"
}
# Linha em branco
l1() {
echo -e " " >> $LogFile
}

Teste_Net() {
timeout 6 ping -w3 -c3 www.google.com.br 2> /dev/null > /dev/null
if [[ $? -eq 0 ]]; then
Pass=0
else
Pass=1
fi
}

Drop_App_Store() {
# se a lista existe
if [[ -n "$AppStore" ]]; then
# Se existe algum domínio dentro da lista
if [[ "$(grep ^[a-z] $AppStore)" ]]; then
# Verifica se tem internet para resolução de nomes
Teste_Net
if [[ $Pass -eq 0 ]]; then
# Pega os domínios que tiverem na lista
Dominio=$(echo $AppStore | grep ^[a-z])
for i in $Dominio; do
# Resolve
r1=$(nslookup $i)
# Se o domínio existe
if [[ $? -eq 0 ]]; then
# Pega o ip correspondente ao domínio
r2=$(echo "$r1" | grep Address | tail -n1 | cut -d" " -f2)
# Verifica se o ip já etá bloqueado
iptables -L FORWARD -n | grep $r2 2>/dev/null >/dev/null
# Se não estiver bloqueado bloqueia
if [[ $? -eq 0 ]]; then
Log "wifi_block_appstores IP `c3 "$r2"` Domínio `c3 "$i"` `c2 "já está bloqueado"`"
else
iptables -I FORWARD -d $i -j DROP
Log "wifi_block_appstores IP `c3 "$r2"` Domínio `c3 "$i"` `c2 "bloqueado"`"
fi
else
Log "wifi_block_appstores Domínio `c3 "$i"`=`c1 "não existe"`"
fi
done
fi
fi
# Se tiver algum endereço ip na lista
if [ "$(grep ^[1-9] $AppStore)" ];then
# Pega os ip's que estiverem dentro da lista
IPs=$(cat $AppStore | grep ^[1-9])
for a in $IPs; do
# Verifica se o ip existe com ping
ping -q -c1 -w1 $a 2>/dev/null >/dev/null
if [[ $? -ne 0 ]]; then
# Se o ping falhar tenta pelo wget
# Exemplo: os alguns ip´s da Apple não respondem ping
timeout 4 wget -t 1 -o /dev/null -O /dev/null $a
Pass=$?
else
Pass=0
fi
# Se o ip existe
if [[ $Pass -eq 0 ]]; then
# Verifica se está bloqueado
iptables -L FORWARD -n | grep $a 2>/dev/null >/dev/null
# Se não estiver bloqueado bloqueia
if [[ $? -eq 0 ]]; then
Log "wifi_block_appstores IP `c3 "$a"`=`c2 "já está bloqueado"`"
else
iptables -I FORWARD -d $a -j DROP
Log "wifi_block_appstores IP `c3 "$a"`=`c2 "bloqueado"`"
fi
else
Log "wifi_block_appstores IP `c3 "$a"`=`c1 "Não existe"`"
fi
done
fi
fi
}
UnDrop_App_Store() {
# se a lista existe
if [[ -n "$AppStore" ]]; then
# Se existe algum domínio dentro da lista
if [[ "$(grep ^[a-z] $AppStore)" ]]; then
# Verifica se tem internet para resolução de nomes
Teste_Net
if [[ $Pass -eq 0 ]]; then
# Pega os domínios que tiverem na lista
dominio=$(echo $AppStore | grep ^[a-z])
for i in $dominio; do
# Resolve
r1=$(nslookup $i)
# Se o domínio existe
if [[ $? -eq 0 ]]; then
# Pega o ip correspondente ao domínio
r2=$(echo "$r1" | grep Address | tail -n1 | cut -d" " -f2)
# Verifica se o ip já etá bloqueado
iptables -L FORWARD -n | grep $r2 2>/dev/null >/dev/null
# Se estiver bloqueado desbloqueia
if [[ $? -eq 0 ]]; then
iptables -D FORWARD -d $i -j DROP
Log "wifi_block_appstores IP `c3 "$r2"` Domínio `c3 "$i"` `c1 "desbloqueado"`"
else

Log "wifi_block_appstores IP `c3 "$r2"` Domínio `c3 "$i"` `c1 "já está desbloqueado"`"
fi
else
Log "wifi_block_appstores Domínio `c3 "$i"`=`c2 "não existe"`"
fi
done
fi
fi
# Se tiver algum endereço ip na lista
if [[ "$(grep ^[1-9] $AppStore)" ]]; then
IPs=$(cat $AppStore | grep ^[1-9])
for a in $IPs; do
# Verifica se o ip existe
ping -q -c1 -w1 $a 2>/dev/null >/dev/null
if [[ $? -ne 0 ]]; then
# Se o ping falhar tenta pelo wget
# Exemplo: os alguns ip´s da Apple não respondem ping
timeout 3 wget -t 1 -o /dev/null -O /dev/null $a
Pass=$?
else
Pass=0
fi
# Se o ip existe
if [[ $Pass -eq 0 ]]; then
# Verifica se está bloqueado
iptables -L FORWARD -n | grep $a 2>/dev/null >/dev/null
# Se estiver bloqueado desbloqueia
if [[ $? -eq 0 ]]; then
iptables -D FORWARD -d $a -j DROP
Log "wifi_block_appstores IP `c3 "$a"`=`c1 "desbloqueado"`"
else
Log "wifi_block_appstores IP `c3 "$a"`=`c1 "já está desbloqueado"`"
fi
else
Log "wifi_block_appstores IP `c3 "$a"`=`c2 "Não existe"`"
fi
done
fi
fi
case "$1" in
drop )
Drop_App_Store
;;
undrop )
UnDrop_App_Store
;;
* )
echo "Sintaxe: $0 drop | undrop"
esac
Log "`c1 "Compartilhar conhecimento é fundamental!"`"



8. Re: Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

Isaias
Isaiasfreitas

(usa Debian)

Enviado em 22/06/2017 - 21:45h

Da erro de sintade nas linhas 1 ate 6;
comando nao encontrado.

Alguma sugestao?


9. Re: Como bloquear updates da google play, download de aplicativos e atualização do android? [RESOLVIDO]

Lucas Doná Sfalcin
lucasdona

(usa Linux Mint)

Enviado em 05/09/2017 - 09:23h

Posta o erro aqui.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts