Usage

Quick Start

from snmp_manager import SNMPManager

# Discover devices on network
async with SNMPManager() as manager:
    devices = await manager.discover_devices("192.168.1.0/24")

    # Collect data from all devices
    for device in devices:
        data = await device.collect()
        print(f"Device {device.host}: {len(data)} fields collected")

Enhanced Device Usage

# Enhanced device with full intelligence features
from snmp_manager.core.enhanced_device import EnhancedDevice

async def main():
    # Create enhanced device (no manual configuration needed!)
    device = EnhancedDevice(host="192.168.1.10")

    # Intelligent discovery (reverse engineers unknown devices!)
    discovery = await device.intelligent_discover()
    print(f"Discovered {discovery['total_duration_ms']:.1f}ms")

    # Smart data collection with fallback strategies
    data = await device.collect_with_intelligence()
    print(f"Collected {len(data)} fields")

    # Get device insights
    insights = await device.get_intelligent_insights()
    print(f"Device classification: {insights['device_info']['signature']}")

asyncio.run(main())

Supported Devices

Telecom Equipment

  • OLT/ONU: Huawei (MA5800, MA5600), ZTE (ZXA10), V-SOL (V1600, V2800), Fiberhome (AN5500)

  • Cellular: BSC, RNC, SMSC, BTS, mobile network equipment

  • GPON/EPON: All major OLT and ONU/ONT devices

  • Network Switches: Cisco, Juniper, Huawei, ZTE, Mikrotik

  • Routers: Enterprise and carrier-grade routers

Vendor Support

  • Documented: Huawei, ZTE, Cisco, Juniper, Mikrotik

  • Undocumented: V-SOL, C-Data, Fiberhome (via reverse engineering)

  • Unknown: Any SNMP device (pattern recognition + learning)