This wiki has been migrated to https://gitlab.com/wireshark/wireshark/-/wikis/home and is now deprecated. Please use that site instead.
Differences between revisions 15 and 16
Revision 15 as of 2012-08-08 00:55:00
Size: 3349
Editor: GuyHarris
Comment: Note that BACnet Ethernet is Ethernet+LLC, not just LLC, and that BACnet ARCNET is ARCNET+LLC, not just ARCNET.
Revision 16 as of 2012-08-08 00:56:38
Size: 3266
Editor: GuyHarris
Comment: Combine BACnet Ethernet and BACnet LLC, and just list LLC as the dependency; BACnet/IP just lists UDP (and doesn't even mention IPv4 or IPv6).
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * [[Ethernet]], [[LLC]]: BACnet Ethernet uses [[LLC]] atop [[Ethernet]] as its transport protocol. For BACnet traffic, DSAP is 0x82, SSAP is 0x82.
 * [[ARCNET]], [[LLC]]: BACnet ARCNET uses [[LLC]] atop [[ARCNET]] as its transport protocol. For BACnet traffic, DSAP is 0x82, SSAP is 0x82.
 * [[LLC]]: BACnet Ethernet uses [[LLC]] atop [[Ethernet]] as its transport protocol, and BACnet ARCNET uses [[LLC]] atop [[ARCNET]] as its transport protocol. For BACnet traffic, DSAP is 0x82, SSAP is 0x82.

BACnet

BACnet, the ASHRAE building automation and control networking protocol, has been designed specifically to meet the communication needs of building automation and control systems for applications such as heating, ventilating, and air-conditioning control, lighting control, access control, and fire detection systems. The BACnet protocol provides mechanisms by which computerized equipment of arbitrary function may exchange information, regardless of the particular building service it performs. As a result, the BACnet protocol may be used by head-end computers, general-purpose direct digital controllers, and application specific or unitary controllers with equal effect.

The BACnet protocol specifies transport over a number of datalink layers including ARCNET, MS/TP (RS-485), PTP (RS-232), LonTalk, and Ethernet. BACnet also specifies communication over UDP/IP which is known as BACnet/IP. Other datalink layers are proposed.

History

A brief BACnet history can be found at http://en.wikipedia.org/wiki/BACnet

Protocol dependencies

  • UDP: BACnet/IP uses UDP as its transport protocol. The default UDP port for BACnet traffic is 47808 (0xBAC0), but depending on the project specification other ports are also possible.

  • LLC: BACnet Ethernet uses LLC atop Ethernet as its transport protocol, and BACnet ARCNET uses LLC atop ARCNET as its transport protocol. For BACnet traffic, DSAP is 0x82, SSAP is 0x82.

  • MSTP: BACnet MS/TP uses either MSTP natively, or from the Cimetrics U+4 converter, LLC SNAP as its transport protocol.

Example traffic

wireshark_bacnet_stack_services.png

Wireshark

The BACnet dissector is fully functional.

Preference Settings

The dissector has no preference settings.

Example capture file

Here is a simple example capture file of some BACnet services generated by the BACnet Stack at SourceForge:

There are some sample BACnet capture files at:

Display Filter

A complete list of BACnet display filter fields can be found in the BACnet NPDU display filter reference, BACnet APDU display filter reference, and BVLC display filter reference

  • Show only the BACnet based traffic:
     bacnet || bvlc || bacapp

Capture Filter

You cannot directly filter BACnet protocols while capturing. However, if you know the UDP port used (see above), you can filter on that one.

  • Capture only the BACnet/IP traffic over the default port (47808):
     udp port 47808

Discussion

Protocols/bacnet (last edited 2012-08-08 00:56:38 by GuyHarris)