Python Scapy --arp de demande et de réponse
- Je envoyer un paquet arp diffusion de cette ligne:
send(ARP(op=ARP.who_has, psrc="192.168.5.51", pdst=the_ip))
Ma question est: Comment puis-je voir la réponse (dans ce cas: le mac de l'adresse ip à distance)? Je sais que je peux faire:
pkt = sniff(filter=arp , count=10)
print (pkt.summary())
Mais je ne veux pas compter les paquets parce que je ne sais pas quand il sera imprimé (peut être dans 10 ou 100 paquets)
Est-il un moyen de tout c'est reniflant, pour imprimer le résumé et ainsi, voir l'adresse mac, je suis à la recherche d'?
Edit: j'ai une idée, j'ai Pu renifler 10 paquets, si il y a l'ip dans les paquets d'impression de l'adresse mac, d'autre sniff 10 plus de paquets... Cette technique ne semble pas être une bonne tho...
Vous devez vous connecter pour publier un commentaire.
Scapy's manuel de l'utilisateur suggère d'utiliser les
sr()
ousr1()
fonction pour l'envoi de paquets et de recevoir des réponses:La documentation officielle de l'API spécifie leur signature complète. Telles semblent être les arguments pertinents pour ce cas d'utilisation:
Voici un exemple d'exécution avec la
sr()
fonction:Voici un exemple d'exécution avec la
sr1()
fonction:str(packet).encode("HEX")
.import binascii; binascii.hexlify(bytes(packet))
devrait fonctionner.print(repr(packet))
. Notez qu'il existe d'autres lisible par les humains tels que les formats depacket.summary()
.