Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
836 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script pour obtenir le nom, l'IP et la MAc des PC du réseau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script pour obtenir le nom, l'IP et la MAc des PC du réseau

n°1320584
redmail
Posté le 03-10-2012 à 09:20:37  profilanswer
 

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

mood
Publicité
Posté le 03-10-2012 à 09:20:37  profilanswer
 

n°1320823
redmail
Posté le 05-10-2012 à 16:24:28  profilanswer
 

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.


Message édité par redmail le 05-10-2012 à 16:34:04
n°1320824
Neji Hyuga
:grut:
Posté le 05-10-2012 à 16:51:48  profilanswer
 

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 :
  1. [ ! -n "${_myvar_}" ]


 
Pour ton deuxième problème, un bête grep -v peut suffire.

n°1320825
Profil sup​primé
Posté le 05-10-2012 à 17:00:34  answer
 

Code :
  1. test ! -n "$var" == test -z "$var"

!

n°1320831
bardiel
Debian powa !
Posté le 05-10-2012 à 17:49:34  profilanswer
 

Mouais, sinon pour la partie scan ip + obtenir les adresses MAC correspondantes, un "bête" ARP-Scan ne suffirait pas ?
http://1.bp.blogspot.com/_nF2AQDhdiZc/THt3qd0SPVI/AAAAAAAACQY/6n-ePjfR5-I/s1600/arp-scan.png
 
Il resterait que la partie nom de machine à traiter [:spamatounet]


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script pour obtenir le nom, l'IP et la MAc des PC du réseau

 

Sujets relatifs
Comment gérer un PC à distance?Cacti : graph du résultat d'un script shell d'un hôte distant
pilote carte réseau Ethernet D-link DE-528 PCI redhat 7Debian... Problème root & réseau.
[Résolu] Logiciel d'accès à réseau distantAttribuer une adresse ip aux seules adresses MAC repertoriées
Caméra IP avec enregistrement pour chez soiScript KSH et portée des variables : help
Script ksh pour Solaris 
Plus de sujets relatifs à : Script pour obtenir le nom, l'IP et la MAc des PC du réseau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR