[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