在使用scapy构建数据包时如何向应用层添加位?

时间:2017-09-25 19:44:12

标签: python scapy packet

我正在使用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,就是这样。

1 个答案:

答案 0 :(得分:0)

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