繁体   English   中英

使用scapy构建数据包时,如何在应用程序层中添加位?

[英]How to add bits to the application layer when building a packet with scapy?

我正在使用scapy库构建数据包,并且想在应用程序层中添加某个位字符串,例如00110011。不幸的是,scapy将字符串'00110011'转换为ASCII格式。 但是,如果我只想添加这8位怎么办?

这是我尝试生成的数据包

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'

不幸的是,hexdump(pkt)给了我这个:

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   .%....@.>.......
0020   14 14 04 D2 10 E1 00 11  B8 69 30 62 31 31 31 31   .........i0b1111
0030   31 31 31                                           111

但是我只想最后得到FF。

问题解决了! 我只需要以特殊的十六进制格式传递字符串,例如'\\ xff'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM