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.
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.
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.
merci,
mais qd je l'utilise, j'ai un message d'erreur à l'execution :
"icmp ping requires root privilege"
quel fichier dois-je reconfigurer?
Est-ce que ping marche quand tu le fais en dehors de ton script perl ?
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"; }
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?
question pour apprendre c'est quoi un ping?
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
C'est vrai que j'ai mal formulé ma question
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 partEnvoyé par DefinitionPing
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ï
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
Pourquoi pas utiliser sudo alors ? Tu configures le fichiers /etc/sudoers avec visudo et tu peux lancer ton script avec@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo ton_script.pl
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.
oui faudra que je jette un coup d'oeil...
mais sinon j'ai tenté le script suivant:
ç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]
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);
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
je ne connais rien sur le ping, mais pour recuperer les resultats, tu peux faire un tableau,ç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?sinon pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 my @toto = system("ping ".$host); ou my @toto = `ping $host`;un man ping pourrait t'aider non. Voilà peu pas faire plus, car je suis pas sur linux et connais pas pingje sais pas comment limiter le nombre de pings, comme sous MS DOS avec -n [nombre]
Pour la programmation voir les cours et tutoriels pour apprendre Perl : http://perl.developpez.com/cours/
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
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.
Merci pour votre aide j'ai une ebauche de solution:
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!
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;}
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager