我构建了一个嗅探器,我想从数据包的Raw
层获取数据,并在wx.TextCtrl
中将其显示为hexdump。让我们说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以及转换为字符串而且也不会返回它。
答案 0 :(得分:0)
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