@@ -87,23 +87,99 @@ BACKEND_PORT=9000 FRONTEND_PORT=3000 ./install-trishul-snmp.sh up
8787## ποΈ Architecture
8888
8989```
90- βββββββββββββββββββββββββββββββββββββββββββ
91- β Web Browser (Port 8080) β
92- ββββββββββββββββββ¬βββββββββββββββββββββββββ
93- β
94- ββββββββββββββ΄βββββββββββββ
95- β β
96- βββββΌβββββ βββββββΌβββββββ
97- β Nginx βββββββββββββββΊβ FastAPI β
98- β :8080 β API β :8000 β
99- ββββββββββ βββββββ¬βββββββ
100- β
101- βββββββββββ΄ββββββββββ
102- β β
103- βββββββΌββββββ ββββββββΌβββββββ
104- β Simulator β β Receiver β
105- β UDP: 1061 β β UDP: 1162 β
106- βββββββββββββ βββββββββββββββ
90+ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
91+ β Web Browser (Port 8080) β
92+ β β
93+ β ββββββββββββ ββββββββββββ βββββββββ ββββββββ ββββββββββ βββββββ β
94+ β βDashboard β βSimulator β βWalker β βTraps β βBrowser β βMIBs β β
95+ β ββββββββββββ ββββββββββββ βββββββββ ββββββββ ββββββββββ βββββββ β
96+ ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
97+ β HTTP
98+ β
99+ ββββββββββββββββΌβββββββββββββββ
100+ β Nginx (Frontend) β
101+ β β’ Serves static files β
102+ β β’ Reverse proxy to API β
103+ ββββββββββββββββ¬βββββββββββββββ
104+ β REST API
105+ β
106+ ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ
107+ β FastAPI Backend (Port 8000) β
108+ β β
109+ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
110+ β β API Endpoints β β
111+ β β /api/simulator/* /api/walker/* /api/traps/* β β
112+ β β /api/mibs/* /api/browser/* /api/settings/* β β
113+ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
114+ β β
115+ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
116+ β β Service Layer β β
117+ β β β β
118+ β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
119+ β β β MIB Service (pysmi/pysnmp) β β β
120+ β β β β’ Parse & validate MIB files β β β
121+ β β β β’ Check syntax & dependencies β β β
122+ β β β β’ Build OID tree (module/hierarchy views) β β β
123+ β β β β’ Resolve OID names β numeric OIDs β β β
124+ β β β β’ Enumerate traps (24: 19 loaded + 5 system) β β β
125+ β β β β’ Search & filter (name, OID, type, module) β β β
126+ β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
127+ β β β β
128+ β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
129+ β β β SNMP Service (pysnmp) β β β
130+ β β β β’ Simulator: Test SNMP agent responses β β β
131+ β β β β’ Walker: Test SNMP client queries β β β
132+ β β β β’ Trap Sender: Send test traps (client) β β β
133+ β β β β’ Trap Receiver: Receive test traps (server) β β β
134+ β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
135+ β β β β
136+ β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
137+ β β β Auth Service β β β
138+ β β β β’ Session management (token-based) β β β
139+ β β β β’ User authentication β β β
140+ β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
141+ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
142+ β β
143+ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
144+ β β SNMP Network Layer β β
145+ β β β β
146+ β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
147+ β β βSimulator β β Sender β β Receiver β β Walker β β β
148+ β β β (SVR) β β (CLI) β β (SVR) β β (CLI) β β β
149+ β β βUDP: 1061 β β Dynamic β βUDP: 1162 β β Dynamic β β β
150+ β β β β β β β β β β β β
151+ β β βTest SNMP β βSend test β βReceive β βTest SNMP β β β
152+ β β βagent β βtraps to β βtest trapsβ βqueries β β β
153+ β β βresponses β βdev/test β βfrom dev/ β βto dev/ β β β
154+ β β β β βtargets β βtest env β βtest env β β β
155+ β β ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬ββββββ β β
156+ β β β β β β β β
157+ β βββββββββΌββββββββββββββΌββββββββββββββΌββββββββββββββΌββββββββββββββ β
158+ β β β β β β
159+ β βββββββββΌββββββββββββββΌββββββββββββββΌββββββββββββββΌββββββββββββββ β
160+ β β Data Storage (Docker Volume) β β
161+ β β /app/data/ β β
162+ β β βββ mibs/ (MIB files for validation) β β
163+ β β βββ sessions.json (Auth tokens) β β
164+ β β βββ settings.json (User config) β β
165+ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
166+ β β
167+ βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ
168+ β SNMP Protocol (UDP)
169+ β Host Network Mode
170+ β
171+ ββββββββββββββββ΄βββββββββββββββ
172+ β β
173+ βββββββββΌβββββββββ ββββββββββΌβββββββββ
174+ β Test SNMP β β Test Trap β
175+ β Clients/Agents β β Receivers β
176+ β (Dev/Test Env) β β (Dev/Test Env) β
177+ β β β β
178+ β β’ Your NMS β β β’ Your NMS β
179+ β β’ Custom apps β β β’ Trap parsers β
180+ β β’ Test devices β β β’ Log servers β
181+ β β’ Simulators β β β’ Test apps β
182+ ββββββββββββββββββ βββββββββββββββββββ
107183```
108184
109185** Stack:** Python 3.11 β’ FastAPI β’ pysnmp β’ pysmi β’ Nginx β’ Docker
@@ -141,7 +217,6 @@ Interactive tree explorer for navigating OID hierarchies and understanding MIB s
141217- ** Tree navigation** - Expandable hierarchy with configurable depth (1-5 levels)
142218- ** Details panel** - View full metadata, descriptions, and varbinds
143219- ** Integration** - Jump to Walker or Trap Sender with pre-filled data
144- - ** State persistence** - Remembers your position across page switches
145220
146221### π ** MIB Manager**
147222Upload, validate, and manage MIB files with automatic dependency resolution.
@@ -159,6 +234,53 @@ Manage authentication and system preferences.
159234
160235---
161236
237+ ## π― Use Cases
238+
239+ ### ** For NMS Development**
240+ - β
Send test traps to validate receiver format/syntax
241+ - β
Receive test traps to validate sender implementation
242+ - β
Simulate SNMP agents for client testing
243+ - β
Test SNMP walk responses
244+
245+ ### ** For MIB Management**
246+ - β
Validate MIB syntax and dependencies
247+ - β
Explore MIB structures interactively
248+ - β
Search OIDs across multiple MIBs
249+ - β
Resolve OID names β numeric OIDs
250+
251+ ### ** For Integration Testing**
252+ - β
Test SNMP integrations without production devices
253+ - β
Validate trap handling in dev environments
254+ - β
Simulate device responses for QA
255+ - β
Export walk data for automated testing
256+
257+ ### ** For Learning & Training**
258+ - β
Understand SNMP protocol behavior
259+ - β
Explore standard MIB structures
260+ - β
Practice SNMP operations safely
261+ - β
Learn OID hierarchies visually
262+
263+ ---
264+
265+ ## π₯ Best For
266+
267+ - π§ ** Network engineers** testing devices and exploring MIB structures
268+ - π ** DevOps teams** testing SNMP integrations
269+ - π ** Students** learning SNMP protocols and MIB hierarchies
270+ - β
** QA teams** validating SNMP implementations
271+ - π₯ ** Small teams** needing trap monitoring and MIB browsing
272+ - π§ͺ ** Developers** building SNMP-enabled applications
273+
274+ ---
275+
276+ ## β οΈ Not For
277+
278+ - β Production 24/7 monitoring (use Zabbix, PRTG, LibreNMS)
279+ - β Enterprise-scale NMS (use SolarWinds, Cisco Prime)
280+ - β High-availability monitoring (use dedicated monitoring platforms)
281+
282+ ---
283+
162284## π§ Configuration
163285
164286### Environment Variables
@@ -222,25 +344,6 @@ docker-compose build
222344
223345---
224346
225- ## π₯ Best For
226-
227- - π§ ** Network engineers** testing devices and exploring MIB structures
228- - π ** DevOps teams** testing SNMP integrations
229- - π ** Students** learning SNMP protocols and MIB hierarchies
230- - β
** QA teams** validating SNMP implementations
231- - π₯ ** Small teams** needing trap monitoring and MIB browsing
232- - π§ͺ ** Developers** building SNMP-enabled applications
233-
234- ---
235-
236- ## β οΈ Not For
237-
238- - β Production 24/7 monitoring (use Zabbix, PRTG, LibreNMS)
239- - β Enterprise-scale NMS (use SolarWinds, Cisco Prime)
240- - β High-availability monitoring (use dedicated monitoring platforms)
241-
242- ---
243-
244347## π Support This Project
245348
246349Trishul-SNMP is ** 100% free and open-source** . If it helps you, consider:
0 commit comments