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

NBD

NBD 是一种简单协议,用于 Linux 通过网络导出块设备。

历史

NBD 协议由 Pavel Machek 于 1998 年构思并编写。由于该协议非常简单(见下文),此后一直没有修改它的需要,并且该协议至今仍与原始版本非常相似。

协议依赖

  • TCP:NBD 使用 TCP 作为其传输协议。NBD 没有使用众所周知端口。

示例流量

  • Client 和 Server 执行协商(wireshark 不解析)
  • Client 向 server 发送读请求,指定要读取数据的起始偏移量和长度。
  • Server 返回读响应,其中包含错误码(如果有);如果错误码为零,则响应头后会紧跟数据
  • Client 发送写请求,指定要写入数据的起始偏移量和长度,其后立即跟随原始数据。
  • Server 写出数据并发送写响应,其中包含一个错误码,可指示是否发生错误。如果未发生错误,则假定数据已写入磁盘。
  • Client 发送断开连接请求
  • Server 断开连接。

Wireshark

NBD dissector 对初始协商阶段之后的所有内容均完全可用。

首选项设置

(XXX 添加影响 PROTO 解析方式的首选项设置链接)。

示例捕获文件

XXX - 向 SampleCaptures 页面添加一个简单的示例捕获文件,并从此处链接(见下文)。保持该文件简短;也建议使用 gzip 压缩以进一步减小大小,因为 Wireshark 可以自动打开 gzipped 文件。

显示过滤器

完整的 NBD 显示过滤器字段列表可在显示过滤器参考中找到

仅显示基于 NBD 的流量:

 nbd

捕获过滤器

捕获时无法直接过滤 NBD 协议。不过,如果你知道所使用的 TCP 端口(见上文),可以基于该端口进行过滤。

外部链接

  • 添加 PROTO 规范链接,以及在网络上查找其更多信息的位置,例如:

  • Sourceforge NBD projects page - NBD 项目的主页。

讨论

Imported from https://wiki.wireshark.org/NBD on 2020-08-11 23:17:06 UTC

相关 Wireshark Wiki 页面

网络分析技术档案