O Hotwire é um aplicativo GTK GUI que aproveita a infraestrutura Wireshark e Tshark para capturar tráfego e explorar o conteúdo dos arquivos TCPDUMP, mas exibe os dados de uma maneira mais focada do que o Wireshark. A Hotwire suporta apenas alguns protocolos (atualmente PostgreSQL, HTTP e HTTP2), mas para esses protocolos oferece uma exibição clara e de alto nível do tráfego de rede, adaptada para cada protocolo específico. O Hotwire pode abrir arquivos TCPDUMP ou gravar tráfego através de um arquivo FIFO, portanto, sem exigir privilégios elevados.
A visão principal é dividida em quatro painéis; Da esquerda para a direita e de cima para baixo:
Atualmente, o Hotwire suporta:
Observe que, para o PGSQL, você pode ver "declaração desconhecida". Isso pode acontecer com declarações preparadas, onde a declaração é declarada uma vez e depois reutilizada. Se a declaração não for capturada na gravação, a Hotwire não terá como recuperá -la e deve mostrar "declaração desconhecida". Ainda pode recuperar linhas e parâmetros de resultados (sem tipos ou nomes de colunas).
É possível visualizar o tráfego criptografado em Hotwire, o mesmo que no Wireshark e no TShark, se você tiver as teclas de criptografia. Você pode recuperar as chaves de criptografia do software servidor (por exemplo, Apache Tomcat) ou software cliente (Firefox, Chrome). Para recuperar as chaves do Chrome ou Firefox, inicie -as com:
SSLKEYLOGFILE=browser_keylog.txt firefox
(ou o mesmo com o Google-Chrome) Mais informações estão disponíveis no Wireshark Wiki.
O Hotwire não permite abrir arquivos KeyLog separadamente. Em vez disso, você deve usar editcap
para mesclar os segredos no arquivo PCAP e abrir o arquivo combinado com o Hotwire:
editcap --inject-secrets tls,/path/to/keylog.txt ~/testtls.pcap ~/outtls.pcapng
Você também pode gravar e observar o tráfego de rede ao vivo em Hotwire. Para isso, a Hotwire abrirá um FIFO e ouvirá o conteúdo do PCAP nesse FIFO. Observe que isso não funcionará no Windows. Em seguida, tcpdump
pode ser chamado para gravar dados do PCAP no FIFO, e o Hotwire captura e exibirá os dados em tempo real. Dessa forma, o Hotwire pode exibir tráfego ao vivo sem privilégios elevados.
Quando o Hotwire é executado como um aplicativo nativo do Linux, ele pode invocar pkexec
para iniciar tcpdump
com privilégios elevados e tudo funciona transparentemente para o usuário. Quando é executado como um Flatpak ou OSX, por exemplo, o Hotwire fornece ao usuário uma linha de comando tcpdump
para executar com sudo
.
A maneira recomendada de instalar o aplicativo no Linux é com o Flatpak. Para outras plataformas, você precisará construir a partir da fonte - usando a cadeia de ferramentas Rust. Hotwire
exige que tshark
seja instalado e no caminho de operar corretamente, e tcpdump
para gravar o tráfego e no não-flatpak linux pkexec
para gravação simples.
Para construir a partir da fonte: Instale a ferrugem e a carga, depois execute cargo run --release
. O binário em target/release/hotwire
pode ser copiado em qualquer lugar, pois incorpora ícones e outras dependências (mas não bibliotecas compartilhadas como o GTK). No OSX, você precisará de GTK+3 e Adwaita-icon-Them do Homebrew.