Python Scapy字节与数据表示不同

Python Scapy字节与数据表示不同,python,scapy,Python,Scapy,从字节为www.google.com构建dns响应 dns = DNS(binascii.a2b_hex('a986818000010001000000000377777706676f6f676c6503636f6d00000100010377777706676f6f676c6503636f6d00000100010000012b0004d83acdc4')) 打印表示显示rdata为216.58.205.196 dns.an[0].rdata='127.0.0.1' 打印表示法显示rdat

从字节为www.google.com构建dns响应

dns = DNS(binascii.a2b_hex('a986818000010001000000000377777706676f6f676c6503636f6d00000100010377777706676f6f676c6503636f6d00000100010000012b0004d83acdc4'))
打印表示显示rdata为216.58.205.196

dns.an[0].rdata='127.0.0.1'
打印表示法显示rdata为127.0.0.1

但以字节为单位的rdata显示的是旧的ip地址

binascii.b2a_hex(bytes(dns))
b'a986818000010001000000000377777706676f6f676c6503636f6d00000100010377777706676f6f676c6503636f6d00000100010000012b0004d83acdc4'
d83acdc4是216.58.205.196而不是127.0.0.1


如何使用新的ip地址获取字节?

我无法复制此错误,无论是使用当前版本(2.4.0)还是当前开发版本。您可能应该将Scapy升级到至少2.4.0。

您好,我的Scapy是scapy3版本3.0.0。如果我将该数据包注入网络,则会显示新的ip地址,但以字节表示的ip地址仍然是旧的。我认为没有3.0.0这样的版本。你从哪儿弄来的?使用Scapy 2.4.0,您的问题应该得到解决。