Comando TCPflow para analisar o tráfego de rede no Linux

A análise do tráfego de rede torna-se uma das tarefas de administração mais comuns e necessárias, independentemente do tipo de organização, uma vez que uma configuração TCP incorreta causará erros de conexão e gerenciamento de todos os pacotes de rede.

O protocolo TCP (Transmission-Control-Protocol), é um dos protocolos mais utilizados em ambientes de rede, pois facilita a administração dos dados que chegam ou vão para o endereço IP para que toda a rede de processos seja concluída com sucesso.

CaracteristicasAlgumas das características deste protocolo são:

  • Facilita o monitoramento do fluxo de dados evitando a saturação da rede
  • Permite que os dados sejam formados em segmentos de comprimento variável para serem entregues ao protocolo IP
  • Dá a possibilidade de multiplexar os dados, ou seja, faz com que as informações provenientes de diferentes fontes possam circular simultaneamente.

Agora, existem várias opções para analisar esse tráfego de rede e é graças ao utilitário TCPflow que o Solvetic vai explicar como instalá-lo e utilizá-lo em ambientes Linux.

O que é TCPflowA ferramenta tcpflow foi desenvolvida como um programa que captura os dados transmitidos por meio de conexões TCP e, em seguida, armazena esses dados para posterior análise e depuração do protocolo.

Cada fluxo TCP é armazenado em seu respectivo arquivo, portanto, o fluxo TCP típico será armazenado em dois arquivos, um para cada endereço gerenciado.

Seu conjunto de recursos inclui um sistema de plug-in avançado que permite descompactar conexões HTTP compactadas, desfazer a codificação MIME ou chamar programas de terceiros para pós-processamento e muitas outras opções.

Uso prático TCPflowAlguns dos usos práticos em que o TCPflow é útil são:

  • Compreender os fluxos de pacotes de rede e realizar análises forenses de rede
  • Revelar o conteúdo das sessões HTTP
  • Reconstruir páginas da web baixadas via HTTP
  • Extraia malware fornecido com a categoria de downloads drive-by

Agora vamos ver como usar o TCPflow

1. Como instalar o TCPflow no Linux

Passo 1
Para instalar o TCPflow, devemos executar um dos seguintes comandos, dependendo da distribuição usada:

 sudo apt install tcpflow (Debian / Ubuntu) sudo yum install tcpflow (CentOS / RHEL) sudo dnf install tcpflow (Fedora)

PROLONGAR

Inserimos a letra S para confirmar o download e a instalação do utilitário.

Passo 2
Depois de instalar o TCPflow, será possível executá-lo com privilégios de superusuário ou então fazer uso do comando sudo, o TCPflow escuta na interface de rede ativa do sistema.

 sudo tcpflow

PROLONGAR

Neste caso, veremos que a interface selecionada é enp0s3.

etapa 3
Por padrão, o TCPflow armazena todos os dados capturados em arquivos que possuem nomes no formulário com a seguinte sintaxe:

 sourceip.sourceport-destip.destport
Passo 4
Podemos fazer uma lista de diretórios para verificar se o fluxo tcp foi capturado em algum arquivo disponível, executamos:
 ls -l

PROLONGAR

Como mencionado antes, cada fluxo TCP é armazenado em seu próprio arquivo, onde encontramos diferentes formulários.
O primeiro arquivo 192.168.000.004.51548-040.112.187.188.05228 abriga os dados transferidos do host no qual foi executado por meio da porta selecionada para o host remoto por meio da porta indicada.

2. Como verificar os detalhes de navegação capturados pelo TCPflow Linux

Passo 1
Para verificar isso, podemos abrir outro terminal e executar um ping ou navegar na Internet, os detalhes de navegação que o TCPflow está capturando serão refletidos lá, executamos o seguinte:

 sudo tcpflow -c

PROLONGAR

Passo 2
O TCPflow nos permite capturar todo o tráfego em uma única porta, como a porta 80 (HTTP), neste caso, você pode ver os cabeçalhos HTTP seguidos do conteúdo, executamos o seguinte:

 sudo tcpflow porta 80

PROLONGAR

etapa 3
Podemos capturar pacotes de uma interface de rede específica, com o parâmetro -i para especificar o nome da interface como este:

 sudo tcpflow -i enp0s3 porta 80
Também é possível indicar um host de destino tomando seu endereço IP ou URL:
 sudo tcpflow -c host www.solvetic.com 

PROLONGAR

Passo 4
Será possível habilitar todos os processos dos scanners com o parâmetro -a:

 sudo tcpflow -a
Etapa 5
Podemos especificar um scanner especial a ser ativado, os scanners disponíveis incluem md5, http, netviz, tcpdemux e wifiviz, as opções a serem usadas são:
 sudo tcpflow -e http sudo tcpflow -e md5 sudo tcpflow -e netviz sudo tcpflow -e tcpdemux sudo tcpflow -e wifiviz
Etapa 5
Se quisermos ativar o modo de verbo, podemos executar qualquer uma das seguintes opções:
 sudo tcpflow -d 10 sudo tcpflow -v

PROLONGAR

Finalmente, para acessar a ajuda do utilitário executamos:

 man tcpflow
Assim, o TCPflow nos permite ter controle sobre todos os processos TCP em ambientes Linux de uma forma abrangente e completa.

wave wave wave wave wave