Script pour obtenir le nom, l'IP et la MAc des PC du réseau - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 05-10-2012 à 16:24:28
Bonjour
J'ai décomposé mon problème...
J'ai maintenant un fichier "tout_pc" avec le nom des machines à rechercher.
#!/bin/bash
for i in `cat tout_pc`
do
nmblookup -A $i > temp
NAME=`cat temp | grep PC |grep \<00\> | awk -F " " '{print $1}'`
IP=`cat temp | grep 192.168 | awk -F " " '{print $5}'`
MAC=`cat temp | grep MAC | awk -F " " '{print $4}' `
echo $NAME ";" $IP ";" $MAC >>info.txt
done
Mais il me reste 2 problèmes
1er Certaines variables $NAME, $IP et $MAC sont vides, je dois trouver le moyen de faire un test sur ces variables (Non vide et/ou bonnes informations)
2eme Sachant d'avance que le script ne va pas trouver tous les PC au premier lancement, je dois retirer de ma liste "tout_pc" les machines déjà trouvées. (je pense à un sed /$i/d tout_pc)
Merci pour votre aide.
Marsh Posté le 05-10-2012 à 16:51:48
Pour vérifier si une variable n'est pas vide : test -n.
Ce qui donne dans ton cas, si tu veux t'assurer qu'une variable est vide :
Code :
|
Pour ton deuxième problème, un bête grep -v peut suffire.
Marsh Posté le 05-10-2012 à 17:49:34
Mouais, sinon pour la partie scan ip + obtenir les adresses MAC correspondantes, un "bête" ARP-Scan ne suffirait pas ?
Il resterait que la partie nom de machine à traiter
Marsh Posté le 03-10-2012 à 09:20:37
Bonjour à tous
Je lance la commande suivante afin d'obtenir le nom, l'IP et la MAC des PC du réseau :
for i in `nmap -sL 192.168.1.* | grep pc | awk -F " " '{print $2}' | awk -F "." '{print $1}'`; do nmblookup -A $i; done
Voici un extrait du résultat obtenu :
Looking up status of 192.168.1.138
No reply from 192.168.1.138
Looking up status of 192.168.1.139
PC00797 <00> - M <ACTIVE>
PARC <00> - <GROUP> M <ACTIVE>
PC00797 <20> - M <ACTIVE>
PARC <1e> - <GROUP> M <ACTIVE>
MAC Address = 00-1C-C4-XX-XX-XX
Je voudrais une mise en page du résultat sur une seule ligne par ordinateur du style :
No reply from 192.168.1.138
PC00797 ; 192.168.1.139 ; 00-1C-C4-XX-XX-XX
Merci d'avance pour votre aide