[cifs-protocol] How to get started on writing a protocol for a printer server?

Christopher R. Hertel crh at ubiqx.mn.org
Tue May 17 08:34:52 MDT 2011


Ole Thomassen wrote:
> Hi,
> 
> I am quite confused on how to use a printer server from an embedded
> Linux device.
> Using Wireshark, I can see, that printer servers in common tends to
> repeatly broadcast messages containing NetBios / CIFS information which
> by Wireshark is read as “Microsoft Windows Browser Protocol”. In this
> section there is a value stating the server type – print server etc.

You might find this helpful:  http://ubiqx.org/cifs/
It is a complete online book covering the NBT (not NetBIOS, but "NetBIOS
over TCP"==NBT) protocol, SMB protocol, and the Browse Service.

> Now my first challenge is to grap the information form the broadcast
> message, in principle only that it is a print server, and its IP
> address. One of the issues is, that these protocols (SMB / CIFS) are not
> described in e.g. RFC – where to read on how to dissect the Ethernet
> diagram?

Yes, start with the book listed above.  It's written to help you get started
understanding the protocols involved.

The messages you are seeing are the Browse Service announcements that are
used when the SMB protocol is being transported over NBT.  NBT is a
transport and it *is* described in two RFCS: RFC1001 and RFC1002 (taken
together, these are STD19).  Unfortunately, there are some minor differences
between the RFC specifications and the actual implementation.  These
differences are described in the book and also here:

  http://www.cifs.org/wiki/NBT

There are, to my knowledge, three printing systems that are supported by SMB
protocol, so getting to know NBT and the Browse Service are only the
starting points.

Start small.  :)

Once you've got the basics, then it will be time to start digging into
Microsoft's public protocol documentation.

Chris -)-----

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the cifs-protocol mailing list