7 releases

Uses new Rust 2024

0.11.1 Dec 11, 2025
0.11.0 Nov 21, 2025
0.10.4 Nov 14, 2025
0.10.3 Oct 31, 2025

#9 in #smb

Download history 41/week @ 2025-11-10 157/week @ 2025-11-17 262/week @ 2025-11-24 450/week @ 2025-12-01 157/week @ 2025-12-08 266/week @ 2025-12-15 171/week @ 2025-12-22 616/week @ 2025-12-29 891/week @ 2026-01-05 650/week @ 2026-01-12 799/week @ 2026-01-19 562/week @ 2026-01-26 347/week @ 2026-02-02 479/week @ 2026-02-09 349/week @ 2026-02-16 321/week @ 2026-02-23

1,510 downloads per month
Used in 4 crates (2 directly)

MIT license

505KB
9K SLoC

SMB Messages

This crate contains SMB-specific messages and structures, that are used by the SMB protocol.

Mostly, it contains SMB messages (like SMB2 Headers, SMB2 Requests & Responses, etc.). It also contains additional structures that are used by SMB specifically (for example, DFS referrals), but common structures (such as GUID) are found in the smb-types crate.

This crate is a part of the smb-rs project

Usage

This crate is meant to be used with anyone who wants to implement SMB-related functionality in Rust. See the documentation of the crate for more information.

Configure the features to your use case: use server, client, or both.

Documentation Note

Documentation for most of the structures in this crate is based on the official Microsoft documentation, and is vibe-documented accordingly (you can see the instructions in .github/copilot-instructions.md :)).

My tip for those who want an advanced, in-depth understanding of the SMB2 protocol - open up the official MS-SMB2 documentation from Microsoft, and read it alongside the code and documentation here. Most structs are named properly and are easily mappable to the official documentation, so you can get a deep understanding of the protocol that way.

Code Generation

See the smb-dtyp-derive crate for more information about the code generation proc-macros used in this crate.

Dependencies

~3.5MB
~73K SLoC