Python 显示scapy StreamSocket数据

Python 显示scapy StreamSocket数据,python,sockets,scapy,Python,Sockets,Scapy,我希望能够在scapy中显示StreamSocket中的十六进制数据。这是我目前的scapy代码 from scapy.all import socket, StreamSocket, Raw import data_packets, returned_data data = data_packets.client_to_server_init() mysocket = socket.socket() mysocket.connect((args.IP_Address, args.dP

我希望能够在scapy中显示StreamSocket中的十六进制数据。这是我目前的scapy代码

from scapy.all import socket, StreamSocket, Raw
import data_packets, returned_data

data    = data_packets.client_to_server_init()

mysocket = socket.socket()
mysocket.connect((args.IP_Address, args.dPort))

myStream = StreamSocket(mysocket)

result=myStream.sr1(Raw(data))

result.show()
结果与下图所示类似

###[ Raw ]###
load      = '\x00\x00\x02\x99R\x92\x05R\xec\x02R\xe9\x02R...
基本上,我希望所有内容都是十六进制的,而当前返回的数据是十六进制和ASCII字符的混合体,正如您从上面的输出中所看到的(请注意,大写字母R介于两者之间,它们\x52被转换为ASCII)

注意:我已经尝试创建自己的show()函数,但它没有改变任何东西。代码如下

def my_show(packet):


    for f in packet.fields_desc:

        fvalue = packet.getfieldval(f.name)
        reprval = f.i2repr(packet,fvalue)
        return "%s" % (reprval)   

你可以试着从

并在您的输出上使用
encode('hex')
,作为我的节目的一部分:

return ':'.join(x.encode('hex') for x in fvalue)