Chromebook: Como instalar mitmproxy
mitmproxy é uma poderosa ferramenta de interceptação e modificação de requisições HTTP e HTTPS utilizado para testar invasões e desenvolver softwares. Nesse post quero apresentar os comandos para instalar o mitmproxy, bem como a solução de alguns problemas que enfrentei com dependências e locales. Minha máquina é um Chromebook Samsung Exynos 5 Dual Core.
Developer Mode
Você vai precisar habilitar o Modo de Desenvolvedor para prosseguir, sendo assim, veja meu post Chromebook: Modo de Desenvolvedor.
Linux Kali
Vamos utilizar o Linux Kali para rodar o mitmproxy, para isso, siga o passo-a-passo descrito no post Chromebook: Como instalar Kali (-t core).
mitmproxy
Os comandos abaixo devem ser executados dentro do Kali, então vamos acessá-lo com sudo enter-chroot e prosseguir:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-virtualenv
sudo apt-get install python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev
sudo apt-get install git
sudo git clone https://github.com/mitmproxy/mitmproxy.git
sudo git clone https://github.com/mitmproxy/netlib.git
sudo git clone https://github.com/mitmproxy/pathod.git
mkdir $HOME/virtualenvs
cd $HOME/virtualenvs
virtualenv --python=/usr/bin/python2.7 --no-site-packages mitmproxy_sandbox
Criamos um ambiente virtual Python, uma sandbox. Os comandos abaixo serão executados dentro desse ambiente, então vamos ativá-lo e instalar o mitmproxy:
source mitmproxy_sandbox/bin/activate
pip install mitmproxy
sudo apt-get install locales
sudo dpkg-reconfigure locales
which mitmproxy
Com isso o mitmproxy está instalado. Para ativá-lo use o comando mitmproxy.
Para sair do ambiente virtual utilize deactivate.
Para acessar o ambiente virtual novamente utilize source mitmproxy_sandbox/bin/activate, na pasta $HOME/virtualenvs.
Para limpar o ambiente virtual utilize virtualenv --clear mitmproxy_sandbox, na pasta $HOME/virtualenvs.
Locales
Enfrentei um problema com os locales, onde que após instalar e reconfigurar, o sistema não aceitava a nova configuração e o mitmproxy reclama quando eu tentava iniciá-lo. O que eu fiz então foi utilizar outro comando para isso: export LC_ALL=en_US.UTF-8, e tudo correu bem.
Pillow/setup.py
Outro problema que enfrentei passou a ocorrer todas as vezes depois da segunda instalação do mitmproxy em minha máquina. Em resumo, resolvi instalando uma dependência que na primeira vez não foi solicitada. Os detalhes podem ser conferidos no post ValueError: --enable-jpeg requested but jpeg not found, aborting.
Fonte
mitmproxy - Installation [https://mitmproxy.org/doc/install.html]
mitmproxy [https://github.com/mitmproxy/mitmproxy]
mitmproxy on Chrome OS [http://armaal.com/mitmproxy-on-chromeos/]
0 comentários: