Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

SMB2/FID

在 SMB2 中,文件标识符为 16 字节。文件标识符与 GUID 足够相似,因此 Wireshark 会将其解码为 GUID。

FID 由对 SMB2/Create 的调用创建,并由对 SMB2/Close 的调用销毁。

Wireshark 会窥探 create 和 close 调用,并构建一个数据库,用于记录某个 FID 在哪一帧被打开、在哪一帧被关闭。Wireshark 还会跟踪 FID 与文件名之间的映射;每当解析到一个 FID 时,Wireshark 也会在解码结果中放入该 FID 的文件名。

SMB2/FID 格式

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| |+-+-+-+-+ +-+-+-+-+| |+-+-+-+-+ FID +-+-+-+-+| |+-+-+-+-+ +-+-+-+-+| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

讨论

看起来 FID 的作用域是每个 tcp 连接,而不是 TID。如果一个用户会话映射了多个树,它可以通过任意树对特定 FID 执行 I/O,而不仅限于打开该 FID 的那棵树。这个“特性”似乎只存在于文件和打印机共享中,而不存在于 ipc 共享中。

如果最初创建 FID 的那棵树断开连接,该 FID 将被自动关闭,并且该 FID 将无法再被访问,即使通过其他仍然存在的树也不行。

Imported from https://wiki.wireshark.org/SMB2/FID on 2020-08-11 23:24:57 UTC

相关 Wireshark Wiki 页面

网络分析技术档案