UDP/47808 (hex 0xBAC0) — BACnet/IP, the building-automation protocol: HVAC, lighting, access control, elevator control. Standard ANSI/ASHRAE 135. Open discovery via Who-Is broadcast on 47808. Never expose to the internet (no auth). Enterprises use BACnet gateways with TLS, or an MQTT/OPC UA bridge.
Below: details, example, related, FAQ.
Free online tool — ping & port checker: instant results, no signup.
# Discovery
$ nmap -sU -p 47808 --script bacnet-info 10.0.0.0/24
# Python bacpypes Who-Is
from bacpypes.app import BIPSimpleApplication
from bacpypes.local.device import LocalDeviceObject
app = BIPSimpleApplication(LocalDeviceObject(...), '10.0.0.5')
app.who_is(1, 999, Address('10.0.0.255'))BACnet/IP (Building Automation and Control Network over Internet Protocol) is a communication protocol specifically designed for building automation and control systems. It operates over the UDP protocol, utilizing port 47808, which is defined in the standard ANSI/ASHRAE 135. This protocol enables interoperability among various devices such as HVAC systems, lighting controls, access control systems, and elevator controls.
One of the key features of BACnet/IP is its ability to facilitate open discovery through the Who-Is broadcast message. This allows BACnet devices to announce their presence on a network, enabling them to be easily identified and integrated into building management systems.
However, it is crucial to note that BACnet/IP should never be exposed to the internet without appropriate security measures, as it lacks built-in authentication. Enterprises often mitigate this risk by employing BACnet gateways that support Transport Layer Security (TLS) or by utilizing a bridge with protocols such as MQTT or OPC UA for secure communication.
Configuring BACnet/IP devices involves understanding the necessary commands and settings to ensure proper communication over port 47808. Below are some practical examples of commands and configurations used in a BACnet/IP environment:
bacnet-discover --port 47808bacnet-write --address --port 47808 --property --value bacnet-read --address --port 47808 --property --interval These commands can be executed from a terminal or integrated into automation scripts for enhanced control over building systems, ensuring seamless interactions between devices operating under the BACnet/IP protocol.
While BACnet/IP facilitates communication between various building automation devices, it is essential to implement security measures to protect against unauthorized access and data breaches. Here are some best practices for securing BACnet/IP communications:
47808 only to trusted devices within the internal network. This helps prevent external threats from exploiting vulnerabilities.By following these best practices, organizations can significantly reduce the risks associated with operating BACnet/IP networks and ensure the integrity and availability of their building automation systems.
BACnet for HVAC + lighting + access control. Modbus for generic PLC. Often BACnet on top + Modbus on the field level.
Never on the public internet. Even internal — segment the VLAN, block via ACL.
ANSI/ASHRAE 135-2020 addendum; vendor support — Carrier, Siemens in progress. Consider it for new projects.
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.