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

Programmation et administration système Perl Discussion :

[reseaux] pinger en perl


Sujet :

Programmation et administration système Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut [reseaux] pinger en perl
    bonjour a tous,

    j'aimerais savoir s'il est possible d'effectuer un ping avec perl, sans forcement passer par la bibliotheque WWW::Mechanize, merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 53
    Points : 64
    Points
    64
    Par défaut
    Net:ing ...
    http://search.cpan.org/search?query=ping&mode=all
    les fautes d'orthographe de ce texte sont sous license GPL. Merci d'informer le proprietaire de la faute en cas de modification.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    merci,

    mais qd je l'utilise, j'ai un message d'erreur à l'execution :

    "icmp ping requires root privilege"

    quel fichier dois-je reconfigurer?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Est-ce que ping marche quand tu le fais en dehors de ton script perl ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    oui sous MS-DOS ça marche...

    mais des que j'essaie d'executer ce sript depuis un invite de commande linux ca ne marche plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #!/usr/bin/perl -w
     
    use strict;
    use Net::Ping;
     
    my $host = $ARGV[0];
     
    my $p = Net::Ping->new("icmp");
     
    if ($p->ping($host)) {
        print "$host est vivant.\n";
    } else {
        print "$host est hors d'atteinte.\n";
    }

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    apparamment je crois que je ne peu pas envoyer des donees ICMP, a cause de ma configuration.
    est-il possible de faire la meme chose avec tcp ou udp?

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    question pour apprendre c'est quoi un ping?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    C'est vrai que j'ai mal formulé ma question

    Citation Envoyé par DefinitionPing
    Ping est un outil de diagnostic qui permet de s'assurer de la connexion entre deux machines sur un réseau. Il envoie des paquets contenant des demandes d'écho ICMP vers une adresse IP distante et se met à l'écoute de réponses ICMP.
    Mais est-il possible de faire la meme chose avec tcp ou udp? car manifestement un ping simple ICMP est chose impossible par le biais de perl, meme avec la bibliotheque Net:ing. Si qqn a une idee sur la question merci de m'en faire part

  9. #9
    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
    Non non, la faute n'est pas à Perl, mais à Linux, car seul root semble avoir le droit de faire un ping sur ton pc... Essaie de lancer le script en root pour vérifier que le problème est bien là.

    --
    Jedaï

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    mais est-il possible de contourner ça? c-a-d pouvoir le faire sans modifier la configuration de linux? parce que quand je fais un ping normal sous linux ça marche

  11. #11
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Pourquoi pas utiliser sudo alors ? Tu configures le fichiers /etc/sudoers avec visudo et tu peux lancer ton script avec @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    oui faudra que je jette un coup d'oeil...

    mais sinon j'ai tenté le script suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/usr/bin/perl -w
     
    use strict;
     
    my $host = $ARGV[0];
    system("ping ".$host);
    ça lance automatiquement un ping, mais vu que je travaille sous linux, je sais pas comment limiter le nombre de pings, comme sous MS DOS avec -n [nombre]
    et comment saisir le résultat de la commande?
    je suis en train de chercher mais si qqn a deja la reponse ca serait cool

  13. #13
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    ça lance automatiquement un ping, mais vu que je travaille sous linux, je sais pas comment limiter le nombre de pings, comme sous MS DOS avec -n [nombre]
    et comment saisir le résultat de la commande?
    je ne connais rien sur le ping, mais pour recuperer les resultats, tu peux faire un tableau,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my @toto = system("ping ".$host); ou
    my @toto = `ping $host`;
    sinon pour
    je sais pas comment limiter le nombre de pings, comme sous MS DOS avec -n [nombre]
    un man ping pourrait t'aider non. Voilà peu pas faire plus, car je suis pas sur linux et connais pas ping

    Pour la programmation voir les cours et tutoriels pour apprendre Perl : http://perl.developpez.com/cours/

  14. #14
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    ping est une commande envoyant des paquets pour tester si une machine distante répond ou non.
    Sinon, pour le reste, djibril a indiqué la voie à suivre.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Merci pour votre aide j'ai une ebauche de solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #!/usr/bin/perl -w
     
    use strict;
     
    my $host = $ARGV[0];
     
    my @reponse = system("ping -c 1 ".$host);
     
    if ($reponse[0] == 0) {print("Connexion OK\n");}
    elsif ($reponse[0] == 512) {print("Pas de connexion\n");}
    #elsif ($reponse[0] == 256) {stop;}
    Ce script marche a à priori quand on entre en parametre un nom de domaine ou localhost, mais il reste un pb quand on entre une adresse physique... en tout cas votre aide m'a permis de me mettre sur la voie, merci!

  16. #16
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Une adresse physique ? Tu entends par là une adresse IP ?
    Normalement, ping prend les adresses IP.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

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

Discussions similaires

  1. [reseaux] [PERL] Trouver le nom d'une machine à partir d'une adresse IP
    Par LE NEINDRE dans le forum Programmation et administration système
    Réponses: 6
    Dernier message: 16/09/2008, 15h17
  2. [reseaux] perl et le reseaux?
    Par jertag dans le forum Programmation et administration système
    Réponses: 5
    Dernier message: 31/05/2005, 09h15
  3. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  4. [reseaux] Comment creer un compte user à partir d'un formul avec perl
    Par oulai_evado dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 01/10/2002, 19h54
  5. [réseaux] Bench en Perl pour avoir le débit entre 2 pc
    Par Frich dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 22/05/2002, 17h22

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