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

Shell et commandes GNU Discussion :

Script shell et commande ping


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Par défaut Script shell et commande ping
    Bonjour a tous,

    Ma question est tres simple et ne devrait pas vous posez trop de probleme.

    J'ai ecri un script shell qui execute la commande ping sur plusieurs ip :

    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
    16
    17
    18
    19
    20
    21
    22
    23
     
    #! /bin/bash
     
    # Select the third number of your own ip (to select the good router)
    ip1=$(hostname -I | awk '{print $1}' | sed -e "s/\./ /g" | awk '{print $3}')
     
    rm logIp  2> /dev/null
     
    # Execute the ping command on the 254 ip correpondant to the selecting router
    function pingIP()
    {
      ping -c 1 192.168.$ip1.$1 >& /dev/null
      [ $? -eq  0 ] && echo "192.168.$ip1.$1" >> logIp
    }
     
    # Loop to execute all ping command on the same time
    for ip2 in $(seq 1 254); do 
      pingIP $ip2 &
    done
     
    # Code to remove my own ip to the file which contains all ips
    myIp=$(hostname -I)
    grep -v $myIp logIp > logIp
    J'ai commente mon code pour que vous sachiez ce que j'ai voulu faire,
    mon souci :

    Ce script ne donne jamais le meme resultat et pourtant, je sais qu'il teste toujours les memes 254 ips.

    A moins que les gens s'amusent a deconnecte leur pc toutes les secondes, je ne comprends pas pourquoi je ne recois pas toujours la meme liste.

    Savez-vous pourquoi ?

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Par défaut
    Personne ?

    Cela me paraissait être assez simple pourtant.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Bonjour,

    tu ne peux pas utiliser nmap ? ce serait peut-être plus rapide, et plus propre
    ...
    ?

    Ce script ne donne jamais le meme resultat
    tu peux développer ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Par défaut
    Pourquoi dis tu que mon script n'est pas propre ?

    La commande ping est très utile et utilisée.

    Je ne peux pas essayer nmap car j'ai besoin de récupérer ma liste d'ip en même temps que mon programme s’exécute donc ne fait, je lance mon script au début de l’exécution de mon programme.

    Ce que j'entend par "pas le même résultat", c'est que je n'ai jamais la même liste d'ip a quelque seconde d'intervalles et cela n'est pas normal puisque je test bien les même ip a chaque fois.

  5. #5
    Membre émérite Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Par défaut
    Salut,

    Est-il possible de pouvoir comparer/ nous paster 2 output différentes afin de mieux comprendre le probleme ?

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Pourquoi dis tu que mon script n'est pas propre ?
    si tu pouvais utiliser nmap, ce serait un coup de nmap -sP 192.168.1.0/24 | awk/sed 'filtre les adresses up', une fois pour toutes.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Par défaut
    N Bah : J'ai voulu ecouter et essayer nmap mais cette commande met 13 seconde a tester une ip valide alors que ping seulement 1 seconde donc je vais garder mon script meme si il est un peu plus long en terme de ligne mais merci.

    Messinese: Je n'ai pas besoin de vous patcher deux diff, pour t'expliquer, dis toi que j'execute mon script a quelque seconde d'intervalle :

    - rm mon fichier de log
    - ping les 255 ips
    - stock les ip valide dans le fichier de log

    Ce script devrait normalement donner toujours le meme resultat et pourtant, apres avoir executer mon script, si j'execute la commande wc -l log

    je n'obtiens pas le meme nombre de ligne donc le meme nombre d'ip valide.

    J'ai penser que peut etre, etant donne que j'execute tout les ping en meme temps avec &,
    certains ne sont pas fini, ou alors certains ce sont perdusm je ne sais pas, si tu veux prend mon script et test le, peut etre aura-t-il le meme comportement.

    Merci en tout cas

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    il ne faut pas mettre nmap dans une boucle; la commande donnée scanne le réseau en 2 ou 3 secondes.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Par défaut
    N Bah, peux tu me donner la commande que tu exécutes pour que cela ne dure que 2 ou 3 secondes s'il te plait ?

    Car chez moi, je te confirme que dans une boucle ou non, je dois couper la commande tellement c'est long et lorsque je la coupe, elle n'avait exécuté seulement que 20% de son scan.

    Merci d'avance

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Celle donnée plus haut (post #6) : nmap -sP 192.168.1.0/24 | grep 'to be up'

  11. #11
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    rien que je ne t'aie donné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nmap -sP 192.168.1.0/24
     
    Starting Nmap 5.21 ( http://nmap.org ) at 2012-03-09 17:46 CET
    [...]
    Nmap done: 256 IP addresses (3 hosts up) scanned in 2.22 seconds
    c'est tout.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Jdumont Voir le message
    N Bah, peux tu me donner la commande que tu execute pour que cela ne dure que 2 ou 3 seconde s'il te plait ?

    Car chez moi, je te confirme que dans une boucle ou non, je doit couper la commande tellement c'est long et lorsque je la coupe, elle n'avait executer seulement que 20% de son scan.

    Merci d'avance
    Salut,

    Le scan peut également durer plus longtemps que prévu si tu pingues un subnet inexistant.

    Scan d'un subnet inexistant

    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
    16
     
    Starting Nmap 5.00 ( http://nmap.org ) at 2012-03-09 20:23 CET
    Stats: 0:00:04 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 3.91% done; ETC: 20:25 (0:01:38 remaining)
    Stats: 0:00:05 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 4.88% done; ETC: 20:25 (0:01:37 remaining)
    Stats: 0:00:08 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 8.40% done; ETC: 20:25 (0:01:27 remaining)
    Stats: 0:00:09 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 8.79% done; ETC: 20:25 (0:01:33 remaining)
    Stats: 0:00:11 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 10.74% done; ETC: 20:25 (0:01:31 remaining)
    Stats: 0:00:12 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 11.72% done; ETC: 20:25 (0:01:30 remaining)
    Stats: 0:00:21 elapsed; 0 hosts completed (0 up), 256 undergoing Ping Scan
    Ping Scan Timing: About 20.51% done; ETC: 20:25 (0:01:21 remaining)
    Scan d'un subnet existant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Starting Nmap 5.00 ( http://nmap.org ) at 2012-03-09 20:24 CET
    Nmap done: 256 IP addresses (x hosts up) scanned in 2.98 seconds

  13. #13
    Membre émérite Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IT Security Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Par défaut
    Salut,

    Si tu veux en savoir plus ou optimiser ton host discovery par exemple pour aller plus vite avec des scans ARP, look here , aprés c'est sur qu'NMAP est bien mieux qu'un ping ..

Discussions similaires

  1. Script shell et commande lftp
    Par blueice dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 12/06/2012, 07h05
  2. Réponses: 4
    Dernier message: 23/11/2010, 14h26
  3. [Toutes versions] Script de test commande ping
    Par cesar33 dans le forum VBA Word
    Réponses: 2
    Dernier message: 09/02/2010, 12h13
  4. Réponses: 2
    Dernier message: 27/02/2006, 15h59

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