我正在尝试使用 scapy(在 python 中)解析 pcap 文件,并在 TCP 上方的层获取原始数据。在wireshark上,所有层都正确显示:
但在 scapy 上,我所看到的只是一个 Raw 层......
我在想也许它没有很好地解析数据包?也许 NetBIOS 模块没有加载?或者我没有正确导入模块?(我尝试过:import scapy.all、import scapy、import scapy.layers.smb)如何让 scapy 正确加载数据包的层?
谢谢!
如果有人有类似的问题......你需要类似的东西
packet[TCP].decode_payload_as(NBTSession)
然后你将通过 scapy 获得解码层:
packet[TCP].show()
[ TCP ]
sport = microsoft_ds
…</p>
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)