[jedi/old/i-menu.htm]

 

 

SMB


Content from below... 

http://www.windowsitlibrary.com/Content/821/13/1.html?Ad=1& 
 
SMB_DATA
{
ByteCount = 131
Bytes
{
Dialect[0] = "\x02PC NETWORK PROGRAM 1.0"
Dialect[1] = "\x02MICROSOFT NETWORKS 1.03"
Dialect[2] = "\x02MICROSOFT NETWORKS 3.0"
Dialect[3] = "\x02LANMAN1.0"
Dialect[4] = "\x02LM1.2X002"
Dialect[5] = "\x02LANMAN2.1"
Dialect[6] = "\x02Samba"
Dialect[7] = "\x02NT LM 0.12"
Dialect[8] = "\x02CIFS"
}
}

 

SMB dialects

Dialect Identifier

Notes

PC NETWORK
PROGRAM 1.0

Also known as the Core Protocol. This is the original stuff, as documented in COREP.TXT. According to ancient lore, this dialect is sometimes also identified by the string "PCLAN1.0".

MICROSOFT
NETWORKS 1.03

This is the Core Plus Protocol. It extends a few Core Protocol SMB commands, and adds a few new ones.

MICROSOFT
NETWORKS 3.0

Known as the Extended 1.0 Protocol or LAN Manager 1.0. This dialect was created when IBM and Microsoft were working together on OS/2. This particular variant was designed for DOS clients, which understood a narrower set of error codes than OS/2.

LANMAN1.0

Identical to the MICROSOFT NETWORKS 3.0 dialect except that it was intended for use with OS/2 clients, so a larger set of error codes was available. OS/2 and DOS both expect that the STATUS field will be in the DOS-style ErrorClass / ErrorCode format. Again, this dialect is also known as LAN Manager 1.0 or as the Extended 1.0 Protocol.

LM1.2X002

Called the Extended 2.0 Protocol; also known as LAN Manager 2.0. This dialect represents OS/2 LANMAN version 2.0, and it introduces a few new SMBs. The identifier for the DOS version of this dialect is "DOS LM1.2X002". As before, the key difference between the DOS and OS/2 dialects is simply that the OS/2 version provides a larger set of error codes.

LANMAN2.1

Called the LAN Manager 2.1 dialect (no surprise there), this version is documented in a paper titled Microsoft Networks SMB File Sharing Protocol Extensions, Document Version 3.4. You can find it by searching the web for a file named "SMB-LM21.DOC ". You will likely need a conversion tool of some sort in order to read the file, as it is encoded in an outdated form of a proprietary Microsoft format (it’s a word-processing file). The cool thing about the SMB-LM21.DOC document is that instead of explaining how LANMAN2.1 works it describes how LANMAN2.1 differs from its predecessor, LANMAN2.0. That’s useful for people who want to know how the protocol has evolved.

Samba

You may see this dialect listed in the protocol negotiation request coming from a Samba-based client such as smbclient , KDE Konqueror (which uses Samba’s libsmbclient library), or the Linux SMBFS implementation. No one from the Samba Team seems to remember when, or why, this was added. It doesn’t appear to be used any more (if, indeed, it ever was).

NT LM 0.12

This dialect, sometimes called NT LANMAN, was developed for use with Windows NT. All of the Windows 9x clients also claim to speak it, as do Windows 2000 and XP. As mentioned above, this is currently the most widely supported dialect. It is, quite possibly, also the sloppiest with all sorts of variations and differing implementations.

CIFS

Following the release of the IETF CIFS protocol drafts, many people thought that Microsoft would produce a "CIFS" dialect, and many documents refer to it. No such beast has actually materialized, however. Maybe that’s a good thing.