【问题标题】:Python - Scapy raw hexadecimal viewPython - Scapy 原始十六进制视图
【发布时间】:2015-05-07 00:11:02
【问题描述】:

我构建了一个嗅探器,我想从数据包的Raw 层获取数据,并将其显示为wx.TextCtrl 中的十六进制转储。假设 Raw 是ABC,它将显示65 66 67。我试过了:

self.txt.SetLabelText(" ".join(map(hex,str(pkt[Raw]))))

它引发TypeError: hex() argument can't be converted to hex

有没有已知的方法可以做到这一点? 我熟悉hexdump(pkt),但它会打印 hexdump 以及转换为字符串,也不会返回它..

【问题讨论】:

标签: python scapy hexdump


【解决方案1】:
class XStrField(StrField):
   def i2repr(self, pkt, x):
        return ' '.join(b.encode('hex') for b in x)

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

conf.raw_layer = MyRaw

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2015-02-14
    • 2017-09-28
    相关资源
    最近更新 更多