Partage
  • Partager sur Facebook
  • Partager sur Twitter

shell

scan ip et port d un reseau

Sujet résolu
    20 novembre 2017 à 16:45:45

    bonjour a tous

    je suis en ce moment sur les scripts en Shell ( pour changer un peu du C !! lol )

    j ai le projet de faire un script qui ping chaque adresse de mon réseau et qui test en meme temps les ports ouverts !

    voici la base du script

    #!/bin/bash
    p=0
    i=192.168.44.0
    
    for i in 192.168.44.{1..254} 
    do
    ping -c 1 ${i} > /dev/null
      [ $? -eq 0 ] && echo "la connection avec addresse IP: $i est ok."
     ping $i 
    done
    for $p in seq'0 65553'
    do
    echo "^]" | telnet [$i [$p]] 
    if [ telnet [$i [$p]] = 0 ]
    then
    echo "port %d a l adresse ip %d ouvert" , i,p
    else 
    echo "nada , rien a se mettre sous la dent !!" 
    fi
    done
    

    et voici les erreurs que ça me retourne

    ping: unknown host 192.168.44.{1..254}
    ping: unknown host 192.168.44.{1..254}
    scanip2 .sh: 11: scanip2 .sh: Syntax error: Bad for loop variable

    le second souci est dans la condition if qui semble être mal formulé et la j avoue j suis un peu perdu !

    en gros ma condition if dois écrire un message si i et p sont ok , adresse IP avec contact et port ouvert

    • Partager sur Facebook
    • Partager sur Twitter
      20 novembre 2017 à 17:42:34

      salut,

      et nmap ? ce serait quand même plus simple !

      sinon, je suppose que tu appelles ton script avec /bin/sh, qui sur ton système ne serait pas un lien vers /bin/bash.

      et il faut un espace après seq avant l'intervalle.

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        21 novembre 2017 à 7:18:45

        justement je connais et c est vrai qu il serait plus pratique de l utiliser mais dans mon exercice je ne dois utiliser que la commande ping et la commande telnet car ce sont les seules commande installé d office sur un Linux .

        allons messieurs soyons joueur !! lol

        • Partager sur Facebook
        • Partager sur Twitter
          21 novembre 2017 à 7:42:06

          ce que je dis ensuite demande quand même vérification.

          d'ailleurs, pourquoi dans une boucle utilises-tu {1..254}, mais seq dans la seconde ?

          • Partager sur Facebook
          • Partager sur Twitter

          Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

            21 novembre 2017 à 8:08:13

            je connaissais pas la première syntaxe alors je l ai testé pour voir si ça marchait ou pas et apparemment ça fonctionne.

            • Partager sur Facebook
            • Partager sur Twitter
              21 novembre 2017 à 8:15:00

              donc, c'est résolu ?

              alors il faut l'indiquer, sinon il faut dire où ça "pêche" encore.

              • Partager sur Facebook
              • Partager sur Twitter

              Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

                21 novembre 2017 à 9:09:02

                le Shell est bon et opérationnel mais je sais pas si c est une bonne idée de le mettre sur le net

                ça pourrait inspiré des gens mal attentionné a de mauvaise pratique

                • Partager sur Facebook
                • Partager sur Twitter

                shell

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown