Eu posso facilmente usar o Netcat (ou, Socat) para capturar o tráfego entre o meu navegador e um host específico: port.
Mas, para Linux, existe algum equivalente na linha de comando de um proxy HTTP do tipo Squid que eu possa usar para capturar o tráfego entre meu cliente HTTP (navegador ou programa de linha de comando) e qualquer host arbitrário: port?
command-line
proxy
http
squid
atormentar
fonte
fonte
Respostas:
O Perl e o Python (e provavelmente o Ruby também) têm kits simples que você pode usar para criar rapidamente proxies HTTP simples.
No Perl, use HTTP :: Proxy . Aqui está o exemplo de 3 linhas da documentação. Adicione filtros para filtrar, registrar ou reescrever solicitações ou respostas; veja a documentação para exemplos.
No Python, use o SimpleHTTPServer . Aqui está um exemplo de código levemente adaptado do effbot . Adapte o
do_GET
método (ou outros) para filtrar, registrar ou reescrever solicitações ou respostas.fonte
Essa pode não ser a melhor solução, mas se você usar algum proxy, ele terá um específico, de
host:port
modo que a solução netcat ainda funcione, embora você precise separar os metadados do proxy para entendê-lo.A maneira mais fácil de fazer isso pode ser usar qualquer proxy de anonimização aleatório por aí e canalizar todo o tráfego
netcat
. (Ou seja, defina o proxy do navegador paralocalhost:port
e encaminhe os dados para o proxy real.)Se você deseja ter um proxy local, um proxy SOCKS5
ssh -D <port> localhost
provavelmente é a opção mais fácil. Obviamente, você precisa dizer ao seu navegador para usar um proxy "meias" em vez de um proxy "http".Então, algo como isto (supondo que sua máquina local aceite conexões ssh recebidas):
Naturalmente, isso funcionará apenas para uma tentativa de conexão do navegador e, em seguida, saia, e eu não tentei encaminhar os dados de retorno para o navegador, portanto, você precisará de sua
netcat
solução completa .fonte
root
usuário, etc.ssh -fN -D ...
inicia um proxy SOCKS5 nalocalhost
porta8000
, mas o quenc -l ...
faz? E para qual porta devo apontar meu navegador para:8000
ou8080
?nc
comandos aceitam todo o tráfego da porta 8080 e encaminham para 8000. Não forneci umanetcat
solução completa porque sua postagem sugeria que você já sabia como fazer essa parte.