Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

scapy - how to display (encode hex) instead of str

Tags:

python

scapy

I have below defined -

class PadChecksum(Packet):
    name = "PadChecksum"
    fields_desc = [ StrField("data", None) ]

conf.raw_layer = PadChecksum

how to display as below as ?

###[ PadChecksum ]###
       data      = '\x00\x00\x00\xa8L\xa8\xe5'

as

###[ PadChecksum ]###
       data      = '00 00 00 a8 4c a8 e5'

also how can I show it as below to be more precise ?

###[ PadChecksum ]###
       pad      = '00 00 00'
       checksum = 'a8 4c a8 e5'
like image 840
mungayree Avatar asked Dec 07 '25 21:12

mungayree


1 Answers

got it !!

class XStrField(StrField):
      def i2repr(self, pkt, x):
            return ' '.join(b.encode('hex') for b in x)

class PadChecksum(Packet):
    name = "PadChecksum"
    fields_desc = [ XStrField("data", None) ]

display --

###[ PadChecksum ]###
       data      = 00 00 00 eb 62 aa 9d
like image 64
mungayree Avatar answered Dec 09 '25 13:12

mungayree



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!