[GTER] Tráfego por ASn utilizando flows sem informação de ASn

Gustavo Santos gustkiller at gmail.com
Mon Jan 12 12:55:59 -02 2009


Segue Script para verificação do Originas.txt

O script abaixo verifica o arquivo originas.txt testa os prefixos dando OK,
nos que passaram no teste e parando no que está com erro.

-------------------------------------------------- corte
aqui------------------
#!/usr/bin/perl
  use Net::Patricia;
  my $pt = new Net::Patricia;
# Origin prefixes by ASNs
print STDERR "Loading prefix file into memory... ";
open (fil, "originas.txt");
@db = <fil>;
close(fil);
print STDERR "done.\n";
print STDERR "Creating data structure... ";
foreach $rrow(@db) {
    my ($rAS,$rnet,$rmask) = split(/\s+/, $rrow);
    $fullip = "$rnet/$rmask";
    print $fullip . " -> " . $rAS . " -> ";
    $pt->add_string($fullip, $rAS);
    print $pt->match_string($fullip) . " OK!\n";
}
print STDERR "done.\n";

-------------------------------------------------corte aqui
-----------------------------------
2009/1/12 Gustavo Santos <gustkiller at gmail.com>

> Rubens, descobri o problem. Na verdade o arquivo tinha sido gerado, mas o
> problema é que ele continha algumas inconsistencias,
> exemplo tinha prefixo da seguinte forma.
>
> {6478 1234} 12.206.174.0 23
> ou
> {6478} 12.206.174.0 23
>
> Fazendo testes dentro do script perl, com alguns prints deu pra entender
> aonde estava o problema.  Ou seja quem for utilizar o bzcat agora deve ficar
> atento a isto, não sei se na epoca o bzcat ja dava tudo 100% , me pareceu
> que algumas das saidas parecia como aspath , exclui as chaves e deixei o
> ultimo as nas linhas do originas.txt resolveu o problema.
>
>
>
>
>
> 2009/1/12 Rubens Kuhl Jr. <rubensk at gmail.com>
>
> Gustavo,
>>
>> Me parece que você não gerou o arquivo de prefixos; ele é independente
>> do arquivo de flows, e tem a topologia da DFZ (Default-Free-Zone) em
>> formato prefixo/máscara. O procedimento abaixo consta da mensagem
>> original mas segue para maior clareza:
>>
>> Pegue o arquivo atual do route-views em:
>> http://archive.routeviews.org/dnszones/originas.zone.bz2
>>
>> E processe-o com o seguinte comando:
>>
>> bzcat originas.zone.bz2 | awk -F\" '/^[^@].*\"/ { print $2,$4,$6 }' | uniq
>> >
>> originas.txt
>>
>> O resultado é um arquivo com prefixos no formato rede/máscara. Além
>> desses prefixos, adicione os seus prefixos atuais com um AS privado
>> (ex: 65001) para você identificar a sua rede nos flows. Isso só
>> precisa ser feito uma única vez, depois é só processar regularmente os
>> flows... atualizar essa tabela semanal ou mensalmente deve ser
>> suficiente.
>>
>> Rubens
>>
>>
>> 2009/1/11 Gustavo Santos <gustkiller at gmail.com>:
>>  > Rubens,
>> >
>> > Os links foram de grande valia, pena que o Sateparc nunca foi liberado
>> ao
>> > público, então segui o caminho sugerido por você mesmo na epoca
>>  utilizando
>> > o as-flow.pl para adicionar a informação de AS nos  flows. Só que
>> emperrei
>> > com um erro no as-flow.pl. Mas estou esbarrando em um erro ao executar o
>> > script.
>> >
>> > [root at xxxx 2009-01-11]# flow-cat ft-v05.2009-01-11.* | flow-export -f 2
>> |
>> > grep -v \# |./flow-asn.pl | flow-import -V5 -z0 -f2 | flow-report -v
>> > TYPE=source-as -v SORT=+octets -v OPTIONS=+percent-total,+names
>> > Loading prefix file into memory... done.
>> > Creating data structure... invalid key at ./flow-asn.pl line 22
>> > flow-import: Imported 0 records.
>> >
>> >
>> > Ao ler como o modulo Patricia Trie funciona, e ao  analizar o script em
>> perl
>> > vi que o problema parece que esta acontecendo na captura das variaveis
>> > $rnet e $mask  pois o erro de invalid key se da devido a key nao estar
>> no
>> > padrao  "$pt->add_string('192.168.0.0/16');" que no caso do script esta
>> como
>> > $pt->add_string('$rnet/r$mask $rAS');
>> >
>> > Ao rodar a linha do comando até o grep, a saida do comando esta da
>> seguinte
>> > forma.
>> >
>> >
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,71,2887831354,2887831354,0,0,192.168.155.20,85.176.99.128,0.0.0.0,3,3,42704,4672,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,83,2887831354,2887831354,0,0,192.168.181.168,189.48.219.11,0.0.0.0,3,3,40281,45526,17,192,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,2,346,2887831354,2887831354,0,0,192.168.181.168,190.135.132.63,0.0.0.0,3,3,40281,12093,17,192,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,40,2887831354,2887831354,0,0,192.168.183.3,208.43.241.179,0.0.0.0,3,3,3300,80,6,0,17,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,330,2887831354,2887831354,0,0,124.234.105.101,192.168.183.3,0.0.0.0,3,3,11274,19524,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,90,2887831354,2887831354,0,0,94.66.143.132,192.168.155.22,0.0.0.0,3,3,54726,3484,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,40,2887831364,2887831364,0,0,209.85.193.104,192.168.183.3,0.0.0.0,3,3,80,3281,6,0,16,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,146,2887831364,2887831364,0,0,192.33.14.30,192.168.183.13,0.0.0.0,3,3,53,40754,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,2,440,2887830984,2887831364,0,0,192.168.185.10,207.46.108.86,0.0.0.0,3,3,59831,80,6,0,24,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,66,2887831364,2887831364,0,0,92.135.50.46,192.168.181.186,0.0.0.0,3,3,6672,58655,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,2,80,2887831304,2887831364,0,0,192.168.183.3,201.48.228.200,0.0.0.0,3,3,3199,80,6,0,17,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,68,2887831364,2887831364,0,0,192.168.183.13,65.61.198.11,0.0.0.0,3,3,64568,53,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,3,144,2887830924,2887831364,0,0,221.1.204.243,192.168.183.130,0.0.0.0,3,3,80,42685,6,0,17,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,5,1371,2887830664,2887831364,0,0,192.168.183.3,207.182.142.247,0.0.0.0,3,3,3120,80,6,0,24,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,330,2887831364,2887831364,0,0,213.60.105.38,192.168.183.3,0.0.0.0,3,3,62863,19524,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,46,2887831364,2887831364,0,0,201.211.246.132,192.168.183.3,0.0.0.0,3,3,6390,49350,17,0,0,0,0,0,0
>> >
>> 1231649110,201371000,2887844074,192.168.133.10,1,147,2887831364,2887831364,0,0,221.216.52.156,192.168.155.22,0.0.0.0,3,3,5620,15551,17,0,0,0,0,0,0
>> > ps: mudei o inicio do nosso bloco real para 192.168.
>> >
>> > Isto seria alguma "cabeçada" minha durante a captura dos flows? ( estou
>> > utilizando o comado flow-capture -w  /var/netflow 0/0/1234)  e os flows
>> são
>> > versão 5.
>> >
>> > Ou hoje já existe uma outra forma de tratar os flows ja capturados e com
>> > eles adicionar a informacão de AS e gerar relatórios de tráfego por AS.
>> >
>> > Enquanto isto vou tentando por aqui já que estamos pra decidir qual a
>> melhor
>> > opção de ptt em São Paulo para nos interconectar.
>> >
>> >
>> > Gustavo Santos
>> >
>> >
>> >
>> > 2009/1/9 Rubens Kuhl Jr. <rubensk at gmail.com>
>> >
>> >> Gustavo,
>> >>
>> >> Experimente um gerador de registros Netflow como o NFSIM:
>> >> http://www.ipflow.utc.fr/index.php/Introduction_to_NFSIM
>> >>
>> >> Para processar os registros de Netflow sem ASN, 2 técnicas já foram
>> >> apresentadas na lista e eventos do GTER. Uma delas está descrita em
>> >> uma mensagem minha de 2006:
>> >> http://eng.registro.br/pipermail/gter/2006-February/009969.html
>> >>
>> >> A outra foi descrita numa apresentação no evento do GTER pelo Eduardo
>> >> Ascenço, e na mensagem acima há link para ela.
>> >>
>> >> Caso o NFSIM não escale, há outros probes Netflow para Linux... o mais
>> >> importante é deixar apenas a coleta de registros Netflow em tempo
>> >> real, com o processamento (marcação de ASN e análise de tráfego)
>> >> offline.
>> >>
>> >>
>> >> Rubens
>> >>
>> >>
>> >> 2009/1/9 Gustavo Santos <gustkiller at gmail.com>:
>> >> > Pessoal,
>> >> >
>> >> > Gostaria de saber a experiencia de vocês na coleta de netflows para
>> >> analise
>> >> > de tráfego por ASN  utilizando flows sem informação de ASn gerados
>> por
>> >> > plataforma linux.
>> >> > Testei o ntop que tem esta função ( ele tem uma lista de asn e blocos
>> >> cidr
>> >> > para fazer a associação) , só que o mesmo não suportou o volume de
>> >> tráfego
>> >> > em média 200mbits.
>> >> >
>> >> > Atenciosamente,
>> >> >
>> >> > Gustavo Santos
>> >> > --
>> >> > gter list    https://eng.registro.br/mailman/listinfo/gter
>> >> >
>> >> --
>> >> gter list    https://eng.registro.br/mailman/listinfo/gter
>> >>
>> > --
>> > gter list    https://eng.registro.br/mailman/listinfo/gter
>> >
>> --
>> gter list    https://eng.registro.br/mailman/listinfo/gter
>>
>
>



More information about the gter mailing list