2

我正在尝试使用 scapy(在 python 中)解析 pcap 文件,并在 TCP 上方的层获取原始数据。在wireshark上,所有层都正确显示: 线鲨

但在 scapy 上,我所看到的只是一个 Raw 层...... 在此处输入图像描述

我在想也许它没有很好地解析数据包?也许 NetBIOS 模块没有加载?或者我没有正确导入模块?(我尝试过:import scapy.all、import scapy、import scapy.layers.smb)如何让 scapy 正确加载数据包的层?

谢谢!

4

1 回答 1

0

如果有人有类似的问题......你需要类似的东西 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)
于 2020-02-27T15:42:36.997 回答