Q. Comment obtenir une liste des adresses MAC <-> IP d'un réseau?
R. Un moyen simple d'obtenir une liste des adresses MAC correspondant aux adresses IP sur un sous-réseau local est de pinger chaque hôte du sous-réseau et de vérifier le contenu du cache ARP. Cependant pinger chaque noeud individuellement prend du temps et les entrées ne restent dans le cache ARP que deux minutes. Une alternative consiste à pinger le masque de diffusion du sous-réseau ce qui pingera chaque hôte du sous-réseau local (vous ne pouvez pinger le réseau entier car vous communiquez directement avec les noeuds du même sous-réseau, toutes les autres requêtes sont envoyées à la passerelle par défaut et vous n'obtiendrez donc que l'entrée ARP de la passerelle).
Qu'est-ce que le masque de diffusion ? Le masque de diffusion est facile à calculer si le masque de sous-réseau est de la forme 255.255.255.0 ou 255.255.0.0 etc. (multiples de 8 bits). Par exemple, si l'adresse IP est 134.189.23.42 et le masque de sous-réseau 255.255.0.0, le masque de diffusion sera de 134.189.255.255 ou 255 est dans le masque de sous-réseau depuis lequel l'adresse IP est copié, le 0 remplacé par 255, au fond l'id de réseau est conservé. Si le masque de sous-réseau n'est pas au format 255.255, vous devez effectuer ceci et tout ce dont vous avez besoin est l'adresse IP et le masque de sous-réseau.
par exemple, l'adresse IP 158.234.24.98 et le masque de sous-réseau 255.255.248.0
Network |
Host |
|||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |
| 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
|||||||||||||||||||||||||||||
La première ligne représente le masque de sous-réseau 255.255.248.0, la seconde l'adresse IP 158.234.24.98 et la troisième le masque de diffusion 158.234.31.255.
Pour obtenir l'adresse MAC correspondant à l'adresse IP vous devez donc exécuter ceci
ping <masque de diffusion>
arp -a
Voila, une liste d'adresses IP et leur adresse MAC (vous pouvez ajouter > nomfichier pour envoyer la sortie vers un fichier, ex. arp - >iptomac.lst). Vous pouvez répéter ceci dans tous les sous-réseaux de votre société
Malheureusement, en raison de limitations de l'implémentation NT de PING, ce qui est au dessus ne fonctionne pas correctement, alors il faut mettre ceci dans un fichier .bat
REM arpping.bat
ping -n 1 -l 1 %1.%2
arp -a %1.%2
Appeler ensuite le fichier comme suit :
C:\> for /l %i in (1,1,254) do arpping 160.82.220 %i
Ces commandes génèreront une liste de toutes les adresses MAC correspondant aux adresses IP for 160.82.220.1 jusqu'à 160.82.220.254. Vous pouvez à nouveau mettre ceci dans un fichier et rediriger le résultat dans un autre, ex. :
REM test.bat
for /l %%i in (1,1,254) do arpping.bat 160.82.220 %%i
Remarquez que vous devez utiliser 2 %. Vous devez lancer le fichier de commande comme ceci
C:\> test.bat > file.txt
Rechercher ensuite la chaine dynamique dans le fichier file.txt
C:\> findstr dynamique file.txt
160.82.220.1 00-00-0c-60-8b-41 dynamique
160.82.220.9 00-60-97-4b-bf-4c dynamique
160.82.220.13 00-10-4b-49-94-e1 dynamique
160.82.220.17 00-80-5f-d8-a4-8b dynamique
160.82.220.22 00-a0-d1-02-a4-cf dynamique
160.82.220.25 00-60-08-75-0d-7a dynamique
160.82.220.26 00-10-4b-44-e4-73 dynamique
160.82.220.33 00-10-4b-44-d6-33 dynamique
160.82.220.34 00-10-4b-4e-67-6a dynamique
160.82.220.35 00-60-97-4b-c4-53 dynamique
160.82.220.39 00-10-4b-44-eb-ae dynamique
160.82.220.41 00-10-4b-49-7b-f7 dynamique
160.82.220.42 00-00-f8-21-7a-7f dynamique
160.82.220.43 08-00-20-88-82-57 dynamique
160.82.220.221 00-80-5f-88-d0-55 dynamique
Un commentaire , une précision ? Ecrivez
nous.