Blog Linux Avante

Analise o tráfego de rede com o Termshark, uma IU do terminal para TShark (Wireshark)

24 de abril de 2019

Termshark

Termshark é uma nova interface de usuário de terminal para TShark (analisador de protocolo de rede), inspirada pelo Wireshark. Ele roda em Linux, macOS e Windows.

TShark é uma versão terminal do Wireshark, o analisador de pacotes de código aberto e gratuito usado para solução de problemas de rede, análise, software e desenvolvimento de protocolo de comunicação. O TShark não tem uma interface de usuário de terminal interativa, porém, e é aí que entra o Termshark.

O Termshark foi escrito em Go e faz uso do TShark, que faz parte do Wireshark. Sua interface de terminal interativa usa tcell, um pacote de gerenciamento de terminal baseado em célula inspirado em termbox, e gowid, um pacote Go que fornece widgets e uma estrutura para fazer interfaces de usuário de terminal.

A ferramenta de linha de comando teve seu primeiro lançamento há alguns dias, então não espere que ela suporte todos os recursos do TShark ainda. Atualmente recursos do Termshark:

  • Leia arquivos pcap ou detecte interfaces ativas (onde TShark é permitido)
  • Inspecione cada pacote usando visualizações familiares inspiradas no Wireshark
  • Filtre pcaps ou capturas ao vivo usando os filtros de exibição do Wireshark
  • Copie intervalos de pacotes para a área de transferência do terminal

Se você quiser vê-lo em ação, há um GIF do Termshark em sua página inicial. Preferi não adicioná-lo a este artigo porque é um pouco grande (3 MB).

O desenvolvedor planeja melhorar o Termshark, com alguns recursos sendo planejados, como a capacidade de selecionar um pacote e exibir o stream remontado, mostrar estatísticas de pcap, colorir os pacotes na visualização da lista de pacotes usando as regras de coloração do Wireshark e muito mais.

O analisador de tráfego de rede interativo inclui alguns atalhos de teclado úteis, como / para ir para o filtro de exibição, TAB para alternar painéis, c para alternar para o modo de cópia, etc. Você também pode ajustar a divisão horizontal (+/-) ou vertical </>), ou maximize o painel (\). Todos os atalhos de teclado disponíveis são mostrados pressionando ?.

Baixando o Termshark

Baixe o Termshark

A página de lançamentos do Termshark possui binários para Linux (x64 e armv6), macOS e Windows. Ou você pode compilá-lo sozinho, se preferir.

Para instalar o binário Termshark no Linux, obtenha-o do GitHub, extraia-o e, da pasta onde foi extraído, você pode instalá-lo no /usr/local/bin usando:

Comandos para usar no terminal

sudo install termshark /usr/local/bin/

Instale o TShark, exigido pelo Termshark

Para funcionar, o Termshark precisa do TShark instalado. Isso faz parte do Wireshark e no macOS você pode instalá-lo usando o brew (brew install wireshark). No Linux, o nome do pacote depende da distribuição que você está usando. Por exemplo, é tshark no Debian/Ubuntu, enquanto o pacote que fornece o TShark no Fedora é chamado wireshark-cli.

Portanto, para instalar o TShark no Debian, Ubuntu, Linux Mint, etc., use:

Comandos para usar no terminal

sudo apt install tshark

Quando solicitado, responda Yes à pergunta Should non-superusers be able to capture packets?.

Para instalar wirehark-cli no Fedora:

Comandos para usar no terminal

sudo dnf install wireshark-cli

No Ubuntu e Fedora (e em outras distribuições Linux) você também precisará adicionar seu usuário ao grupo wireshark (criado pela instalação do TShark - se não, adicione este grupo usando sudo groupadd wireshark) para poder executar TShark e, portanto, Termshark, sem root:

Comandos para usar no terminal

sudo usermod -a -G wireshark $USER

Depois disso, eu tive que reiniciar minhas máquinas Ubuntu 19.04 e Fedora 29 (geralmente você deve fazer logout/login, mas não foi o suficiente no meu caso).

Testando Termshark

Agora você está pronto para usar o Termshark. Use-o para inspecionar um pcap local usando:

Comandos para usar no terminal

termshark -r myfile.pcap

Substitua myfile.pcap pelo nome (e caminho) do arquivo pcap.

Inicie o Termshark e defina-o para ler a partir de uma interface (enp4s0 neste exemplo; altere para uma interface disponível em seu sistema):

Comandos para usar no terminal

termshark -i enp4s0

Ou leia a partir de uma interface e aplique um filtro de captura tcp diretamente usando:

Comandos para usar no terminal

termshark -i enp4s0 tcp

Mais sobre como usar o Termshark está disponível em seu guia do usuário e FAQ.

via r/commandline

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.
Propaganda