Нечитаемая кодировка пакета SMB/Browser в Scapy
Я пытаюсь проанализировать файл pcap с помощью scapy (в python) и получаю необработанные данные на уровне выше TCP. на wireshark все слои отображаются правильно:
но на scapy все, что я вижу, это просто слой Raw...
Я думаю, может быть, он не проанализировал пакет хорошо? может быть NetBIOS не загрузился по расписанию? или, может быть, я не импортировал модуль правильно? (я попробовал: импортировать scapy.all, импортировать scapy, импортировать scapy.layers.smb), как сделать так, чтобы scapy правильно загружал слои пакета?
Спасибо!
0 ответов
Если у кого-то похожая проблема… Вам нужно что-то вродеpacket[TCP].decode_payload_as(NBTSession)
И тогда вы получите декодированные слои scapy:
packet[TCP].show()
[ TCP ]
sport = microsoft_ds
…
options = []
[ NBT Session Packet ]###
TYPE = Session Message
RESERVED = 0
LENGTH = 4873
[ SMBNegociate Protocol Request Header ]###
Start = '\xfeSMB'
Command = 64
Error_Class= 0
Reserved = 1
Error_code= 0
Flags = 0
Flags2 = 0
PIDHigh = 5
Signature = 0
Unused = 0
TID = 183
PID = 0
UID = 0
MID = 0
WordCount = 0
ByteCount = 0
[ SMB Negotiate Protocol Request Tail ]###
BufferFormat= 0
BufferData= '\x03'
Также вы можете попробовать после этого декодировать пакет с различными классами:
packet.decode_payload_as(SMBNegociate Protocol Request Header)