Advanced SNMP browser with modern GUI for network device discovery, monitoring, alerting, and performance analysis.
- SNMPv1/v2c/v3 Support - Complete SNMP protocol support with authentication and encryption
- Modern GUI Interface - Professional tabbed interface built with tkinter
- Multi-Language Support - 13 languages including English, Spanish, French, German, Italian, Chinese, Japanese, Portuguese, Russian, Swedish, Arabic, Hindi, and Hungarian
- Cross-Platform - Native support for Windows, Linux, and macOS with OS-appropriate data storage
- Network Device Discovery - Browse and explore SNMP-enabled devices
- Real-time Monitoring - Live monitoring with auto-refresh capabilities (active by default)
- Advanced MIB Browser - Navigate through SNMP MIB structures with hierarchical tree view
-
Alert System - Comprehensive rule-based monitoring
- Create custom alert rules with flexible conditions (>, <, =, โ , contains, etc.)
- Real-time monitoring of OID values against thresholds
- Visual status indicators (๐ข OK / ๐ด Alert / ๐ก Warning)
- Alert cooldown to prevent notification spam
- Alert history with timestamp tracking
- Desktop notifications for triggered alerts
-
Email Notifications - Automated alert delivery
- SMTP server configuration with TLS support
- Encrypted password storage for email credentials
- Send alerts via email when rules are violated
- Test email functionality before deployment
- Configurable per-rule email recipients
-
Real-time Graphs - Visual data analysis
- Historical data tracking (up to 100 points per OID)
- Full-screen graph windows with matplotlib
- Mini-graphs in dashboard for quick overview
- Statistical analysis (min, max, average, trend)
- Save graphs as PNG images
- Automatic data cleanup (24-hour retention)
-
Dashboard Enhancements
- Auto-refresh enabled by default (configurable 5-300 seconds)
- Live trend indicators (
โ๏ธ โ๏ธ โก๏ธ) - Alert status column showing rule violations
- Statistics panel with real-time metrics
- One-click graph generation from dashboard
- Persistent data across sessions
-
Trap Manager - Complete trap receiver and sender
- Receive SNMP traps on configurable ports
- Send test traps for all versions (v1/v2c/v3)
- Pre-configured trap templates (Cold Start, Link Down, UPS alerts, etc.)
- Real-time trap visualization with detailed decoding
-
Performance Monitor - Track and analyze operations
- Query response times and success rates
- Memory and CPU usage monitoring
- Performance graphs (with matplotlib)
- Export performance metrics
-
Batch Operations - Multi-host queries
- Parallel execution with configurable workers
- Progress tracking and result aggregation
- Export results to CSV/JSON
-
MIB Compiler Support - Custom MIB management
- Full ASN.1 MIB parser with regex-based parsing
- Import .mib, .txt, and .my files
- Automatic OID name resolution
- Built-in UPS MIB definitions (RFC 1628)
- Support for custom vendor MIBs
- MIB management interface (view, remove, export)
- Real-time OID description updates
-
Profile Manager - Configuration management
- Save and manage multiple device configurations
- Quick switch between profiles
- Encrypted credential storage
- Import/Export profiles
- Encrypted Credential Storage - Fernet-based encryption for passwords
- Secure Memory Management - Secure deletion of sensitive data with garbage collection
- Memory Limits - Configurable result (100-100K) and memory (50-2000MB) limits
- Comprehensive Logging - Rotating log files with debug, info, warning, error levels
- Multi-format Export - CSV, JSON, HTML, XML, TXT with metadata
- OS-Appropriate Data Storage - Windows (AppData), macOS (Library), Linux (~/.config)
Download the latest pre-built executable from the Releases page.
Windows: SNMP_Browser_Professional_v3.5.exe - Just download and run!
Linux: SNMP_Browser_Professional_v3.5 - Make executable with chmod +x
macOS: SNMP_Browser_Professional_v3.5.app - Double-click to run
Required Library: snmpy
This SNMP library is required to run SNMP Browser Professional. It is not available on PyPI and must be installed directly from GitHub:
Option 1: Using pip
pip install git+https://github.com/snmpware/snmpy.gitOption 2: Manual installation
git clone https://github.com/snmpware/snmpy.git
cd snmpy
python3 setup.py installpip install -r requirements.txtRequired packages:
cryptography>=41.0.0- Encryption support for SNMPv3 and credential storagepsutil>=5.9.0- System monitoring and resource managementsnmpy- Advanced SNMP library (from GitHub)Pillow>=10.0.0- Image processing for logo displaymatplotlib>=3.5.0- Required for graphs and performance monitoring
git clone https://github.com/yourusername/snmp-browser-professional.git
cd snmp-browser-professional
pip install -r requirements.txt
python snmp_browser_professional.pypyinstaller --onefile --windowed --icon=icon.ico ^
--add-data="icon.png;." ^
--add-data="icon.ico;." ^
--hidden-import=cryptography ^
--hidden-import=psutil ^
--hidden-import=snmpy ^
--hidden-import=PIL ^
--hidden-import=matplotlib ^
--collect-all=snmpy ^
--collect-all=cryptography ^
--collect-all=psutil ^
--collect-all=matplotlib ^
--name=SNMP_Browser_Professional_v3.5 snmp_browser_professional.pypyinstaller --onefile --windowed --icon=icon.png \
--add-data="icon.png:." \
--hidden-import=cryptography \
--hidden-import=psutil \
--hidden-import=snmpy \
--hidden-import=PIL \
--hidden-import=matplotlib \
--collect-all=snmpy \
--collect-all=cryptography \
--collect-all=psutil \
--collect-all=matplotlib \
--name=SNMP_Browser_Professional_v3.5 snmp_browser_professional.pypyinstaller --onefile --windowed --icon=icon.icns \
--add-data="icon.png:." \
--hidden-import=cryptography \
--hidden-import=psutil \
--hidden-import=snmpy \
--hidden-import=PIL \
--hidden-import=matplotlib \
--collect-all=snmpy \
--collect-all=cryptography \
--collect-all=psutil \
--collect-all=matplotlib \
--name=SNMP_Browser_Professional_v3.5 snmp_browser_professional.py- Operating System: Windows 10/11, Ubuntu 20.04+, or macOS 10.14+
- Python: 3.7 or higher (for source installation)
- Memory: 512 MB RAM minimum (1 GB recommended)
- Network: Access to SNMP-enabled devices
- Permissions: Admin/root for trap receiver on port 162
- Launch the application
- Enter target device IP address
- Select SNMP version (1, 2c, or 3)
- Configure credentials (community string or SNMPv3 user)
- Click "Avvia Scansione" to discover OIDs
- Browse results in the main tab
-
Create Alert Rules:
- In results browser, right-click an OID โ "๐ Crea Regola"
- Or go to Menu โ Monitoring โ "Gestisci Regole Alert"
- Set condition (>, <, =, โ , contains) and threshold value
- Choose action: Desktop notification, Email, or Both
- Rule monitors automatically in background (every 10 seconds)
-
Configure Email Alerts:
- Menu โ Monitoring โ "๐ง Configura Email"
- Enter SMTP server details (e.g., smtp.gmail.com:587)
- Provide credentials (stored encrypted)
- Test configuration with "๐ง Test" button
-
View Alert Status:
- Top alert status bar shows system state (๐ข/๐ด)
- Dashboard "๐" column indicates alerts per item
- Menu โ Monitoring โ "๐ Visualizza Alert History" for full log
-
View Graphs:
- In dashboard, select an item
- Click "๐ Grafico" for full-screen graph
- Or view mini-graph in right panel automatically
-
Graph Features:
- Shows last 100 data points (up to 24 hours)
- Statistical analysis (min, max, average)
- Trend line and markers
- Save as PNG image
-
Data Management:
- Historical data saved automatically
- Menu โ Tools โ "๐พ Salva Dati Storici" to force save
- "๐งน Pulisci Dati Vecchi" removes data >24h old
- Menu โ Tools โ "๐ฅ Importa MIB Custom"
- Select one or more .mib, .txt, or .my files
- Parser extracts OID definitions automatically
- OID names update immediately in all views
- Manage imported MIBs via "๐ Gestisci MIB"
- Enabled by default with 30-second interval
- Toggle with "๐ Auto-Refresh" checkbox
- Adjust interval (5-300 seconds) in spinbox
- Dashboard updates automatically with:
- Current values
- Alert status
- Trend indicators
- Mini-graphs
- Go to "Trap Manager" tab
- Receiver: Click "Avvia Receiver" (requires admin for port 162)
- Sender: Configure destination and select trap type
- Click "๐ค Invia Trap" to send
- Menu โ Tools โ "Operazioni Batch"
- Enter multiple host IPs (one per line)
- Specify OID to query
- Click "Esegui" for parallel execution
- Go to "Performance" tab
- View real-time metrics after operations
- Export data for analysis
SNMP Browser Professional supports 13 languages out of the box:
- ๐ฌ๐ง English (en)
- ๐ช๐ธ Spanish (es) - Espaรฑol
- ๐ซ๐ท French (fr) - Franรงais
- ๐ฉ๐ช German (de) - Deutsch
- ๐ฎ๐น Italian (it) - Italiano
- ๐จ๐ณ Chinese (zh) - ไธญๆ
- ๐ฏ๐ต Japanese (ja) - ๆฅๆฌ่ช
- ๐ต๐น Portuguese (pt) - Portuguรชs
- ๐ท๐บ Russian (ru) - ะ ัััะบะธะน
- ๐ธ๐ช Swedish (sv) - Svenska
- ๐ธ๐ฆ Arabic (ar) - ุงูุนุฑุจูุฉ
- ๐ฎ๐ณ Hindi (hi) - เคนเคฟเคจเฅเคฆเฅ
- ๐ญ๐บ Hungarian (hu) - Magyar
- Go to Help โ Language
- Select your preferred language
- Click Apply
- Restart the application
Want to add your language? See the LANGUAGE_GUIDE.md for step-by-step instructions. Contributions are welcome!
The application automatically stores data in OS-appropriate locations:
Windows: %LOCALAPPDATA%\SNMPBrowser\
macOS: ~/Library/Application Support/SNMPBrowser/
Linux: ~/.config/SNMPBrowser/
Configuration files created:
snmp_browser_config.json- Main configuration (includes language preference)snmp_browser_saved.json- Dashboard itemssnmp_browser_rules.json- Alert rules and thresholdssnmp_browser_email.json- Email configuration (passwords encrypted)snmp_browser_historical.json- Historical data for graphssnmp_browser_custom_mibs.json- Imported MIB definitionssnmp_profiles.json- Saved connection profileslanguages.json- Multi-language translations.SNMPBrowser_key- Encryption key (keep secure!)logs/- Directory containing rotating log files
View Data Location: Menu โ Tools โ "๐ Posizione Dati"
- GET - Retrieve single OID value
- GET MULTIPLE - Retrieve multiple OIDs efficiently
- GET NEXT - Get next OID in tree
- GET BULK - Bulk retrieval (v2c/v3)
- SET - Modify writable OIDs
- WALK - Traverse MIB subtree
less_than(<) - Trigger when value is less than thresholdless_than_or_equal(โค) - Trigger when value is less or equalgreater_than(>) - Trigger when value exceeds thresholdgreater_than_or_equal(โฅ) - Trigger when value is greater or equalequal(=) - Trigger when value matches exactlynot_equal(โ ) - Trigger when value differscontains- Trigger when string contains text
- Standard: Cold Start, Warm Start, Link Up/Down, Authentication Failure
- UPS-specific: Battery Low, On Battery, Overload, Temperature
- Custom enterprise traps with configurable varbinds
- SNMPv3 Full Support: All authentication (MD5, SHA, SHA256, SHA384, SHA512) and privacy (DES, AES128, AES192, AES256) protocols
- Encrypted Storage: All passwords encrypted at rest using Fernet (256-bit AES)
- Secure Memory Management: Passwords securely deleted from memory with forced garbage collection
- Memory Protection: Configurable limits prevent memory exhaustion
- Access Control: Configurable timeouts and retry limits
- Audit Trail: Comprehensive logging of all operations with rotation
- RFC 1213 - MIB-II
- RFC 1628 - UPS MIB
- Enterprise MIBs: APC (318), Eaton (534), CyberPower (3808), Cisco, Microsoft, HP, Dell, IBM, Intel
The integrated MIB parser supports:
- ASN.1 Syntax: Full parsing of MIB definition files
- Object Types: OBJECT-TYPE, OBJECT IDENTIFIER, MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-GROUP
- Imports: Resolves imported definitions across MIBs
- Standard Roots: Automatic resolution of iso, org, dod, internet, enterprises paths
- Multiple Formats: .mib, .txt, .my file extensions
- Menu โ Tools โ "๐ฅ Importa MIB Custom"
- Select one or more MIB files
- Progress dialog shows parsing status
- OID names automatically update in all views
- Manage via "๐ Gestisci MIB" (view details, remove, export list)
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone with submodules
git clone --recursive https://github.com/yourusername/snmp-browser-professional.git
# Install dev dependencies
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/cryptography>=41.0.0
psutil>=5.9.0
Pillow>=10.0.0
matplotlib>=3.5.0
git+https://github.com/snmpware/snmpy.git
pytest>=7.0.0
black>=22.0.0
flake8>=4.0.0
pyinstaller>=5.0
"Permission denied" on trap receiver
- Run as administrator (Windows) or with sudo (Linux/macOS)
- Or change trap port to >1024 (e.g., 1162)
"Module not found" errors
- Ensure all dependencies are installed:
pip install -r requirements.txt - Install matplotlib:
pip install matplotlib --upgrade - Verify snmpy:
pip install git+https://github.com/snmpware/snmpy.git
High memory usage
- Adjust limits in Settings โ Limiti
- Clear cache with Tools โ Pulisci Cache
- Clean old historical data: Tools โ "๐งน Pulisci Dati Vecchi"
SNMPv3 discovery fails
- Check firewall settings
- Verify SNMPv3 credentials
- Try manual Engine ID discovery: "๐ฏ Scopri Engine ID"
Email alerts not working
- Verify SMTP configuration
- Use "๐ง Test" button to diagnose
- Check firewall allows outbound SMTP (port 587/465)
- For Gmail: enable "App Passwords" in account settings
Graphs not showing
- Ensure matplotlib is installed:
pip install matplotlib - Check historical data exists (needs at least 2 data points)
- Wait for auto-refresh to collect data
MIB import fails
- Check MIB file syntax (must be valid ASN.1)
- Review import errors in progress dialog
- Some vendor MIBs may require dependencies
- Use SNMPv2c or v3 for bulk operations (10x faster than v1)
- Enable "Scansione Estesa" only when needed
- Set appropriate timeout values for your network (default 5s)
- Use profiles for quick device switching
- Limit walk operations to specific subtrees
- Adjust auto-refresh interval based on network load
- Clean old historical data regularly to save disk space
- Use batch operations for multi-host queries
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- SNMP Library: snmpy by snmpware
- GUI Framework: tkinter
- Graphing: matplotlib
- Encryption: cryptography
- Icons: Material Design Icons
- Executable Packaging: PyInstaller
- Bug Reports: Open an issue with debug logs attached (Menu โ Help โ "๐ Log Viewer")
- Feature Requests: Use the issue template
- Security Issues: Contact privately first
- Documentation: Check built-in help (F1 key)
SNMP Browser Professional v3.5 - Enterprise-grade SNMP management with advanced monitoring, alerting, and visualization ๐
Making network monitoring simple, powerful, secure, and proactive!
New in v3.5:
- ๐ Comprehensive alert system with rule-based monitoring
- ๐ง Email notifications for critical alerts
- ๐ Real-time graphs with historical data tracking
- ๐ Auto-refresh dashboard (active by default)
- ๐ฅ Custom MIB parser with ASN.1 support
- ๐ Cross-platform data storage
- ๐พ Persistent monitoring across sessions

