2011-07-07 3 views
7

Puis-je insérer l'image ou d'un document (en Mo) en tant que données en paquets à l'aide scapy?charge utile dans le paquet

C'est ce que je l'ai fait pour envoyer des données.

data = "University of texas at San Antonio" 
a = IP(dst="129.132.2.21")/TCP()/data 
send(a) 
+0

Qu'est-ce que vous essayez vraiment de faire avec cela? Construisez votre propre streamer de fichiers en python? Si oui, il existe des moyens beaucoup plus faciles à faire que «Scapy» –

Répondre

10

Oui, vous pouvez envoyer des données brutes comme celle-ci. Dans cet exemple, les données seront codées en ASCII.

>>> data = 'University of Texas at San Antonio' 
>>> a = IP(dst='129.132.2.21')/TCP()/Raw(load=data) 
>>> sendp(a) 
+1

Cela fonctionne, mais fait-il ce qui est prévu? n'avez-vous pas besoin d'envoyer au moins deux paquets pour que la négociation TCP fonctionne? cette charge utile ne serait-elle pas simplement rejetée par le destinataire? – b0fh

+1

@ b0fh Vous avez raison, l'envoi d'un seul paquet TCP avec les données n'est pas la même que l'établissement d'une connexion TCP via le tremblement de la main à trois voies et la transmission de données qui serait acceptée par une vraie pile TCP. Cette réponse consistait simplement à ajouter des données après un en-tête TCP. – phoenix

Questions connexes