2017-09-25 3 views
0

Je construis un paquet en utilisant une bibliothèque scapy et je veux ajouter une certaine chaîne de bits dans la couche application, par exemple, 00110011. Malheureusement, scapy convertit la chaîne '00110011' au format ASCII. Mais que faire si je veux ajouter ces 8 bits seulement?Comment ajouter des bits à la couche d'application lors de la construction d'un paquet avec scapy?

Voici le paquet que j'essaie de générer

pkt = Ether(src='00:00:00:00:00:01', dst='ff:ff:ff:ff:ff:ff')/
IP(src='10.10.10.10', dst='20.20.20.20', proto=0x8F)/
UDP(dport=4321, sport=1234)/'0b1111111' 

Malheureusement, hexdump (PKT) me donne ceci:

0000 FF FF FF FF FF FF 00 00 00 00 00 01 08 00 45 00 ..............E. 
0010 00 25 00 01 00 00 40 8F 3E 0E 0A 0A 0A 0A 14 14 .%[email protected]>....... 
0020 14 14 04 D2 10 E1 00 11 B8 69 30 62 31 31 31 31 .........i0b1111 
0030 31 31 31           111 

Mais je veux FF à la fin, cela.

+0

Vous devez nous montrer l'extrait de code correspondant avec sa sortie actuelle, puis expliquer la sortie souhaitée. Cela vous rendra plus clair. –

+0

Merci, j'ai ajouté l'exemple. S'il vous plaît laissez-moi savoir si quelque chose n'est pas encore clair. – chessman

Répondre

0

Problème résolu! J'ai juste besoin de passer la chaîne dans un format hexadécimal spécial, comme '\ xff'.