Comando DIG

1. Comando DIG

Marcelo Schmidt
msb

(usa Fedora)

Enviado em 12/12/2012 - 08:13h

Bom dia pessoal.... estou em um projetinho aqui onde preciso recuperar dns, reverso, mx, etc...
Estava usando algumas funções do php, mas não sei.. acho que não retornava todas as informações que precisava.. Ai fui para o dig.. nele sim.. mas não consegui separar as informações que preciso ela vem em um bloco só!! Alguém tem uma luz. Já tentei explode() e sem resultados.
Agradeço desde já!!!

Att
Marcelo


  


2. Re: Comando DIG

Danilo Josino
djosino

(usa Ubuntu)

Enviado em 12/12/2012 - 11:37h

Vc pode usar o dig com grep ou awk.

Ex: se vc quer a resposta do dig
dig www.vivaolinux.com.br | grep -v ';' | grep .


3. Re: Comando DIG

Marcelo Schmidt
msb

(usa Fedora)

Enviado em 17/12/2012 - 16:25h

Mas isso no php?
Tô quebrando a cabeça aqui eu não estou conseguindo não....


4. Re: Comando DIG

cr0n
_di0

(usa FreeBSD)

Enviado em 17/12/2012 - 17:04h

msb escreveu:

... acho que não retornava todas as informações que precisava.. Ai fui para o dig.. nele sim.. mas não consegui separar as informações que preciso ela vem em um bloco só!! Alguém tem uma luz. Já tentei explode() e sem resultados.
Agradeço desde já!!!

Att
Marcelo


Que informações são essas que a função dns-get-record(), não pode lhe ajudar? Basicamente todas as informações retornadas por utilitários DNS lookup são também retornadas pela função citada:


which php | xargs echo -n '#!' > dnsGet.php

vi dnsGet.php

Adicione:


<?php
$dnsHandler = dns_get_record("vivaolinux.com.br", DNS_ALL);
print_r($dnsHandler);
?>


chmod +x dnsGet.php && ./dnsGet.php

Veja a saída, muitas informações são retornadas.


5. Re: Comando DIG

Marcelo Schmidt
msb

(usa Fedora)

Enviado em 17/12/2012 - 18:49h

Tipo:
O cliente entra com um range de ip> ele pinga em cada um e depois verifica se existe um host para esse ip.
de existir ele teria que mostrar o reverso e verificar se é igual ao host.

Só que pelo :

$hostname = gethostbyaddr($ip);


$dns=dns_get_record($hostname, DNS_ALL);

Não sei se não identifiquei ou ele não está retornando...
Estou testando com os da telefonica

Array ( [0] => Array ( [host] => resolver1.telesp.net.br [class] => IN [ttl] => 2263 [type] => A [ip] => 200.204.0.10 ) ) 200.204.0.10==> SEM ping ==> resolver1.telesp.net.br
1Array ( [0] => Array ( [host] => psc-ns6.telesp.net.br [class] => IN [ttl] => 2264 [type] => A [ip] => 200.204.0.11 ) ) 200.204.0.11==> SEM ping ==> psc-ns6.telesp.net.br
1Array ( ) 200.204.0.12==> SEM ping ==> 200.204.0.12
1Array ( ) 200.204.0.13==> SEM ping ==> 200.204.0.13
1Array ( ) 200.204.0.14==> SEM ping ==> 200.204.0.14
1Array ( ) 200.204.0.15==> SEM ping ==> 200.204.0.15
1Array ( ) 200.204.0.16==> SEM ping ==> 200.204.0.16
1Array ( ) 200.204.0.17==> SEM ping ==> 200.204.0.17
1Array ( ) 200.204.0.18==> SEM ping ==> 200.204.0.18
1Array ( ) 200.204.0.19==> SEM ping ==> 200.204.0.19
1Array ( ) 200.204.0.20==> SEM ping ==> 200.204.0.20

Att.
Marcelo


6. Re: Comando DIG

cr0n
_di0

(usa FreeBSD)

Enviado em 18/12/2012 - 13:33h

msb escreveu:

Não sei se não identifiquei ou ele não está retornando...
Estou testando com os da telefonica




Pode ser que você não esteja identificando, não entendi muito bem a estrutura do seu código, acredito que você queira mudar a maneira de como esse trecho realiza essa tarefa. Possivelmente o uso de gethostbyaddr() seja o suficiente ou talvez algo como:



$ip = '174.123.53.162';
$reverse=dns_get_record(implode('.',array_reverse(explode('.', $ip))).'.in-addr.arpa.',DNS_PTR);



Utilizando-se da função print_r() para retornar informações legíveis, você seria capaz de ter informações sobre o reverso. O resto seria analisar se o array veio com informações e trabalhar na lógica, mas aí é com você. Explique melhor o problema caso ainda se faça necessário.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts