一辈子的十分钟 2021-12-24 16:21 采纳率: 68.8%
浏览 14
已结题

请教一下大家,怎么才能让一个具体的数字如87占据2个字节?

我现在正在用scapy构造报文,

img

左边是我构造的,右边是正确的报文结构

下面是我构造所用的方法

a = PPP(proto=0x0057)
a.show()
print(len(a))

我现在需要指定为ipv6协议,而0x0057正是代表ipv6协议(用proto=87也可以),所以这个数字不能变动

现在的问题是,我需要让0x0057或者87占据两个字节

但我不知道如何实现

  • 写回答

2条回答 默认 最新

  • 一辈子的十分钟 2021-12-28 10:29
    关注

    原来如此,如果你用proto=xxx,这里的xxx只能用数字表示,无论是十进制还是十六进制,最终效果都是一样的,都是只占一个字节,但是你可以直接创造字节,就把16进制的0057转为字节b'\x00W',然后再用PPP(b'\x00W')直接生成这一层的报文

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月24日