Sign inSign up

pepr90210/ubnt-discovery

By pepr90210

•Updated over 1 year ago

Docker containers for UBNT Discovery Tool - scan and manage Ubiquiti devices via CLI interface

Image
Networking
1

216

pepr90210/ubnt-discovery repository overview

⁠UBNT Discovery Docker

Docker container for discovering Ubiquiti network devices on local network.

⁠Overview

This Docker image contains a Python script for discovering Ubiquiti devices on LAN segments. The script is based on the original python-ubnt-discovery⁠ project by nitefood (archived September 4, 2022).

⁠Features

  • Network Discovery: Sends UDP packets to broadcast address (255.255.255.255) on port 10001
  • Response Analysis: Parses responses from Ubiquiti devices
  • Information Extraction: Retrieves device names, firmware versions, IP addresses, MAC addresses, ESSID, and models
  • Multi-IP Support: Handles devices with multiple IP configurations

⁠Discovery Protocol

The script uses Ubiquiti's proprietary discovery protocol:

  • Payload: 01 00 00 00
  • Port: 10001 UDP
  • Method: Broadcast to 255.255.255.255
  • Timeout: 5 seconds (default)

⁠Quick Start

⁠Using Docker Hub
# Download and run
docker run --rm --privileged --network host pepr90210/ubnt-discovery:latest

# Or with explicit execution
docker run --rm --privileged --network host pepr90210/ubnt-discovery:latest python /app/ubnt_discovery.py
⁠Using docker-compose
version: '3.8'

services:
  ubnt-discovery:
    image: pepr90210/ubnt-discovery:latest
    container_name: ubnt-discovery
    network_mode: host
    privileged: true
    cap_add:
      - NET_ADMIN
      - NET_RAW
    restart: unless-stopped
    stdin_open: true
    tty: true
# Run
docker-compose up

⁠Requirements

⁠Network Permissions
  • --privileged: Required for raw socket operations
  • --network host: Access to local network
  • NET_ADMIN and NET_RAW capabilities
⁠System Dependencies
  • Docker
  • Access to local network

⁠Supported Devices

The script has been tested with these devices:

  • airCube (ISP and AC models)
  • mFi mPower devices (P1E and P3E)
  • UniFi access points
  • EdgeRouter devices
  • Other Ubiquiti products

⁠Example Output

Discovery in progress...

Discovered 4 radio(s):

--- [airCube AC] ---
  IP Address  : 192.168.200.6
  Name        : airCube-AC-6
  Model       : ACB-AC
  Firmware    : ACB.ar934x.v2.8.9.63297e8f6e.230619.1229
  ESSID       : netsprint-hotspot
  MAC Address : E0:63:DA:4F:2D:23

--- [mFi mPowerMini] ---
  IP Address  : 192.168.200.152
  Name        : mFi-mPowerMini-6A5709
  Model       : P1E
  Firmware    : MF.ar933x.v2.1.11.1309.150406.1423
  ESSID       : netsprint-hotspot
  MAC Address : 24:A4:3C:6B:57:09

⁠Building Custom Image

# Clone and build
git clone <this-repo>
cd ubnt-discovery
docker build -t ubnt-discovery:latest .

# Run
docker run --rm --privileged --network host ubnt-discovery:latest

⁠Project Structure

├── Dockerfile              # Docker configuration
├── docker-compose.yml      # Docker Compose configuration
├── ubnt_discovery.py       # Main Python script
└── README.md               # This documentation

⁠Technical Details

⁠Base Image
  • python:3.11-slim
  • Additional packages: tcpdump
  • Python dependencies: scapy
⁠Network Protocol
  • UDP broadcast on port 10001
  • Payload: \x01\x00\x00\x00
  • Binary response parsing
  • Structured data extraction

⁠Limitations and Warnings

⚠️ Important Notice: This script is marked as outdated and unmaintained. Use for educational purposes only.

  • Code is based on packet sniffing and analysis
  • Some fields remain unknown
  • May not be compatible with all devices
  • Original project is archived (September 2022)

⁠Security

  • Runs as root user (required for raw sockets)
  • Uses privileged mode
  • Access to host network interfaces
  • Only for use in trusted networks

⁠License

This project is licensed under the MIT License. See original project: https://github.com/nitefood/python-ubnt-discovery⁠

⁠Credits

Docker image created based on the original Python script by nitefood⁠.

⁠Docker Hub

Image available on Docker Hub:

⁠Support

For Docker image issues:

  • Check network permissions
  • Verify privileged mode
  • Ensure Ubiquiti devices are present on network

For original script issues, visit: https://github.com/nitefood/python-ubnt-discovery⁠

Tag summary

Content type

Image

Digest

sha256:d0329c283…

Size

57.1 MB

Last updated

over 1 year ago

docker pull pepr90210/ubnt-discovery