Os blocos brasileiros
Um servidor foi comprometido e a equipe de resposta a incidentes extraiu dos logs dele todos os endereços IP que apareceram ali: é o ip_list.txt, um endereço por linha. Parte deles vem de redes brasileiras, e a equipe quer saber quantos blocos brasileiros estão envolvidos antes de avisar os responsáveis. Considere só os IPv4; as 1892 linhas IPv6 da lista (855 endereços distintos) ficam de fora.
Cada endereço da internet faz parte de um bloco anunciado por um sistema autônomo (AS), a rede de um provedor, de uma nuvem ou de uma empresa, identificada por um número, o ASN. Esse bloco é o prefixo BGP, escrito em notação CIDR: 200.160.0.0/20 é o bloco que começa em 200.160.0.0 e tem os primeiros 20 bits fixos (4096 endereços). Os blocos são distribuídos pelos cinco registros regionais (RIRs: ARIN, RIPE NCC, APNIC, LACNIC e AFRINIC), que anotam o país de cada alocação. A Team Cymru mantém um serviço público que diz, para cada IP, o ASN, o prefixo e esse registro (team-cymru.com/ip-asn-mapping (abre em nova aba)).
Esse mapeamento muda com o tempo, então a resposta vale para o arquivo anexo cymru-2026-10-28.txt: a resposta da consulta em lote, no modo detalhado (verbose), feita em 28/10/2026 para os 6636 endereços IPv4 distintos da lista. Depois de duas linhas de cabeçalho, cada linha traz AS | IP | BGP Prefix | CC | Registry | Allocated | AS Name: o ASN, o endereço, o prefixo CIDR anunciado, o código de duas letras do país em que o bloco foi registrado, o RIR que alocou o bloco, a data da alocação e o nome do AS.
Regras da contagem:
- uma linha é válida quando a coluna
AStem um número. As 89 linhas comNA(endereços privados como192.168.16.111e172.26.242.137, o endereço de teste1.2.3.4e faixas que ninguém anuncia na internet) ficam de fora; - os endereços
82.115.31.92e103.213.95.198aparecem em duas linhas cada, porque dois ASNs anunciam o mesmo prefixo; todas as linhas válidas contam; - "CIDR" aqui é o valor da coluna
BGP Prefix; - um CIDR é brasileiro quando a coluna
CCda linha éBR. Vale o país em que o bloco foi registrado, não o país da empresa que aparece no fim deAS Name;CCvazio não éBR.
Para consultar ao vivo: whois -h whois.cymru.com " -v 200.160.2.3" consulta um endereço; dig +short TXT 3.2.160.200.origin.asn.cymru.com faz o mesmo por DNS (o endereço vai de trás para frente); para a lista inteira, mande begin, verbose, um IP por linha e end para whois.cymru.com, porta 43, com nc. Uma consulta feita hoje pode dar números um pouco diferentes dos do arquivo, porque os blocos mudam de dono e de anúncio.
Quantos CIDRs brasileiros diferentes aparecem nas linhas válidas do arquivo?
Responda com o número: tocaia{123} seria a resposta se fossem 123 CIDRs.
Arquivos do desafio
Tudo se resolve com ferramentas gratuitas.
Entre para ver o assunto deste desafio.
A solução comentada aparece depois que você resolve.