- Overview
- Features
- Project Structure
- Getting Started
- Project Roadmap
- Contributing
- License
- Acknowledgments
OmniView_SNMP is a robust, portable Java application designed for network administrators and developers to interact with SNMP agents. Unlike traditional heavy Network Management Systems (NMS), OmniView is MIB-less, meaning it relies on an internal dictionary and smart formatting rather than requiring external .mib files to be loaded.
It is specifically engineered to handle SNMPv3 complexity, featuring a custom Manual Engine ID Injection mechanism that solves common "Unknown User Name" and discovery timeout errors often encountered when connecting to Net-SNMP agents.
- Protocol Support: Full support for SNMP v1, v2c, and v3.
- Advanced Security: Implements SNMPv3 USM with support for:
noAuthNoPriv(Level 1)authNoPriv(Level 2 - MD5)authPriv(Level 3 - MD5/SHA + DES)
- MIB-less Browsing: Instantly view OID trees without configuring external MIB files, using a built-in
OidDictionary. - Manual Engine ID: Bypasses unstable discovery phases by allowing hardcoded authoritative Engine IDs.
- Smart Formatting: Automatically detects and converts
OctetStrings(Hex vs. ASCII) into human-readable text. - Operations: Supports
WALK,GET,GET_NEXT,GET_BULK, andSET.
└── OmniView_SNMP/
├── README.md
├── bin
│ └── com
├── lib
│ └── snmp4j-3.8.2.jar
├── manifest.txt
├── pom.xml
└── src
└── mainOMNIVIEW_SNMP/
__root__
manifest.txt ❯ REPLACE-ME
src
main
java
com
omniview
Main.java ❯ REPLACE-MEmodel
SnmpResult.java ❯ REPLACE-MEutils
OidDictionary.java ❯ REPLACE-MESmartFormatter.java ❯ REPLACE-MEservice
ScanWorker.java ❯ REPLACE-MEui
MainFrame.java ❯ REPLACE-METreeHelper.java ❯ REPLACE-MESnmpTreeCellRenderer.java ❯ REPLACE-ME
Before getting started with OmniView_SNMP, ensure your runtime environment meets the following requirements:
- Programming Language: Java
Install OmniView_SNMP using one of the following methods:
Build from source:
- Clone the OmniView_SNMP repository:
❯ git clone https://github.com/theiyappan/OmniView_SNMP- Navigate to the project directory:
❯ cd OmniView_SNMP- Install Net-Snmp for detailed testing(using choco):
Windows:
❯ choco install net-snmpFor manual installing for windows, visit:https://sourceforge.net/projects/net-snmp/files/net-snmp%20binaries/
Linux:
❯ sudo apt-get update
❯ sudo apt-get install snmp snmpd libsnmp-devMac:
❯ brew install net-snmpRun OmniView_SNMP by running the .bat file
- 💬 Join the Discussions: Share your insights, provide feedback, or ask questions.
- 🐛 Report Issues: Submit bugs found or log feature requests for the
OmniView_SNMPproject. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/theiyappan/OmniView_SNMP
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!