(Redhat) faire du script ds VI

Résolu
do1984 Messages postés 54 Statut Membre -  
do1984 Messages postés 54 Statut Membre -
Bien bonjour tous le monde :)

Je suis vraiment nouveaux en scripting....
Je doit executer la commande NMAP -O 10.117.26.0/24 pour m'afficher les OS de chaque ordinateur.

Se que j'ai de besion est d'éxecuter un script qui va me donner tous les OS linux ainsi que leur IP. J'ai beaucoup de machine Windows dans se subnet aussi, et je veux rien savoir de eux.

Donc si quelqu'un peu me donner un coup de main se serait très apprécier

Merci d'avance
Do1984

--
Y'a ceux qui achete des p'tit router linksys, et les autres.......
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Le problème c'est que nmap sert à scanner les ports ouverts et fermés d'une machine mais ça ne permet pas de certifier l'OS utilisé (après tout tu es libre d'ouvrir et fermer les ports que tu veux). De plus le -O ne marche pas à tous les coups et suppose que le nmap soit lancé en root.
    (mando@aldur) (~) $ nmap -O localhost
    TCP/IP fingerprinting (for OS scan) requires root privileges.  Sorry, dude.
    
    QUITTING!
    
    (root@aldur) (~) # nmap -O localhost
    
    Starting Nmap 4.11 ( https://nmap.org/ ) at 2007-03-28 22:23 CEST
    Interesting ports on localhost (127.0.0.1):
    Not shown: 1675 closed ports
    PORT    STATE SERVICE
    21/tcp  open  ftp
    22/tcp  open  ssh
    25/tcp  open  smtp
    111/tcp open  rpcbind
    113/tcp open  auth
    No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/cgi-bin/submit.cgi?new-os
    TCP/IP fingerprint:
    SInfo(V=4.11%P=i686-pc-linux-gnu%D=3/28%Tm=460ACEE7%O=21%C=1)
    TSeq(Class=RI%gcd=1%SI=442B10%IPID=Z)
    TSeq(Class=RI%gcd=1%SI=442B09%IPID=Z)
    TSeq(Class=RI%gcd=1%SI=4425E4%IPID=Z)
    T1(Resp=Y%DF=Y%W=8000%ACK=S++%Flags=AS%Ops=MNNTNW)
    T2(Resp=N)
    T3(Resp=Y%DF=Y%W=8000%ACK=S++%Flags=AS%Ops=MNNTNW)
    T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
    T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
    T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
    T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
    PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)
    
    
    
    Nmap finished: 1 IP address (1 host up) scanned in 10.205 seconds
    
    
    Mais bon on va supposer que tu es entouré d'utilisateurs normaux. Il faut alors choisir un port "approprié" genre le port netbios pour les windows, ou ssh pour les linux (port 22).
    #!/bin/bash
    
    for i in $(seq 15)
    do
       ip=10.117.26.$i
       log = log_${ip}.txt
       echo "scanning ${ip}"
       nmap -O ${ip} > ${log}
    done

    Bonne chance
    0
  2. do1984 Messages postés 54 Statut Membre
     
    Scuse moi pour l'attente !!
    Je te remercie pour l'aide que tu m'as offert, cependant je ne l'ai pas encore essayé. Je suis étudiant et je ne travail pas à tous les jours.

    Est-ce qu'il y aurait un autre moyen de le faire ?

    Merci bcp
    Bien apprécier.
    0
  3. do1984 Messages postés 54 Statut Membre
     
    Est-ce que tu peux m'expliquer ceux que chaque ligne fait je vais pouvoir mieux trouver mon erreur
    svp
    do1984
    0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Tu peux avoir la signification de chaque commande utilisée en tapant
    man lenomdelacommande

    Exemple :
    man echo
    man seq
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. do1984 Messages postés 54 Statut Membre
     
    Ouais ok :)

    Le script a fonctionner mais il m'as même donner les boîtes windows puis j'aimerais que se soit ds un fichier et non ds 255 fichier
    Est-ce que tu comprends se que je veux dire ?
    do1984

    0
  7. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Bah ouais il suffit alors que la variable log ne change pas de valeur dans la boucle.
    #!/bin/bash
    
    log = log.txt
    for i in $(seq 15)
    do
       ip=10.117.26.$i
       echo "scanning ${ip}"
       nmap -O ${ip} > ${log}
    done

    Bonne chance
    0
  8. do1984 Messages postés 54 Statut Membre
     
    Hey je te remercie :) Sa fonctionne :) Je te remerci bcp :)
    0