💻 Scripts

Descobrindo CDNs de um ASN ou prefixo(s)

Esse é um script simples que irá verificar em seus source(s), quais são os maiores tráfegos com destino ao ASN/Prefixo(s) de sua operadora, em seguida irá irá tentar ler o certificado pegando (CN) e gerando uma lista.

descobre_cdn.py

Script tenta obter lista de IP(s) v4 e v6 utilizados em CDNs.

wget -O /bin/descobre_cdn https://rrflow.com.br/downloads/descobre_cdn.py
chmod +x /bin/descobre_cdn

Uso, execute:

descobre_cdn

Após iniciar o script, siga os passos abaixo para configurá-lo corretamente:

Selecione o Source:

  • O script listará os diretórios disponíveis na pasta /var/rr-flows/, onde cada pasta representa um source de dados de tráfego.
  • Por exemplo:
     1 - RS-BORDA
     2 - RS-EMPRESA
     3 - RS-PTTS
     4 - SC-BORDA
     5 - RS-CGNAT
  • Digite o número correspondente ao source desejado e pressione Enter. Exemplo:
     Digite o número correspondente ao source: 1

Selecione o Tipo de Filtro: - O script pedirá que você escolha o tipo de filtro desejado:

     1 - ASN
     2 - Prefixo
  • Digite o número correspondente ao tipo de filtro e pressione Enter.

Defina o Filtro: - Caso tenha escolhido “ASN” (opção 1): - O script solicitará o número do ASN. Exemplo:

Digite o ASN: 65530
  • Caso tenha escolhido “Prefixo” (opção 2):
    • O script solicitará um ou mais prefixos de rede, separados por espaço. Exemplo:
Digite o(s) prefixo(s) separado(s) por espaço: 192.168.0.0/24 192.168.1.0/24 2001:db8::/32

Processamento e Saída:

Após concluir, ele exibirá a saída formatada em JSON com os prefixos agrupados por domínio. Exemplo:

     {
         "description": "fna.fbcdn.net",
         "filter": {
             "prefix": [
                 "192.168.0.17/32",
                 "192.168.0.32/32",
                 "2001:db8:f000:5:face:b00c:0:a7/128",
                 "2001:db8:f000:5:face:b00c:3333:a3f/128"
             ]
         }
     },
     {
         "description": "googlevideo.com",
         "filter": {
             "prefix": [
                 "192.168.1.41/32",
                 "192.168.1.40/32",
                 "2001:db8:f000:143::9/128",
                 "2001:db8:f000:143::8/128"
             ]
         }
     }

Observações

  • Para que os IPv6 sejam descoberto seu servidor RR Flow precisar ter conectiveidade IPv6.
  • Utilize a saída JSON para atualizar arquivos de configuração como fav-asn-prefix-graphs.json, você pode editar description por um nome mais adquequado também.

Descobrindo Prefixos de um AS

descobre_prefixos.py

Este script obtém os prefixos com base no RADB. Pode ser extremamente útil se o seu roteador não estiver exportando os ASN através do fluxo de dados. Com este script, você pode adicionar esses prefixos, por exemplo, ao arquivo fav-asn-prefix-graphs.json ou então para utilizar na descoberta de CDNS de uma operadora (Script acima)

Instale os pacotes necessários, e baixe o script.

apt install python3-netaddr whois wget
wget -O /bin/descobre_prefixos https://rrflow.com.br/downloads/descobre_prefixos.py
chmod +x /bin/descobre_prefixos

Agora basta executar seu script seguido do ASN que deseja obter os prefixos

Para obter apenas prefixos IPv4:

descobre_prefixos AS32934 -4

Para obter apenas prefixos IPv6:

descobre_prefixos AS32934 -6

Para obter ambos:

descobre_prefixos AS32934

Retorno será:

{
    "description": "Prefixos AS32934",
    "filter": {
        "prefix": [
            "31.13.24.0/21",
            "31.13.64.0/18",
            "45.64.40.0/22",
            "57.144.0.0/14",
            "66.111.48.0/22",
            "66.220.144.0/20",
            "69.63.176.0/20",
            "69.171.224.0/19",
            "74.119.76.0/22",
            "102.132.96.0/20",
            "103.4.96.0/22",
            "129.134.0.0/16",
            "147.75.208.0/20",
            "157.240.0.0/16",
            "163.70.128.0/17",
            "163.77.128.0/17",
            "173.252.64.0/18",
            "179.60.192.0/22",
            "185.60.216.0/22",
            "185.89.216.0/22",
            "204.15.20.0/22",
            "2401:db00::/32",
            "2620:0:1c00::/40",
            "2a03:2880::/31",
            "2a03:2887:ff0c::/47",
            "2a03:2887:ff0f::/48",
            "2a03:2887:ff10::/47",
            "2a03:2887:ff13::/48",
            "2a03:2887:ff15::/48",
            "2a03:2887:ff28::/48",
            "2a03:2887:ff2c::/47",
            "2a03:2887:ff31::/48",
            "2a03:2887:ff32::/48",
            "2a03:2887:ff42::/48",
            "2a03:2887:ff46::/47",
            "2a03:2887:ff58::/47",
            "2a03:83e0::/32",
            "2a10:f781:10:cee0::/64"
        ]
    }
}

É só você utilizar em seus filtros agora!

Segue uma listinha de AS:

Youtube » AS36040
Google Cloud » AS396982
Google » AS15169
Facebook » AS32934
Valve Corp. » AS32590
Telefonica » AS18881
Amazon » AS16509
Akamai » AS20940
Level3 » AS3356
Fastly » AS54113
ByteDance (Tiktok) » AS396986
ZEN-ECN » AS21859
CloudFlare » AS13335
Netflix » AS2906
CDS Global Cloud » AS63199
CDN77 (Xvideos) » AS60068