Existe um proxy HTTP de linha de comando simples que é enviado para STDOUT?

2

Existe um proxy HTTP de linha de comando que é enviado para o STDOUT para que eu possa usá-lo com pipes Unix?

Eu quero fazer algo assim:

  1. Inicie o proxy na linha de comando:
    $ proxy -p 8888 | grep "Text I'm interested in" > ~/my_log.txt
  2. Configure meu navegador para usar o proxy HTTP na porta 8888.
  3. Navegue na Internet. Enquanto navego, o HTML é grepped e salvo em my_log.txt
  4. CTRL - C quando eu terminar.

ATUALIZAÇÃO: Eu não tinha pensado nisso antes, mas a solução precisa lidar corretamente com o conteúdo gzipado / deflacionado.

    
por richardkmiller 02.03.2011 / 23:45

5 respostas

1

Você pode pular o proxy e apenas usar o tcpdump com a opção -A e um filtro?

# capture everything destined for port 80
tcpdump -qni eth0 -s 0 -A port 80

# capture everything destined for port 80 on 192.168.32.1
tcpdump -qni eth0 -s 0 -A port 80 and host 192.168.32.1

# capture everything destined for port 80 and display only the interesting bit.
tcpdump -qni eth0 -s 0 -A port 80 | grep "Text I'm interested in"
    
por 03.03.2011 / 01:27
1

Você pode fazer isso com o ngrep .

ngrep -q -W byline "Text I'm interested in" port 80 > ~/my_log.txt

    
por 03.03.2011 / 06:28
0

Desculpe se isso parece um plug sem vergonha, mas há pouco tempo eu escrevi um pequeno proxy http que gera todos os dados que passam por ele. Acabei de postar no meu site no caso de ser útil para alguém. Espero que ajude: OutputProxy

    
por 22.03.2011 / 04:30
0

usando polipo

polipo logLevel=0xFF

executar polipo -v | grep logLevel pode ver:

logLevel integer 0x7 Logging level (max = 0xFF).

    
por 23.03.2017 / 01:50
-2

Ele não faz exatamente o que você quer de fábrica, mas eu diria que uma versão modificada do SimpleHTTPServer faria o truque.

python -m SimpleHTTPServer <port>

Atualmente, permite executar um servidor HTTP fora do seu PWD e retorna o log de acesso para STOUT.

    
por 03.03.2011 / 00:13