簡體   English   中英

如何在 Scapy 中將數據包有效負載作為字節數組檢索?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM