
Um sniffer HTTP multiplataforma com uma interface web
Netgraph é uma ferramenta de sniffing de pacotes que captura todas as requisições/respostas HTTP e as exibe em uma página web.

Você pode executar o Netgraph em seu servidor Linux sem ambiente de desktop instalado e monitorar requisições/respostas HTTP no navegador do seu laptop.
1. go get github.com/ga0/netgraph
2. execute $GOPATH/bin/netgraph -i INTERFACE -p PORT
3. abra a página web do netgraph no seu navegador (por exemplo: http://localhost:9000, 9000 é a PORT definida no passo 2)
Usuários do Windows precisam instalar a biblioteca winpcap primeiro.
-bpf string
Define o filtro de pacotes berkeley (padrão "tcp port 80")
-i string
Escuta na interface, seleciona uma automaticamente se nenhuma interface for fornecida
-input-pcap string
Abre um arquivo pcap
-o string
Escreve requisições/respostas HTTP em arquivo, defina o valor "stdout" para imprimir no console
-output-pcap string
Escreve o pacote capturado em um arquivo pcap
-output-request-only
Escreve apenas a requisição HTTP no arquivo, descarta a resposta. Usado apenas quando a opção "-o" está presente. (padrão true)
-p int
Porta do servidor web. Se a porta for definida como '0', o servidor não será executado. (padrão 9000)
-s Salva o evento HTTP no servidor
-v Mostra mensagens detalhadas (padrão true)
Exemplo: imprimir as requisições capturadas em stdout:
$ ./netgraph -i en0 -o=stdout
2018/07/26 10:33:24 open live on device "en0", bpf "tcp port 80"
[2018-07-26 10:33:34.873] #0 Request 192.168.1.50:60448->93.184.216.34:80
GET / HTTP/1.1
Host: www.example.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7
content(0)