A SNMP Interface to NetBoxLabs Diode
Project description
snmp-diode
snmp-diode is a Python tool designed to gather device data using SNMP and push it to NetBoxLabs Diode.
Features
- snmp-diode collects the following data using snmp:
| OID | NetBox Mapping |
|---|---|
| 1.3.6.1.2.1.1.5.0 | Device Name |
| 1.3.6.1.2.1.1.2.0 | Manufacturer and Device Type |
| 1.3.6.1.2.1.1.6.0 | Site |
| 1.3.6.1.2.1.2.2.1.2 | Interface Name |
| 1.3.6.1.2.1.31.1.1.1.18 | Interface Description |
| 1.3.6.1.2.1.2.2.1.6 | Interface Mac Address |
| 1.3.6.1.2.1.2.2.1.7 | Interface Enabled Status |
| 1.3.6.1.2.1.4.20.1.2 | Interface IP Address |
| 1.3.6.1.2.1.4.20.1.3 | Interface Ip Address Mask |
Installation
To install snmp-diode, follow these steps:
$ pip install snmp-diode
Usage
usage: snmp-diode [-h] [-t HOST] [-n NETWORK] -v VERSION
[-c COMMUNITY] [-u USERNAME] [-a AUTH]
[-A {MD5,SHA}] [-x PRIVACY]
[-X PRIVACY_PROTOCOL]
[-l {noAuthNoPriv,authNoPriv,authPriv}]
[-d DIODE] [-k API_KEY] [--apply] [-r ROLE]
[-s SITE]
SNMP Discovery Tool for NetBoxLabs Diode
options:
-h, --help show this help message and exit
-t HOST, --host HOST Target Host Address
-n NETWORK, --network NETWORK
Target Network Address
-v VERSION, --version VERSION
SNMP Version
-c COMMUNITY, --community COMMUNITY
SNMP Community String
-u USERNAME, --username USERNAME
SNMPv3 Username
-a AUTH, --auth AUTH SNMPv3 Auth Password
-A {MD5,SHA}, --auth_protocol {MD5,SHA}
SNMPv3 Auth Protocol
-x PRIVACY, --privacy PRIVACY
SNMPv3 Privacy Password
-X PRIVACY_PROTOCOL, --privacy_protocol PRIVACY_PROTOCOL
SNMPv3 Privacy Protocol
-l {noAuthNoPriv,authNoPriv,authPriv}, --level {noAuthNoPriv,authNoPriv,authPriv}
SNMPv3 Security Level
-d DIODE, --diode DIODE
Diode Server
-k API_KEY, --api_key API_KEY
Diode API Key
--apply Apply the changes to NetBox
-r ROLE, --role ROLE Role of the device
-s SITE, --site SITE Site of the device
Host mode
With -t flag snmp-diode discovers only the target host, usage sample:
$ export DIODE_API_KEY=1234567890098765432
$ snmp-diode -t 172.20.20.1 -v 2 -c public -d grpc://192.168.224.137:8081/diode --apply
Network mode
With -n flag snmp-diode discovers the target network (CIDR format, i.e. 10.0.0.0/24 ) including the network address and mask, usage sample:
$ export DIODE_API_KEY=1234567890098765432
$ snmp-diode -n 172.20.20.0/24 -v 2 -c public -d grpc://192.168.224.137:8081/diode --apply
Dry mode
Running snmp-diode without the --apply flag it gonna discover the target devices and print the Diode Entities.
$ snmp-diode -n 172.20.20.0/24 -v 2 -c public
Role and Site flags
By setting the Role or Site flags, snmp-diode setups those values to all discovered devices.
Contributing
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for more information.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snmp_diode-0.0.4.tar.gz.
File metadata
- Download URL: snmp_diode-0.0.4.tar.gz
- Upload date:
- Size: 914.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d362c58d8282a32545e07bf5a42c0f6bbc9f2a75808726596927a847836e3e4
|
|
| MD5 |
ec7c2b1de7ab726e9670f01afd0c1348
|
|
| BLAKE2b-256 |
c48760ca801c803b33c77e11133bb8fad948f1f3ec258ec99d107af473a724ca
|
File details
Details for the file snmp_diode-0.0.4-py3-none-any.whl.
File metadata
- Download URL: snmp_diode-0.0.4-py3-none-any.whl
- Upload date:
- Size: 926.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7b68071d38d45d292af15780ee987f8ff123498262342e67f2401ce61249365
|
|
| MD5 |
a87fb4a791d284fa889e9429ecf8dd67
|
|
| BLAKE2b-256 |
b27e450b617336fe8e28776da549f198112558f1711af10bd466c296bafaa34f
|