我尝试使用scapy(在python中)解析pcap文件,并在TCP上面的层获取原始数据。 在wireshark上,所有图层都正确显示:
但是在scapy上我所看到的只是一个Raw层......
我想也许它没有解析好这个数据包? 也许NetBIOS模块没有加载?或者我没有正确导入模块? (我试过: import scapy.all,import scapy,import scapy.layers.smb) 如何让scapy正确加载数据包层?
谢谢!
答案 0 :(得分: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)