[SP-pm] Capturar dados da saida do traceroute

Leonardo Ruoso leonardo at ruoso.com
Wed Jul 16 04:51:51 PDT 2014


Embora seja possível usar a saída de texto de utilitários unix padrão,
normalmente instalar um módulo, seja pure perl, seja um wrapper para uma
biblioteca local, é uma estratégia de implementação muito mais fácil.
Imagina você avaliar as saídas do dig para diagnosticar erros de DNS?


Em 16 de julho de 2014 00:45, Marcio - Google <marciorp em gmail.com> escreveu:

> Salve Mestres!
>
> Estou precisando de ajuda.
>
> Preciso capturar a saída do traceroute (Linux) e alimentar um DB MySql,
> para monitorar e gerar estatísticas.
>
> Meu problema está sendo capturar a saída do traceroute e separar os dados
> para jogar para o lugar certo do BD.
>
> Aqui está um exemplo da saída.
>
> traceroute to www.terra.com.br (208.84.244.116), 30 hops max, 60 byte
> packets
>  1  . (192.168.1.1)  1.681 ms  2.309 ms  4.409 ms  4.402 ms  4.538 ms
>  4.532 ms  4.668 ms  4.660 ms  4.798 ms  4.791 ms
>  2  gvt-l0.b7.cba.gvt.net.br (177.132.244.1)  151.597 ms  152.541 ms
>  153.963 ms  155.268 ms  167.864 ms  169.350 ms  152.464 ms  153.137 ms
>  154.161 ms  155.344 ms
>  3  gvt-host.gvt.net.br (189.59.240.226)  157.298 ms  158.785 ms  160.945
> ms  161.023 ms  161.102 ms  164.795 ms  52.871 ms  53.008 ms  54.147 ms
>  55.764 ms
>  4  gvt-te-0-3-0-4.rc02.mga.gvt.net.br (177.99.249.61)  73.107 ms
> gvt-te-0-5-0-0.rc02.gna.gvt.net.br (179.185.131.206)  85.019 ms
> gvt-te-0-3-0-4.rc02.mga.gvt.net.br (177.99.249.61)  60.341 ms
> gvt-te-0-5-0-0.rc02.gna.gvt.net.br (179.185.131.206)  71.651 ms
> gvt-te-0-3-0-4.rc02.mga.gvt.net.br (177.99.249.61)  62.644 ms
> gvt-te-0-5-0-0.rc02.gna.gvt.net.br (179.185.131.206)  68.953 ms
> gvt-te-0-3-0-4.rc02.mga.gvt.net.br (177.99.249.61)  91.988 ms
> gvt-te-0-5-0-0.rc02.gna.gvt.net.br (179.185.131.206)  103.911 ms
> gvt-te-0-3-0-4.rc02.mga.gvt.net.br (177.99.249.61)  95.768 ms
> gvt-te-0-5-0-0.rc02.gna.gvt.net.br (179.185.131.206)  107.712 ms
>  5  gvt-te-0-1-0-8.rc02.bhe.gvt.net.br (177.99.250.53)  121.375 ms
> gvt-te-0-10-0-8.rc05.cta.gvt.net.br (179.184.73.22)  107.179 ms  107.418
> ms  111.644 ms gvt-te-0-1-0-8.rc02.bhe.gvt.net.br (177.99.250.53)
>  125.163 ms  125.584 ms  145.303 ms gvt-te-0-10-0-8.rc05.cta.gvt.net.br
> (179.184.73.22)  135.723 ms gvt-te-0-1-0-8.rc02.bhe.gvt.net.br
> (177.99.250.53)  149.508 ms  247.503 ms
>  6  gvt-te-0-7-0-9.rc06.spo.gvt.net.br (189.59.252.233)  104.973 ms
> gvt-te-0-0-0-2.rc02.spo.gvt.net.br (189.59.243.113)  76.281 ms
> gvt-te-0-7-0-9.rc06.spo.gvt.net.br (189.59.252.233)  38.784 ms  42.582 ms
>  40.791 ms  40.878 ms  40.968 ms gvt-te-0-0-0-2.rc02.spo.gvt.net.br
> (189.59.243.113)  72.386 ms gvt-te-0-7-0-9.rc06.spo.gvt.net.br
> (189.59.252.233)  64.014 ms  121.997 ms
>  7  gvt-te-0-1-1-0.rt01.spo.gvt.net.br (187.115.214.186)  52.579 ms
>  52.658 ms  52.747 ms  131.927 ms 179.185.129.141.dynamic.adsl.gvt.net.br
> (179.185.129.141)  39.774 ms gvt-te-0-1-1-0.rt01.spo.gvt.net.br
> (187.115.214.186)  54.825 ms 179.185.129.141.dynamic.adsl.gvt.net.br
> (179.185.129.141)  53.828 ms gvt-te-0-1-1-0.rt01.spo.gvt.net.br
> (187.115.214.186)  54.755 ms  162.135 ms
> 179.185.129.141.dynamic.adsl.gvt.net.br (179.185.129.141)  151.463 ms
>  8  xe-4-2-0.ar4.gru1.gblx.net (64.214.61.37)  152.128 ms  153.330 ms
>  154.900 ms  155.503 ms  39.855 ms  41.674 ms xe-1-1-2.ar4.gru1.gblx.net
> (67.17.161.221)  40.704 ms  41.563 ms  43.717 ms
> xe-4-2-0.ar4.gru1.gblx.net (64.214.61.37)  43.966 ms
>  9  po5.ar1.mia2.gblx.net (67.16.148.102)  309.647 ms
> po4-20g.ar1.mia2.gblx.net (67.16.134.218)  217.833 ms  271.270 ms
>  217.424 ms po5.ar1.mia2.gblx.net (67.16.148.102)  207.554 ms  207.728 ms
>  207.821 ms po4-20g.ar1.mia2.gblx.net (67.16.134.218)  219.048 ms
> po5.ar1.mia2.gblx.net (67.16.148.102)  208.136 ms
> po4-20g.ar1.mia2.gblx.net (67.16.134.218)  268.611 ms
> 10  ae5.edge2.miami2.level3.net (4.68.111.121)  271.127 ms  271.113 ms *
> * * * * * * *
> 11  4.59.242.10 (4.59.242.10)  219.347 ms  219.445 ms  219.675 ms  146.510
> ms  145.205 ms  146.287 ms  183.007 ms  184.465 ms  184.573 ms  186.884 ms
> 12  tdcsdr11-vl-5.mia1.ustdata.net (66.119.65.65)  220.524 ms  222.357 ms
>  222.942 ms  226.039 ms  329.702 ms  329.934 ms  330.707 ms  328.504 ms
>  307.183 ms  306.780 ms
> 13  216.177.213.250 (216.177.213.250)  316.044 ms  280.441 ms  207.240 ms
>  205.952 ms  207.743 ms  206.937 ms  197.343 ms  196.061 ms  190.097 ms
>  199.315 ms
> 14  terra-v-99-dsw01-mia.tc.terra.com (98.142.238.241)  146.495 ms
>  146.134 ms  146.253 ms  145.714 ms  146.307 ms  147.876 ms  157.079 ms
>  183.776 ms  236.499 ms  237.965 ms
> 15  terra-v-62-slb03-mia.tc.terra.com (208.84.240.236)  237.687 ms
>  239.300 ms  236.758 ms  237.525 ms  236.519 ms  243.842 ms  160.867 ms
>  159.553 ms  159.894 ms  158.849 ms
> 16  www.terra.com.br (208.84.244.116)  160.499 ms  167.975 ms  157.050 ms
>  155.958 ms  216.220 ms  217.074 ms  216.606 ms  227.743 ms  217.053 ms
>  253.018 ms
>
> Cada linha é um salto. A quantidade de colunas é variável, sendo no mínimo
> 4.
>
> Coluna 1 = Número do Salto
> Coluna 2 = Host
> Coluna 3 = IP do Host
> Coluna 4 = Tempo
>
> As colunas 2 a 4 podem se repetir várias vezes, e não necessariamente
> todas elas.
>
> Se notarem o salto 1, p.e., está assim: Número do Salto, Host, IP do Host,
> Tempo, Tempo, Tempo, Tempo, Tempo, Tempo, Tempo, Tempo, Tempo, Tempo.
>
> Já o salto 9, p.e., está assim: Número do Salto, Host, IP do Host, Tempo,
> Host, IP do Host, Tempo, Tempo, Tempo, Host, IP do Host, Tempo, Tempo,
> Tempo, Host, IP do Host, Tempo, Host, IP do Host, Tempo, Host, IP do Host,
> Tempo.
>
> Preciso separar esses dados para armazena-los.
>
> Simplificando, tenho três tabelas:
> Amostragem = Data/Hora (PK), Destino (PK), outras informações.
> Saltos = Data/Hora (PK), Destino (PK), Salto (PK), outras informações
> Hosts = Data/Hora (PK), Destino (PK), Salto (PK), Sequencia (PK), Host, IP
> do Host, Tempo, outras informações
>
> No exemplo do salto 1 eu teria um registro na tabela "Amostragem", 1
> registro na tabela "Saltos" e 10 registros na tabela "Hosts", sendo o
> primeiro com as colunas Host, IP do Host e Tempo preenchidas e os outros 9
> só com a coluna Tempo.
>
> Gravar no BD é tranquilo, não sei se seguindo as melhores práticas, mas
> funciona ... rsrsrs
>
> O abacaxi está em separar esses dados ai para jogar para as
> tabelas/colunas correspondentes.
>
> Acho que consegui explicar ... rsrsrs
>
> Dicas, sugestões, questionamentos, receita de bolo ... serve tudo!
>
> [...]'s
>
> Marcio
>
> ========================================
> ########### Campanha Ajude o Marcio! ###########
> http://sosmarcio.blogspot.com.br/
> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
> ========================================
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
Leonardo Ruoso
Journalist, Perl developer and business consultant
Media, UFC/2006; Telecom, IFCE/1998
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140716/a436650d/attachment-0001.html>


More information about the SaoPaulo-pm mailing list