我正在使用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,就是这样。
答案 0 :(得分:0)
问题解决了!我只需要以特殊的十六进制格式传递字符串,比如'\ xff'。