[GTER] O caçador de loops - LoopHunter

Marcelo Gondim gondim at gmail.com
Tue Jun 16 16:22:41 -03 2026


Buenas pessoal,

Como parte das ferramentas que estou recriando para ajudar nosso setor, 
essa agora trata o famigerado static loop. Muitos aqui sabem o quão é 
importante não termos static loops em nossas redes e como eles podem ser 
ruins no meio de ataques DDoS. O dano que eles causam e por isso 
precisam ser identificados e corrigidos. Eu sempre usei o fping para 
isso mas ele só suporta IPv4 e IPv6 também pode sofrer disso, só que pra 
IPv6 a técnica usada é outra porque realmente computacionalmente testar 
IP por IP em um IPv6 /32 é inviável. Abaixo falo sobre a ferramenta e 
espero que ajuda a acabar com esses static loops.

LoopHunter: Monitoramento de Loops de Roteamento Estático em Alta 
Performance

O LoopHunter é uma ferramenta de linha de comando inovadora e de alta 
performance desenvolvida em Rust, projetada especificamente para a 
detecção ativa de loops de roteamento estático (static routing loops) em 
redes IP.

Abaixo estão os principais pilares técnicos que tornam o LoopHunter uma 
ótima solução para provedores de internet (ISPs) e operadoras:

1. Adeus ao Legado (substituição do fping)
Diferente dos scripts legados baseados em fping, awk e arquivos de texto 
temporários na pasta /tmp, o LoopHunter é um binário nativo de alta 
performance. Ele possui um motor de ping próprio usando sockets brutos 
(raw sockets) do Linux. Em vez de depender de utilitários externos e 
processamento de textos indireto, ele gerencia o envio e a captura de 
pacotes ICMP direto com o kernel do sistema operacional, eliminando 
falsos positivos ao rastrear respostas usando o PID exclusivo da execução.

2. Suporte Nativo e Completo a IPv6
Enquanto ferramentas tradicionais tratam o IPv6 como uma pilha à parte e 
complexa de automatizar, o LoopHunter foi desenhado com suporte completo 
ao protocolo de próxima geração. Ele escuta e decodifica mensagens de 
Hop Limit Exceeded (ICMPv6 Tipo 3) com a mesma facilidade do IPv4 (TTL 
Exceeded Tipo 11), tratando automaticamente sub-redes delegadas (como 
/48, /56, etc.) e encontrando o roteador que está originando o loop.

3. Banco de Dados SQLite Integrado
O LoopHunter aposenta planilhas e arquivos de texto avulsos. O cadastro 
de clientes, e-mails de notificação, prefixos IP, ASNs associados e o 
histórico de loops do último escaneamento são armazenados de forma 
estruturada em um banco de dados local SQLite (static_loop.db). Isso 
facilita rotinas de backup, garante consistência transacional e 
centraliza o gerenciamento de múltiplos clientes e subredes.

4. Velocidade Asíncrona Extrema (Tokio)
Apoiado no ecossistema assíncrono Tokio em Rust, o LoopHunter opera 
disparando pacotes de testes e ouvindo as respostas concorrentemente em 
threads leves. Varreduras de milhares de IPs que antes levavam minutos 
em scripts sequenciais agora são concluídas em poucos segundos, sem 
travar o terminal ou elevar o uso de CPU.

5. Diffs Inteligentes e Alertas Automatizados por E-mail
Ao final de cada rotina, a ferramenta compara o estado do último 
escaneamento com os dados recém-coletados. Ela formata relatórios 
divididos por ASN e família de protocolo (IPv4/IPv6) e, se houver 
alteração (loops solucionados ou novos loops gerados), envia 
notificações SMTP configuradas via config.toml direto para a equipe de 
engenharia responsável por cada cliente.

Com ele, se você for um consultor, pode configurar todos os clientes e 
prefixos na base local dele e colocar no cron para disparar os testes de 
tempo em tempo e enviar por e-mail o relatório para seu respectivo 
cliente tratar.

https://github.com/gondimcodes/loophunter

-- 
Marcelo Gondim
Network Specialist, Internet Security Specialist, MANRS, KINDNS, Network Services, IPv6. Best Current Operational Practice (BCOP)
rsa3072/D1E946F36F10478D: 6E15 9C3F 2C9C 4AE6 22DA  21E7 D1E9 46F3 6F10 478D

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <https://eng.registro.br/pipermail/gter/attachments/20260616/cd131d1f/attachment.sig>


More information about the gter mailing list