显示scapy StreamSocket d

2024-04-26 18:49:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望能够显示来自scapy中StreamSocket的十六进制数据。这是我现在的密码吗

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()

结果与下图类似

^{pr2}$

基本上,我希望所有内容都是十六进制的,而当前返回的数据是十六进制和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)   

Tags: 数据importdatarawpacketshowasciiargs
1条回答
网友
1楼 · 发布于 2024-04-26 18:49:47

您可以尝试从Python: print a string as hex bytes?获取一页

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

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

相关问题 更多 >