Ce script permet de découvrir toutes les machines se trouvant sur notre réseau, en utilisant non pas une simple requête ICMP (Ping) mais une requête ARP (Protocole de Résolution d'Adresse).
Bien que des outils similaires existent sous shell Linux (commande arping) et meme une fonction toute faite sous Scapy ( arping( ) ), j'ai préféré "m'amuser" à écrire le code en detaillant les couches histoire de voir la façon de forger un paquet avec Scapy.
------------------------------------------------------------------------------------------------------------------
#!/usr/bin/env python
import sys
from scapy import *
conf.verb=0
if len(sys.argv) != 2:
print "*"*65
print "* Usage : python arping.py - ex: arping.py 192.168.0.0/24 *"
print "*"*65
ans,unans=srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=str(sys.argv[1])),timeout=10)
print "*"*65
print "* Adresse MAC - Adresse IP *"
print "*"*65
if ans:
for s,r in ans:
print r.sprintf(" %Ether.src% - %ARP.psrc% ")
print "*"*65
------------------------------------------------------------------------------------------------------------------


0 comment.:
Enregistrer un commentaire