Pages

mardi 25 novembre 2008

Python : ARP Ping Tool (Python,Scapy)

Première Source python que j'ai developpé pour découvrir le fonctionnement de la librairie "Scapy"

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
print "*"*65
print "* Usage : python arping.py - ex: arping.py 192.168.0.0/24 *"
print "*"*65
print

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

Compteur de visites