IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Récupérer la sortie d'un ligne de commande


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 55
    Points
    55
    Par défaut Récupérer la sortie d'un ligne de commande
    Bonjour à tous.
    J'ais un script qui scan les machines d'un réseau.
    Une fois ce scan réaliser le résultat est stocké dans un fichier.
    Un programme analyse ce fichier et pour chaque adresse éffectu une intérogation du serveur dns pour voir si la machine trouvé est contenue dans le dns ou non.
    Voila la demande auprés du dns :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $exec = "nslookup $adresse";
    	system($exec) and die "Nslookup de $adresse échoué : $!\n";
    Je voudrais savoir comment récupérer la réponse du serveur pour ensuite envoyer un message d'alerte si une machine qui n'est pas dans le dns répond au scan ? ? ?
    Que me conseillez-vous pour réaliser cela ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Pour récupérer la sortie d'une commande externe on utilise les backquotes `` plutôt que system() comme c'est expliqué dans la section de notre FAQ consacrée aux processus. Remarque que tu n'as pas vraiment besoin d'utiliser nslookup, le morceau de code suivant interroge le DNS en Perl pur et sans module en dehors du CORE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use Socket;
    $iaddr = inet_aton("64.233.167.99"); # or whatever address
    $name  = gethostbyaddr($iaddr, AF_INET);
    --
    Jedaï

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup de ta réponse jedaï ca me simplifie la vie tu n'imagine pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer la sortie d'une ligne de commande
    Par rambc dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 21/05/2009, 17h33
  2. Obtenir la sortie d'une ligne de commande dans un variable java
    Par Dalidou dans le forum Général Java
    Réponses: 2
    Dernier message: 06/04/2009, 10h17
  3. Récupérer des paramètres de la ligne de commande
    Par Runs59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/04/2008, 17h11
  4. Récupérer des arguments passé en ligne de commande
    Par FinalSpirit dans le forum VBScript
    Réponses: 2
    Dernier message: 01/10/2007, 11h54
  5. récupérer les arguments de la ligne de commande
    Par gblanc dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 14/10/2005, 00h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo