Voici comment via Scapy envoyer un ping sur une plage d'adresse IPv4. Dans l'exemple, on scanne la plage de 192.168.1.1 à 192.168.1.45.
#! /usr/bin/python
from scapy.all import *
# scan sur la plage 192.168.1.1 a 192.168.1.45
rang = '192.168.1.1-45'
rep,non_rep = sr( IP(dst=rang) / ICMP() , timeout=0.5 )
print "-------- Fin Envoi des ping ---------------"
for elem in rep :
if elem[1].type == 0 : # 0 <=> echo-reply
print elem[1].src + ' a renvoye un echo-reply au ping vers ' + str(elem[0].dst)
Ce qui donnera :
Begin emission:
......WARNING: Mac address to reach destination not found. Using broadcast.
....
WARNING: Mac address to reach destination not found. Using broadcast.
.Finished to send 45 packets.
... diverses lignes similaires
Received 76 packets, got 1 answers, remaining 44 packets
-------- Fin Envoi des ping ---------------
192.168.1.40 a renvoye un echo-reply au ping vers 192.168.1.40