(Redhat) faire du script ds VI

Résolu/Fermé
do1984 Messages postés 54 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 13 juin 2008 - 28 mars 2007 à 20:32
do1984 Messages postés 54 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 13 juin 2008 - 2 avril 2007 à 18:52
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





7 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
28 mars 2007 à 22:28
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
do1984 Messages postés 54 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 13 juin 2008
30 mars 2007 à 19:06
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
do1984 Messages postés 54 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 13 juin 2008
30 mars 2007 à 19:19
Est-ce que tu peux m'expliquer ceux que chaque ligne fait je vais pouvoir mieux trouver mon erreur
svp
do1984
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
30 mars 2007 à 19:53
Tu peux avoir la signification de chaque commande utilisée en tapant
man lenomdelacommande

Exemple :
man echo
man seq
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
do1984 Messages postés 54 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 13 juin 2008
30 mars 2007 à 20:48
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
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
31 mars 2007 à 02:37
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
do1984 Messages postés 54 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 13 juin 2008
2 avril 2007 à 18:52
Hey je te remercie :) Sa fonctionne :) Je te remerci bcp :)
0