requête dns dans un script - Perl - Programmation
Marsh Posté le 17-09-2003 à 14:29:04
Salut
je ne connais pas trop les modules qui permettent de communiquer avec les DNS. lequel utilise tu?
Marsh Posté le 17-09-2003 à 19:09:03
J'utilise le module Net:: DNS .
Certes , on peut utiliser la commande nslookup de Bind en l'insérant dans le scrip perl mais j'essaie de ne pas me servir de commandes externes à Perl .
Marsh Posté le 18-09-2003 à 09:00:16
Je ne sais pas si cela t'aidera, mais tu a la doc du module ici:
http://search.cpan.org/author/CREI [...] Net/DNS.pm
et egalement les modules associés:
http://search.cpan.org/author/CREIN/Net-DNS-0.40/
Je n'ai jamais utilisé ce module (gethostbyname me suffit, et meme souvent seulement inet_aton...) donc je ne peux pas t'aider la dessus, désolé...
Sinon si tu est novice en Perl je me permet de te donner un conseil: utilise le pragma strict ("use strict;" ), car dans ta sub tu ecris:
Code :
|
Tu declare donc la variable $nom comme privée à la sub, et tu recupere pour sa valeur l'argument passé à la fonction, donc c'est parfait. Mais tu ne declare mas @mx comme variable privée à la sub, et de plus la variable $res semble avoir été passée à la sub en globale (pas bô!). Plus bas tu ne declare pas nonplus $rr.
donc ca devrait donner un truc comme ca (selon ce que tu veux faire) :
Code :
|
Il faut essayer de rester stricte en Perl car comme le langage est aseez permissif on arrive vite à faire de la purée, donc use strict!
Marsh Posté le 16-09-2003 à 14:08:25
Bonjour
J'ai besoin d'effectuer des requetes DNS dans un script et j'ai testé avec type = A ou MX (exemple ci -dessous ) ou NS .
Mais est-il possible d'utiliser le type "ANY" ?
exemple de sub pour MX
je suis novice en perl alors indulgence ....
#################################
sub mx_domain
{
my ($nom) =@_;
@mx = mx($res, $nom);
if (@mx)
{
print ("\nRecherche des MX pour le domaine ",$nom," \n" );
foreach $rr (@mx) { print (" ",$rr->preference, " ", $rr->exchange," (",&domain_ip($rr->exchange)," )\n" ); }
}
else
{
if ($res->errorstring ne NOERROR)
{ print " requète MX erreur ", $res->errorstring;}
}
}
Si quelqu'un peut m'aider ( une piste .... )
merci