[英]How can I retrieve a packet payload as a bytearray in Scapy?
我有一些代碼試圖通過從數據包中獲取字符串值來將數據包有效負載提取為字節數組(我相信它會返回一個字節字符串作為字符串)。 我怎樣才能將原始有效負載作為字節數組獲取?
packets = rdpcap(pcapFile)
p = packets[0]
if TCP in p:
pdata = str(p[TCP].payload)
elif Raw in p:
pdata = str(p[Raw].load)
elif TLS in p:
pdata = str(p[TLS].msg)
else:
pdata = ""
當我打印 pdata 時,它看起來像這樣
b'\x17\x03\x01\x00 a\xb9j\x17#\xb9uX\xdf\xe3\x08\xe0\xbc\xc3\xce\xa2=\xda\xc9\xd7\x1d7*\xad\xc9Y\xcer1\xdc\xb2\xd1\x17\x03\x01\x00
但似乎,這是一個字符串,而不是一個字節串,ad pdata[0] 返回'b'
如何將“有效負載”作為bytes
或字節bytearray
獲取?
不要使用str()
function 字節 object
將str(p[TCP].payload)
更改為p[TCP].payload.decode()
或者如果你只是想要它作為字節,只需返回p[TCP].payload
它自己
bytes(p[TCP].payload)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.