我现在正在用scapy构造报文,
左边是我构造的,右边是正确的报文结构
下面是我构造所用的方法
a = PPP(proto=0x0057)
a.show()
print(len(a))
我现在需要指定为ipv6协议,而0x0057正是代表ipv6协议(用proto=87也可以),所以这个数字不能变动
现在的问题是,我需要让0x0057或者87占据两个字节
但我不知道如何实现
我现在正在用scapy构造报文,
左边是我构造的,右边是正确的报文结构
下面是我构造所用的方法
a = PPP(proto=0x0057)
a.show()
print(len(a))
我现在需要指定为ipv6协议,而0x0057正是代表ipv6协议(用proto=87也可以),所以这个数字不能变动
现在的问题是,我需要让0x0057或者87占据两个字节
但我不知道如何实现
原来如此,如果你用proto=xxx,这里的xxx只能用数字表示,无论是十进制还是十六进制,最终效果都是一样的,都是只占一个字节,但是你可以直接创造字节,就把16进制的0057转为字节b'\x00W',然后再用PPP(b'\x00W')直接生成这一层的报文