Compare commits
171 Commits
Author | SHA1 | Date |
---|---|---|
Ilya Etingof | acd16a65f8 | |
Ilya Etingof | e425da2a0f | |
Ilya Etingof | 4994111b2b | |
Ilya Etingof | 9ebd0c0fab | |
Ilya Etingof | 4aac8b23d5 | |
Ilya Etingof | 602c4dd304 | |
Ilya Etingof | 0c0d054e8e | |
Ilya Etingof | 40cfd938c4 | |
Ilya Etingof | 534a5bb810 | |
Ilya Etingof | 12138b182c | |
Ilya Etingof | 593ff19283 | |
Fabrizio Vanni | 35e9c6f7a6 | |
Ilya Etingof | 53e67f9533 | |
Ilya Etingof | da7582db99 | |
Ilya Etingof | b334f5cf63 | |
Ilya Etingof | 6e30bc0457 | |
Ilya Etingof | bdc0ac2977 | |
Ilya Etingof | 74434d710c | |
Ilya Etingof | b2b10e75c5 | |
Ryan Van Gilder | 7cd0b148b1 | |
Ilya Etingof | 1537699336 | |
Ilya Etingof | ac0b956d00 | |
Ilya Etingof | 488ec26798 | |
Ilya Etingof | 1b240862ed | |
Ilya Etingof | d662c557a7 | |
Ilya Etingof | 861d28f200 | |
Ilya Etingof | 9a81eaa1ee | |
Ilya Etingof | 6898b225d2 | |
Ilya Etingof | a57dc32430 | |
Ilya Etingof | 3b514f9aec | |
Ilya Etingof | 853ba0bbf5 | |
Ilya Etingof | 797b4fe627 | |
Ilya Etingof | 7b28a4822c | |
Ilya Etingof | 54ff456e9c | |
Ilya Etingof | 8aa1636fa1 | |
Ilya Etingof | 59281af344 | |
Ilya Etingof | 3bae7dcc6c | |
Ilya Etingof | cf68c25ca8 | |
Ilya Etingof | 6559ebe1ea | |
Ilya Etingof | 8d4b25841d | |
Michal Arbet | 0fba331b55 | |
Vincent Bernat | 2048a92303 | |
Ilya Etingof | 3e8fd37ee1 | |
Ilya Etingof | a93241007b | |
Ilya Etingof | 5168479e42 | |
Ilya Etingof | 8dbc28d360 | |
Ilya Etingof | 212e1b54c3 | |
Ilya Etingof | dc34f140e3 | |
Ilya Etingof | c950f407ea | |
Ilya Etingof | 91fe21ab60 | |
Ilya Etingof | 3a8d4ec10b | |
Eric Brown | d5ab28820d | |
Ilya Etingof | 7f65dde49a | |
Ilya Etingof | da4539e34c | |
Ilya Etingof | df6d6a6efd | |
Ilya Etingof | f12389f1ae | |
Eric Brown | f14b61a7da | |
Ilya Etingof | 61f7a10adf | |
Aaron Spike | 38827dec2c | |
Ilya Etingof | f1e9f13141 | |
Ilya Etingof | 8935532ee7 | |
Cameron | 2b27b49db7 | |
Ilya Etingof | 2346e0a9af | |
Ilya Etingof | 04f1fa8476 | |
Ilya Etingof | 80b09ebb90 | |
Eric Brown | 961dacb689 | |
Ilya Etingof | 551e4c9a69 | |
Ilya Etingof | b3dc9a6699 | |
Ilya Etingof | 9bac440607 | |
Ilya Etingof | 35a0bb9e79 | |
Ilya Etingof | 4d57bdbbfe | |
Ilya Etingof | 7f7f202908 | |
Ilya Etingof | 0a29dd1f35 | |
Ilya Etingof | f38ae966c0 | |
Ilya Etingof | 24a7988766 | |
Ilya Etingof | bc2654205b | |
Ilya Etingof | cd5db32c6c | |
mattsb42-aws | eed17d7cf8 | |
mattsb42-aws | 5907ed57cc | |
mattsb42-aws | 36b2c64ba3 | |
mattsb42-aws | e40ffe79d2 | |
mattsb42-aws | 59fc4038ce | |
mattsb42-aws | b0b141cf75 | |
mattsb42-aws | f31ff816e7 | |
mattsb42-aws | a4442ba387 | |
mattsb42-aws | ab945c536a | |
mattsb42-aws | 9306d4b040 | |
mattsb42-aws | 1fba745773 | |
mattsb42-aws | 7e32a15c47 | |
Ilya Etingof | b42880e3ea | |
Jeff Diwie / Geoffroy BAILLY | e71ae1a6c4 | |
Ilya Etingof | 44159c6af9 | |
Mike C. Fletcher | 3760e7b638 | |
Ilya Etingof | 0ab27d2c38 | |
Ilya Etingof | 87dee74cac | |
Ilya Etingof | 8b4c122b67 | |
Ilya Etingof | 6329de4cc2 | |
Ilya Etingof | 0aa119f1aa | |
Ilya Etingof | e81dfd5f8a | |
Ilya Etingof | 91b30573c9 | |
Ilya Etingof | 72f3878be0 | |
Ilya Etingof | 114e90414d | |
Ilya Etingof | 0294172286 | |
Ilya Etingof | 5f7e552690 | |
Ilya Etingof | b6a19e8fb6 | |
Ilya Etingof | c1ede44061 | |
Ilya Etingof | bb48699267 | |
Ilya Etingof | 0645fc6151 | |
Ilya Etingof | 9f6230113e | |
Ilya Etingof | be4f6ed73b | |
Ilya Etingof | 57186559dc | |
Ilya Etingof | 1739070fb0 | |
Ilya Etingof | 408fe6c6ac | |
Ilya Etingof | 77b15bf6ca | |
Ilya Etingof | 6aeb434cf3 | |
Ilya Etingof | 522cb710db | |
Ilya Etingof | 6aad6ec9f6 | |
Ilya Etingof | 7ff147b5e0 | |
Eugene M. Kim | f6f0bb9e51 | |
Ilya Etingof | a5420fd95d | |
Ilya Etingof | 9fd74a00f6 | |
Ilya Etingof | 7a3a504d54 | |
Ilya Etingof | fff063aba9 | |
Ilya Etingof | 05df34cc3a | |
Ilya Etingof | 1065d25a16 | |
Ilya Etingof | 2d75ac5da1 | |
Ilya Etingof | 5127dc10e7 | |
Ilya Etingof | 7926d10748 | |
Eugene M. Kim | 78ee2edfce | |
Ilya Etingof | a6abfd8266 | |
Ilya Etingof | 527ad7f98f | |
Eugene M. Kim | 82bba95407 | |
Eugene M. Kim | cd8d66f8a1 | |
Eugene M. Kim | 37551d9271 | |
Ilya Etingof | 3c4c1ccf46 | |
Eugene M. Kim | c954431ecc | |
Eugene M. Kim | 1d5af2afc0 | |
Ilya Etingof | c383f2de5b | |
Ilya Etingof | 0f32c00d89 | |
Ilya Etingof | 9d35779f1c | |
Ilya Etingof | 82e5946101 | |
Ilya Etingof | 01605e794e | |
Eugene M. Kim | b05edd892d | |
Eugene M. Kim | b8187b8c1c | |
Ilya Etingof | 7404925300 | |
Ilya Etingof | d5a0891999 | |
Ilya Etingof | 30167082cd | |
Ilya Etingof | 33c6f6ecc6 | |
Ilya Etingof | dc3ff5fe11 | |
Ilya Etingof | 9c55a5293c | |
Ilya Etingof | 04bc906d29 | |
Ilya Etingof | 18421d4bb5 | |
Ilya Etingof | 69a2979d95 | |
verrio | 130bdaa6e2 | |
Ilya Etingof | 801d47b632 | |
Ilya Etingof | 1eff316a2e | |
Ilya Etingof | 3e7f2e6e10 | |
Ilya Etingof | 311c004d52 | |
Ilya Etingof | 20790316e6 | |
Ilya Etingof | a3b1f2a350 | |
Ilya Etingof | 42d4fd72b4 | |
Ilya Etingof | c898838a76 | |
Ilya Etingof | 59e9058972 | |
Ilya Etingof | 1cb1b5d3ab | |
Ilya Etingof | 1d2dc03045 | |
Ilya Etingof | 89ac53ca3c | |
Ilya Etingof | ee1f5a967f | |
rwallen | cc838c76ab | |
Ilya Etingof | a28ac71792 | |
Ilya Etingof | 3de5c04e20 | |
Ilya Etingof | 3dbb7f0cf4 |
|
@ -1,3 +1,4 @@
|
|||
# Python stuff
|
||||
*.pyc
|
||||
__pycache__
|
||||
|
||||
|
@ -9,7 +10,22 @@ MANIFEST
|
|||
dist/
|
||||
build/
|
||||
*.egg-info/
|
||||
docs/source/.templates/
|
||||
|
||||
# PyCharm stuff
|
||||
.idea/
|
||||
|
||||
# Sphinx template
|
||||
docs/source/.templates/layout.html
|
||||
|
||||
# Eclipse stuff
|
||||
.project
|
||||
.pydevproject
|
||||
|
||||
# Virtual envs
|
||||
venv*
|
||||
|
||||
# Tox
|
||||
.tox/
|
||||
|
||||
# Pyenv
|
||||
.python-version
|
||||
|
|
55
.travis.yml
55
.travis.yml
|
@ -1,20 +1,41 @@
|
|||
|
||||
language: python
|
||||
python:
|
||||
# temporarily disabled due to broken pysmi dependency
|
||||
# - "2.6"
|
||||
- "2.7"
|
||||
- "3.2"
|
||||
- "3.3"
|
||||
- "3.4"
|
||||
- "3.5"
|
||||
- "3.6"
|
||||
- "nightly"
|
||||
# - "pypy"
|
||||
# - "pypy3"
|
||||
cache: pip
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
dist: xenial
|
||||
sudo: false
|
||||
python: '2.7'
|
||||
- os: linux
|
||||
dist: xenial
|
||||
sudo: false
|
||||
python: '3.4'
|
||||
- os: linux
|
||||
dist: xenial
|
||||
sudo: false
|
||||
python: '3.5'
|
||||
- os: linux
|
||||
dist: xenial
|
||||
sudo: false
|
||||
python: '3.6'
|
||||
- os: linux
|
||||
dist: xenial
|
||||
sudo: true
|
||||
python: '3.7'
|
||||
- os: linux
|
||||
dist: xenial
|
||||
sudo: false
|
||||
python: 'nightly'
|
||||
# - os: linux
|
||||
# dist: xenial
|
||||
# sudo: false
|
||||
# python: 'pypy'
|
||||
# - os: linux
|
||||
# dist: xenial
|
||||
# sudo: false
|
||||
# python: 'pypy3'
|
||||
install:
|
||||
- pip install -r requirements.txt
|
||||
- pip install pysnmp-mibs
|
||||
- pip install --no-deps .
|
||||
- pip install -r requirements.txt -r devel-requirements.txt -r extra-requirements.txt
|
||||
- pip install -e .
|
||||
script:
|
||||
- sh runtests.sh
|
||||
- travis_wait 20 sh runtests.sh
|
||||
|
|
197
CHANGES.txt
197
CHANGES.txt
|
@ -1,4 +1,189 @@
|
|||
|
||||
Revision 5.0.0, released 2018-10-??
|
||||
-----------------------------------
|
||||
|
||||
- SNMPv3 crypto operations that require external dependencies
|
||||
made dependent on the optional external
|
||||
package -- pysnmpcrypto.
|
||||
|
||||
- By switching to pysnmpcrypto, pysnmp effectively migrates from
|
||||
PyCryptodomex to pyca/cryptography whenever available on the
|
||||
platform.
|
||||
|
||||
- Many really old backward-compatibility code snippets removed.
|
||||
Most importantly:
|
||||
|
||||
* `pysnmp.entity.rfc3413.oneliner` and everything related
|
||||
to the (non-standard) UNIX domain socket transport is gone
|
||||
* `pysnmp.carrier.asynsock` backward-compatible wrapper over
|
||||
`pysnmp.carrier.asyncore` is gone
|
||||
|
||||
- The MIB instrumentation API overhauled in backward incompatible
|
||||
way:
|
||||
|
||||
* MIB instrumentation methods signatures simplified to accept
|
||||
just var-binds (as var-arg), the rest of the parameters packed
|
||||
into opaque kwargs
|
||||
|
||||
* The `readVars`, `readNextVars` and `writeVars` methods of MIB
|
||||
instrumentation controller return immediately and deliver their
|
||||
results via a call back.
|
||||
|
||||
* CommandResponder application passes `snmpEngine` and optionally
|
||||
user-supplied `cbCtx` object throughout the MIB instrumentation
|
||||
methods. The goal is to let MIB objects access/modify whatever
|
||||
custom Python objects they need while being called back.
|
||||
|
||||
* CommandResponder refactored to facilitate asynchronous
|
||||
MIB instrumentation routines.
|
||||
|
||||
- The high-level API (`hlapi`) extended to cover lightweight SNMP v1arch
|
||||
in hope to ease the use of packet-level SNMP API.
|
||||
|
||||
By way of introducing v1arch hlapi, the sub-packages layout changed
|
||||
so that `pysnmp.hlapi` is moved to `pysnmp.hlapi.v3arch` and the new
|
||||
v1arch layer is introduced in `pysnmp.hlapi.v1arch`. This change does
|
||||
not break backward compatibility as `pysnmp.hlapi` still defaults to
|
||||
`pysnmp.hlapi.v3arch`.
|
||||
|
||||
The `pysnmp.hlapi.v1arch` is designed to be as much similar in use
|
||||
to `pysnmp.hlapi.v3arch`, but with high-performance in mind. One of
|
||||
the consequences of this higher performance focus is that various
|
||||
automation around building well-formed SNMP messages is and mediating
|
||||
differences between SNMP versions is not present in this new `v1arch`
|
||||
layer.
|
||||
|
||||
- The signature of the hlapi `.sendNotification()` call has changed
|
||||
to accept `*varBinds` instead of a sequence of `varBinds`. The rationale
|
||||
is to unify this method call with similar methods of CommandGenerator.
|
||||
This change should not compromise backward compatibility with pysnmp 4.
|
||||
|
||||
Revision 4.4.7, released 2018-11-XX
|
||||
-----------------------------------
|
||||
|
||||
- Exposed ASN.1 `Null` type through `rfc1902` module for convenience.
|
||||
- Use `compile()` before `exec`'ing MIB modules to attach filename to
|
||||
the stack frames (ultimately shown in traceback/debugger)
|
||||
- Fixed hlapi/v3arch transport target caching to ensure transport targets
|
||||
are different even if just timeout/retries options differ
|
||||
- Fixed hlapi LCD configurator to include `contextName`. Prior to this fix
|
||||
sending SNMPv3 TRAP with non-default `contextName` would fail.
|
||||
|
||||
Revision 4.4.6, released 2018-09-13
|
||||
-----------------------------------
|
||||
|
||||
- Improved package build and dependency tracking
|
||||
- Fixed missing LICENSE from the tarball distribution
|
||||
- Fixed `CommandGeneratorLcdConfigurator.unconfigure()` to fully clean up
|
||||
internal caches, otherwise repetitive attempts to configure the target
|
||||
would fail.
|
||||
- Fix to tolerate possible duplicate enumerations in `Bits` and `Integer`
|
||||
SMI types.
|
||||
- Fix to tolerate non-initialised entries in SNMP community table. Once a
|
||||
bad entry sneaked into the SNMP community table, all the subsequent
|
||||
SNMP v1/v2c operations failed. The fix ignores incomplete SNMP community
|
||||
table entries in the course of building indices.
|
||||
|
||||
Revision 4.4.5, released 2018-08-05
|
||||
-----------------------------------
|
||||
|
||||
- Added PySnmpError.cause attribute holding parent exception tuple
|
||||
- Fixed zero SNMPv3 boots/time values put in SNMPv3 TRAP messages
|
||||
- Fixed broken InetAddressType rendering caused by a pyasn1 regression
|
||||
- Fixed typo in RFC1158 module
|
||||
- Fixed possible infinite loop in GETBULK response PDU builder
|
||||
- Fixed memory leak in the `config.delContext()` VACM management harness
|
||||
- Fixed `Bits` class initialization when enumeration values are given
|
||||
- Fixed crash caused by incoming SNMPv3 message requesting SNMPv1/v2c
|
||||
security model
|
||||
- Fixed out-of-scope OIDs leaking at the end of SNMP table at hlapi
|
||||
`nextCmd` and `bulkCmd` calls when `lexicographicMode = False`
|
||||
|
||||
Revision 4.4.4, released 2018-01-03
|
||||
-----------------------------------
|
||||
|
||||
- Copyright notice extended to the year 2018
|
||||
- Fixed short local key expansion at 3DES key localization
|
||||
implementation.
|
||||
|
||||
Revision 4.4.3, released 2017-12-22
|
||||
-----------------------------------
|
||||
|
||||
- Migrated references from SourceForge
|
||||
- Added missing SHA2 support for Blumenthal key localization
|
||||
- Fixed named bits handling at rfc1902.Bits
|
||||
- Fixed missing SmiError exception class at pysnmp.proto.rfc1155
|
||||
- Fixed SNMP v1->v2c PDU proxy -- error-status & error-index fields
|
||||
from v1 PDU get copied over to v2c PDU in addition to the exception
|
||||
sentinels being set
|
||||
|
||||
Revision 4.4.2, released 2017-11-11
|
||||
-----------------------------------
|
||||
|
||||
- The pysnmp version being used gets exposed to the MIB modules
|
||||
via the `MibBuilder` instance
|
||||
- The .setObjects() method of the SMI types now accepts
|
||||
`append=False` parameter to let the caller adding more
|
||||
than 255 elements over the course of multiple calls
|
||||
- Added support for some more missing fields of SMIv2 MACRO types
|
||||
- Example scripts rearranged in a way that IPv6 requirement is
|
||||
clearly encoded in the script's name
|
||||
- Fixed SNMPv2-SMI.NotificationType to expose .set/getReference()
|
||||
instead of .set/getRevision() which should not be there in the
|
||||
first place
|
||||
- Fixed non-implied-OID encoding in SNMP table indices
|
||||
- Fixed inconsistent SNMPv3 discovery and retrying algorithm
|
||||
|
||||
Revision 4.4.1, released 2017-10-23
|
||||
-----------------------------------
|
||||
|
||||
- HMAC-SHA-2 Authentication Protocols support added (RFC-7860)
|
||||
- The pycryptodome dependency replaced with pycryptodomex as
|
||||
it is recommended by the upstream to avoid unwanted interference
|
||||
with PyCrypto package should it also be installed
|
||||
- Sphinx theme changed to Alabaster in the documentation
|
||||
- Minor adjustments towards pyasn1 0.4.x compatibility
|
||||
- Fixed ObjectIdentifier-into-ObjectIdentity casting at
|
||||
rfc1902.ObjectType MIB resolution harness
|
||||
- Fixed NetworkAddress object handling in SNMP table indices
|
||||
- Fixed MIB lookup by module:object.indices MIB object with
|
||||
InetAddressIPv{4,6} objects being in the index
|
||||
- Fixed non-translated PDU being retries at CommandGenerator what
|
||||
leads to wrong PDU version being sent and even a crash on
|
||||
incompatible PDU/SNMP message combination
|
||||
|
||||
Revision 4.3.10, released 2017-10-06
|
||||
------------------------------------
|
||||
|
||||
- Refactored partial SNMP message decoding to make it less dependent
|
||||
on unpublished pyasn1 API features.
|
||||
- Fix to MibTableRow.setFromName() to keep the input parameter type when
|
||||
it propagates to the return value. Before this fix
|
||||
ObjectIdentity.prettyPrint() may crash when rendering malformed SNMP
|
||||
table indices.
|
||||
- Fixed NotificationReceiver to include SNMPv1 TRAP Message community
|
||||
string into SNMPv2c/v3 TRAP PDU
|
||||
- Fixed multiple bugs in SNMP table indices rendering, especially
|
||||
the InetAddressIPv6 type which was severely broken.
|
||||
- Fixed crashing Bits.prettyPrint() implementation
|
||||
- Fixed crashing Bits.clone()/subtype() implementation
|
||||
- Fixed leaking exceptions bubbling up from the asyncio and Twisted adapters
|
||||
|
||||
Revision 4.3.9, released 2017-07-26
|
||||
-----------------------------------
|
||||
|
||||
- Deprecated UsmUserData initializaton parameters removed
|
||||
- Adapted to pyasn1 API changes introduced by release 0.3.1
|
||||
- Fix to a crash happening on inbound SNMP message having non-initialized fields
|
||||
- Fix to (persistent SNMP engine ID) file writing on Windows
|
||||
|
||||
Revision 4.3.8, released 2017-06-15
|
||||
-----------------------------------
|
||||
|
||||
- Security fix to the bug introduced in 4.3.6: msgAuthoritativeEngineTime
|
||||
stopped changing over time and was returning the same timestamp (process
|
||||
start time). This fix makes it growing as it should.
|
||||
|
||||
Revision 4.3.7, released 2017-05-29
|
||||
-----------------------------------
|
||||
|
||||
|
@ -472,7 +657,7 @@ Revision 4.2.4, released 2013-01-30
|
|||
defaulted value changed from None to () meaning no var-binds.
|
||||
- Attempt to convert Windows style EOL into UNIX ones in MIB source
|
||||
modules appeared to be unnecessary and even destructive to modules
|
||||
data in some cases. So the convertion code removed altogether.
|
||||
data in some cases. So the conversion code removed altogether.
|
||||
- Fix to isAccessAllowed() error handling at NotificationOriginator. System
|
||||
used to crash on access denied condition.
|
||||
- Fix to NotificationOriginator to make it use system uptime and trap OID
|
||||
|
@ -733,7 +918,7 @@ Revision 4.1.16a, released 2011-03-17
|
|||
configuration (LCD).
|
||||
+ default debug.logger is now just a zero value instead of an object
|
||||
what saves big on frequent calls
|
||||
+ SNMPv2-SMI columnar indices <-> index values convertion code optimized.
|
||||
+ SNMPv2-SMI columnar indices <-> index values conversion code optimized.
|
||||
+ pre-compute and re-use some of ASN.1 structures.
|
||||
+ avoid setting PDU defaults to save on unnecessary initialization.
|
||||
+ skip ASN.1 types verification where possible.
|
||||
|
@ -923,7 +1108,7 @@ Revision 4.1.9a, released 2007-11-28
|
|||
effects.
|
||||
- Fix to rfc2576.v1ToV2c() PDU converter to perform noSuchName error code
|
||||
translation.
|
||||
- Fixes to Notification PDU convertion code at rfc2576 in part of
|
||||
- Fixes to Notification PDU conversion code at rfc2576 in part of
|
||||
snmpTrapOID handling.
|
||||
- Fix to nonRepeaters object use as sequence slicer (must be int) at
|
||||
cmdrsp.CommandResponderApplication
|
||||
|
@ -945,7 +1130,7 @@ Revision 4.1.8a, released 2007-08-14
|
|||
------------------------------------
|
||||
|
||||
- UNSTABLE ALPHA RELEASE.
|
||||
- SMI/dispatcher timeout convertion multiplier is actually 100 (1/100 sec)
|
||||
- SMI/dispatcher timeout conversion multiplier is actually 100 (1/100 sec)
|
||||
rather than 1/1000. This fix affects timeouts specified through SMI.
|
||||
- __repr__() implemented for UdpTransportTarget, CommunityData, UsmUserData
|
||||
in oneliner module.
|
||||
|
@ -996,7 +1181,7 @@ Revision 4.1.7a, released 2007-02-19
|
|||
- Fix to MibViewController.getNodeName() to take MIB module name
|
||||
into account (SF bug #1505847).
|
||||
- Do explicit check for Counter32,Unsigned32,TimeTicks,Counter64 value types
|
||||
in MibTableRow index convertion and in TextualConvention.prettyPrint()
|
||||
in MibTableRow index conversion and in TextualConvention.prettyPrint()
|
||||
methods (SF bug #1506341). Handle Bits in indices as RFC2578 suggests.
|
||||
- Apply read-create column status to libsmi2pysnmp-generated code
|
||||
whenever MIB text specifies that (SF bug #1508955).
|
||||
|
@ -1020,7 +1205,7 @@ Revision 4.1.7a, released 2007-02-19
|
|||
- LCD unconfiguration functions for oneliners implemented (SF bug #1635270).
|
||||
- unloadModules() and unexportSymbols() implemented at MibBuilder
|
||||
- Notification type PDU proxy code fixed to produce symmetrical
|
||||
convertion.
|
||||
conversion.
|
||||
- Various SNMP engine-internal caches expiration implemented.
|
||||
- SMI-level access control now takes effect only if AC object is
|
||||
passed to MIB instrumentation API.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
Copyright (c) 2005-2017, Ilya Etingof <etingof@gmail.com>
|
||||
Copyright (c) 2005-2018, Ilya Etingof <etingof@gmail.com>
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
@ -1,4 +1,4 @@
|
|||
include *.txt *.md *.sh
|
||||
include *.rst *.txt *.md *.sh
|
||||
recursive-include examples *.py
|
||||
recursive-include docs/source *.rst *.svg *.py
|
||||
recursive-include docs/mibs *.txt
|
||||
|
|
37
README.md
37
README.md
|
@ -1,13 +1,13 @@
|
|||
|
||||
SNMP library for Python
|
||||
-----------------------
|
||||
[![PyPI](https://img.shields.io/pypi/v/pysnmp.svg?maxAge=2592000)](https://pypi.python.org/pypi/pysnmp)
|
||||
[![Python Versions](https://img.shields.io/pypi/pyversions/pysnmp.svg)](https://pypi.python.org/pypi/pysnmp/)
|
||||
[![PyPI](https://img.shields.io/pypi/v/pysnmp.svg?maxAge=2592000)](https://pypi.org/project/pysnmp/)
|
||||
[![Python Versions](https://img.shields.io/pypi/pyversions/pysnmp.svg)](https://pypi.org/project/pysnmp/)
|
||||
[![Build status](https://travis-ci.org/etingof/pysnmp.svg?branch=master)](https://secure.travis-ci.org/etingof/pysnmp)
|
||||
[![GitHub license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/etingof/pysnmp/master/LICENSE.txt)
|
||||
[![GitHub license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/etingof/pysnmp/master/LICENSE.rst)
|
||||
|
||||
This is a pure-Python, open source and free implementation of v1/v2c/v3
|
||||
SNMP engine distributed under 2-clause [BSD license](http://pysnmp.sourceforge.net/license.html).
|
||||
SNMP engine distributed under 2-clause [BSD license](http://snmplabs.com/pysnmp/license.html).
|
||||
|
||||
The PySNMP project was initially sponsored by a [PSF](http://www.python.org/psf/) grant.
|
||||
Thank you!
|
||||
|
@ -24,15 +24,15 @@ Features
|
|||
* Asynchronous socket-based IO API support
|
||||
* [Twisted](http://twistedmatrix.com), [Asyncio](https://docs.python.org/3/library/asyncio.html)
|
||||
and [Trollius](http://trollius.readthedocs.org/index.html) integration
|
||||
* [PySMI](http://pysmi.sf.net) integration for dynamic MIB compilation
|
||||
* [PySMI](http://snmplabs.com/pysmi/) integration for dynamic MIB compilation
|
||||
* Built-in instrumentation exposing protocol engine operations
|
||||
* Python eggs and py2exe friendly
|
||||
* 100% Python, works with Python 2.4 though 3.6
|
||||
* 100% Python, works with Python 2.4 though 3.7
|
||||
* MT-safe (if SnmpEngine is thread-local)
|
||||
|
||||
Features, specific to SNMPv3 model include:
|
||||
|
||||
* USM authentication (MD5/SHA) and privacy (DES/AES) protocols (RFC3414)
|
||||
* USM authentication (MD5/SHA-1/SHA-2) and privacy (DES/AES) protocols (RFC3414, RFC7860)
|
||||
* View-based access control to use with any SNMP model (RFC3415)
|
||||
* Built-in SNMP proxy PDU converter for building multi-lingual
|
||||
SNMP entities (RFC2576)
|
||||
|
@ -44,7 +44,7 @@ Features, specific to SNMPv3 model include:
|
|||
Download & Install
|
||||
------------------
|
||||
|
||||
The PySNMP software is freely available for download from [PyPI](https://pypi.python.org/pypi/pysnmp)
|
||||
The PySNMP software is freely available for download from [PyPI](https://pypi.org/project/pysnmp/)
|
||||
and [GitHub](https://github.com/etingof/pysnmp.git).
|
||||
|
||||
Just run:
|
||||
|
@ -55,15 +55,16 @@ $ pip install pysnmp
|
|||
|
||||
to download and install PySNMP along with its dependencies:
|
||||
|
||||
* [PyASN1](http://pyasn1.sf.net)
|
||||
* [PyCryptodome](https://pycryptodome.readthedocs.io) (required only if SNMPv3 encryption is in use)
|
||||
* [PySMI](http://pysmi.sf.net) (required for MIB services only)
|
||||
* [PyASN1](http://snmplabs.com/pyasn1/)
|
||||
* [PySMI](http://snmplabs.com/pysmi/) (required for MIB services only)
|
||||
* Optional [pysnmpcrypto](https://github.com/etingof/pysnmpcrypto) package
|
||||
whenever strong SNMPv3 encryption is desired
|
||||
|
||||
Besides the library, command-line [SNMP utilities](https://github.com/etingof/pysnmp-apps)
|
||||
Besides the library, command-line [SNMP utilities](https://github.com/etingof/snmpclitools)
|
||||
written in pure-Python could be installed via:
|
||||
|
||||
```bash
|
||||
$ pip install pysnmp-apps
|
||||
$ pip install snmpclitools
|
||||
```
|
||||
|
||||
and used in the very similar manner as conventional Net-SNMP tools:
|
||||
|
@ -123,7 +124,7 @@ if errorIndication:
|
|||
```
|
||||
|
||||
We maintain publicly available SNMP Agent and TRAP sink at
|
||||
[demo.snmplabs.com](http://snmpsim.sourceforge.net/public-snmp-simulator.html). You are
|
||||
[demo.snmplabs.com](http://snmplabs.com/snmpsim/public-snmp-agent-simulator.html). You are
|
||||
welcome to use it while experimenting with whatever SNMP software you deal with.
|
||||
|
||||
```bash
|
||||
|
@ -140,20 +141,20 @@ Other than that, PySNMP is capable to automatically fetch and use required MIBs
|
|||
or local directories. You could configure any MIB source available to you (including
|
||||
[this one](http://mibs.snmplabs.com/asn1/)) for that purpose.
|
||||
|
||||
For more example scripts please refer to [examples section](http://pysnmp.sourceforge.net/examples/contents.html#high-level-snmp)
|
||||
For more example scripts please refer to [examples section](http://snmplabs.com/pysnmp/examples/contents.html#high-level-snmp)
|
||||
at pysnmp web site.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
Library documentation and examples can be found at the [pysnmp project site](http://pysnmp.sf.net/).
|
||||
Library documentation and examples can be found at the [pysnmp project site](http://snmplabs.com/pysnmp/).
|
||||
|
||||
If something does not work as expected, please
|
||||
[open an issue](https://github.com/etingof/pysnmp/issues) at GitHub or
|
||||
post your question [on Stack Overflow](http://stackoverflow.com/questions/ask)
|
||||
or try browsing pysnmp
|
||||
[mailing list archives](https://sourceforge.net/p/pyasn1/mailman/pysnmp-users/).
|
||||
[mailing list archives](https://sourceforge.net/p/pysnmp/mailman/pysnmp-users/).
|
||||
|
||||
Bug reports and PRs are appreciated! ;-)
|
||||
|
||||
Copyright (c) 2005-2017, [Ilya Etingof](mailto:etingof@gmail.com). All rights reserved.
|
||||
Copyright (c) 2005-2018, [Ilya Etingof](mailto:etingof@gmail.com). All rights reserved.
|
||||
|
|
|
@ -28,5 +28,8 @@ Zachary Lorusso
|
|||
Floris Bruynooghe
|
||||
Laurelin of Middle Earth
|
||||
Robert Reese
|
||||
Olivier Verriest
|
||||
Eugene M. Kim
|
||||
Matt Bullock
|
||||
Thanks to Python Software Foundation for granting financial support
|
||||
for the project.
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Sphinx <= 1.6; python_version < '2.7'
|
||||
Sphinx > 1.6; python_version >= '2.7'
|
|
@ -21,6 +21,8 @@ pysnmpUsmMIB MODULE-IDENTITY
|
|||
DESCRIPTION
|
||||
"This MIB module defines objects specific to User
|
||||
Security Model (USM) implementation at PySNMP."
|
||||
REVISION "201707300000Z"
|
||||
DESCRIPTION "Extended authentication key size"
|
||||
REVISION "201704140000Z"
|
||||
DESCRIPTION "Updated addresses"
|
||||
REVISION "200505140000Z" -- 14 May 2005, midnight
|
||||
|
@ -153,7 +155,7 @@ PysnmpUsmKeyEntry ::= SEQUENCE {
|
|||
}
|
||||
|
||||
pysnmpUsmKeyAuthLocalized OBJECT-TYPE
|
||||
SYNTAX OCTET STRING (SIZE(8..32))
|
||||
SYNTAX OCTET STRING (SIZE(8..64))
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
|
@ -161,7 +163,7 @@ pysnmpUsmKeyAuthLocalized OBJECT-TYPE
|
|||
::= { pysnmpUsmKeyEntry 1 }
|
||||
|
||||
pysnmpUsmKeyPrivLocalized OBJECT-TYPE
|
||||
SYNTAX OCTET STRING (SIZE(8..32))
|
||||
SYNTAX OCTET STRING (SIZE(8..64))
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
|
@ -169,7 +171,7 @@ pysnmpUsmKeyPrivLocalized OBJECT-TYPE
|
|||
::= { pysnmpUsmKeyEntry 2 }
|
||||
|
||||
pysnmpUsmKeyAuth OBJECT-TYPE
|
||||
SYNTAX OCTET STRING (SIZE(8..32))
|
||||
SYNTAX OCTET STRING (SIZE(8..64))
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
|
@ -177,7 +179,7 @@ pysnmpUsmKeyAuth OBJECT-TYPE
|
|||
::= { pysnmpUsmKeyEntry 3 }
|
||||
|
||||
pysnmpUsmKeyPriv OBJECT-TYPE
|
||||
SYNTAX OCTET STRING (SIZE(8..32))
|
||||
SYNTAX OCTET STRING (SIZE(8..64))
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
|
@ -0,0 +1,95 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg viewBox="0 0 788.22937 829.02386" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<filter id="j">
|
||||
<feGaussianBlur stdDeviation="6.2732"/>
|
||||
</filter>
|
||||
<filter id="g">
|
||||
<feGaussianBlur stdDeviation=".64973"/>
|
||||
</filter>
|
||||
<filter id="l" x="-.06193" y="-.19499" width="1.1239" height="1.39">
|
||||
<feGaussianBlur stdDeviation="7.46855"/>
|
||||
</filter>
|
||||
<filter id="k" x="-.25093" y="-.14188" width="1.5019" height="1.2838">
|
||||
<feGaussianBlur stdDeviation="3.07792"/>
|
||||
</filter>
|
||||
<filter id="i" x="-.03871" y="-.12187" width="1.0774" height="1.2437">
|
||||
<feGaussianBlur stdDeviation="4.66785"/>
|
||||
</filter>
|
||||
<filter id="h" x="-.12783" y="-.07846" width="1.2557" height="1.1569">
|
||||
<feGaussianBlur stdDeviation="1.708"/>
|
||||
</filter>
|
||||
<linearGradient id="e">
|
||||
<stop stop-color="#817e7e" offset="0"/>
|
||||
<stop stop-color="#f4ebeb" stop-opacity=".98824" offset=".5"/>
|
||||
<stop stop-color="#241b1b" stop-opacity=".97826" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="f">
|
||||
<stop stop-color="#1a5b78" offset="0"/>
|
||||
<stop stop-color="#136890" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="r" x1="301.38" x2="318.52" y1="716.86" y2="106.67" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#3aacfa" offset="0"/>
|
||||
<stop stop-color="#2699d7" stop-opacity=".99608" offset=".83216"/>
|
||||
<stop stop-color="#78c1e7" stop-opacity=".99216" offset=".98972"/>
|
||||
<stop stop-color="#cae9f7" stop-opacity=".99216" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="q" x1="-6.9187" x2="583.27" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#d4f6f7" offset="0"/>
|
||||
<stop stop-color="#bdf0f2" offset=".5"/>
|
||||
<stop stop-color="#76eaf0" offset=".75"/>
|
||||
<stop stop-color="#465758" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="d" x1="172.72" x2="402.47" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2a9cf9" offset="0"/>
|
||||
<stop stop-color="#afe2eb" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="c" x1="286.18" x2="292.27" y1="332.78" y2="297.07" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#241b1b" offset="0"/>
|
||||
<stop stop-color="#241b1b" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="b" x1="291.93" x2="290.42" y1="654.44" y2="584.74" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#4ec7ff" offset="0"/>
|
||||
<stop stop-color="#177ba9" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="p" x1="166.1" x2="410.06" y1="529.93" y2="527.91" gradientUnits="userSpaceOnUse" xlink:href="#f"/>
|
||||
<linearGradient id="o" x1="257.31" x2="320.16" gradientUnits="userSpaceOnUse" xlink:href="#e"/>
|
||||
<linearGradient id="n" x1="229.49" x2="343.96" gradientUnits="userSpaceOnUse" xlink:href="#e"/>
|
||||
<linearGradient id="m" x1="63.378" x2="507.69" y1="571" y2="567.46" gradientUnits="userSpaceOnUse" xlink:href="#f"/>
|
||||
<radialGradient id="a" cx="288.79" cy="314.87" r="47.676" gradientTransform="matrix(.95889 0 0 .36279 11.873 202.26)" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#f9faf8" offset="0"/>
|
||||
<stop stop-color="#ccceca" stop-opacity=".67816" offset=".80581"/>
|
||||
<stop stop-color="#a0a39d" stop-opacity=".98551" offset="1"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<g transform="translate(36.408 -60.696)">
|
||||
<path d="m217.12 214.13 1.8398 157.37s-68.072 76.035-114.07 139.69-123.27 152.07-110.39 206.89 147.18 111.4 270.45 109.63 316.44-30.06 318.28-100.79-88.31-185.67-121.43-229.87-101.19-123.78-101.19-123.78l-3.6796-159.14s-27.597 14.146-69.912 14.146-69.912-14.146-69.912-14.146z" fill="url(#q)" opacity=".59004"/>
|
||||
<g transform="matrix(1.0193 0 0 .9797 275.35 -97.577)">
|
||||
<path transform="matrix(1.0949 0 0 1.1946 -27.22 -91.679)" d="m433.86 608.91c0 25.384-64.786 45.962-144.7 45.962s-144.7-20.578-144.7-45.962 64.786-45.962 144.7-45.962 144.7 20.578 144.7 45.962z" filter="url(#l)"/>
|
||||
<path d="m320.16 384.59c-20.034 6.3449-42.056 6.5046-62.156 0.15625 0.29535 26.623 0.5955 5.2459 0.875 31.875 6e-3 1.2834-0.46958 2.5635-1.3125 3.5312-27.411 31.834-52.856 65.234-76.938 99.75-17.564 25.17-36.956 49.209-44.688 77.531l-0.0312 0.0625c-2.7636 9.7018-0.36414 20.52 6.75 27.375l0.0937 0.0937c19.862 20.02 48.023 30.265 75.875 37.5 41.373 10.675 85.409 6.8178 128.31 1.0625v-0.0312c28.981-4.768 58.19-10.111 82.5-24.812-3e-5 -0.0104-3e-5 -0.0208 0-0.0312 4.5579-2.7227 8.8864-6.5506 11.625-10.781s3.9643-8.6335 3.0312-13.531c-0.0253-0.1242-0.0461-0.24931-0.0625-0.375-3.0304-25.717-17.046-49.326-30.906-72.375-0.0239-0.0398-0.0386-0.0852-0.0625-0.125-26.805-42.168-58.009-81.435-89.844-120.41-0.75007-0.90889-1.1862-2.072-1.2188-3.25-0.64083-27.08-1.2331-6.1494-1.8438-33.219z" fill="url(#p)"/>
|
||||
<path d="m308.76 387.93c-15.75 1.6761-28.556 1.9621-44.482-1.3589 0.21917 26.636 0.31563 3.3544 0.52303 29.996 5e-3 1.284-0.34845 2.5647-0.97395 3.533-20.341 31.85-39.222 65.266-57.092 99.798-13.034 25.182-27.423 49.233-33.161 77.569l-0.0232 0.0625c-2.0508 9.7065-0.27021 20.53 5.0089 27.388l0.0696 0.0937c11.203 12.958 20.695 21.066 48.728 28.023s68.254 7.0598 102.79 2.5782c20.824-2.7021 47.44-9.1506 61.22-16.876-3e-5 -0.0104-3e-5 -0.0208 0-0.0312 3.3822-2.724 6.5943-6.5538 8.6265-10.786s2.9418-8.6377 2.2494-13.538c-0.0188-0.12426-0.0342-0.24943-0.0464-0.37518-2.2487-25.729-12.649-49.35-22.934-72.41-0.0178-0.0398-0.0286-0.0852-0.0464-0.12506-19.891-42.189-43.047-81.475-66.67-120.46-0.5566-0.90934-0.88028-2.073-0.90439-3.2516-0.47553-27.093 0.0951-3.1219-0.35803-30.204z" fill="url(#d)" filter="url(#j)"/>
|
||||
<path transform="matrix(1 0 0 .9375 0 20.254)" d="m324.07 315.36c0 4.8113-15.991 8.7116-35.718 8.7116s-35.718-3.9003-35.718-8.7116 15.991-8.7116 35.718-8.7116 35.718 3.9003 35.718 8.7116z" fill="url(#c)"/>
|
||||
<path transform="matrix(1 0 0 1.087 0 -51.618)" d="m433.86 608.91c0 25.384-64.786 45.962-144.7 45.962s-144.7-20.578-144.7-45.962 64.786-45.962 144.7-45.962 144.7 20.578 144.7 45.962z" fill="url(#b)" filter="url(#i)" opacity=".7"/>
|
||||
<path transform="matrix(.74812 .4869 -.42145 .93332 324.55 94.283)" d="m105.06 429.6c0 15.342-4.7487 27.779-10.607 27.779s-10.607-12.437-10.607-27.779 4.7487-27.779 10.607-27.779 10.607 12.437 10.607 27.779z" fill="#fff" filter="url(#h)"/>
|
||||
<path transform="matrix(.69501 .29687 -.29983 .73496 329.84 101.99)" d="m105.06 429.6c0 15.342-4.7487 27.779-10.607 27.779s-10.607-12.437-10.607-27.779 4.7487-27.779 10.607-27.779 10.607 12.437 10.607 27.779z" fill="#fff" filter="url(#k)"/>
|
||||
<path d="m293.58 299.25c4.5514 0.12881 9.3278 0.24858 13.379 0.77697 5.2851 0.68931 10.077 1.7034 14.201 3.0024s7.6027 2.8509 10.281 4.932 4.6532 4.9568 4.3302 8.2969-2.8562 6.2388-5.9368 8.3199-6.8597 3.633-11.235 4.932c-8.7499 2.598-19.953 4.0562-32.144 4.0562s-23.083-1.4582-31.33-4.0562c-4.1238-1.299-7.6317-2.8509-10.31-4.932s-4.6509-4.9799-4.328-8.3199 2.8539-6.2158 5.9346-8.2969 6.8887-3.633 11.264-4.932c6.6932-1.9873 14.805-3.3077 23.705-3.8187 2.7349-0.15701-1.2073-0.23758 1.6582-0.23758l0.0765 9.2646c-3.7487 0.11199-7.3905 0.29917-9.7411 0.60179-4.7649 0.61344-9.0159 1.4835-12.472 2.5098s-6.0905 2.2331-7.5611 3.2266-1.6214 1.4742-1.6415 1.6824 0.0354 0.71198 1.3139 1.7055 3.6792 2.2003 6.9372 3.2266c6.5161 2.0526 16.331 3.4801 27.355 3.4801s21.144-1.4275 28.057-3.4801c3.4565-1.0263 6.0905-2.2331 7.5612-3.2266s1.5946-1.4972 1.6147-1.7055-9e-3 -0.68892-1.2872-1.6824-3.6792-2.2002-6.9372-3.2266-7.348-1.8963-12.002-2.5098-5.0792-0.75252-10.591-0.75252z" fill="url(#a)" filter="url(#g)" opacity=".64751"/>
|
||||
<path d="m257.31 330.38c17.886 5.8187 39.891 3.5219 62.41-1.0835l0.44026 55.295c-21.953 6.8399-42.524 6.0827-62.156 0.15625z" fill="url(#o)" opacity=".49808"/>
|
||||
<path d="m286.61 386.36h0.43558v3.0491h-0.43558z" fill="#241b1b" opacity=".64751"/>
|
||||
<path d="m290.1 385.92h0.43558v3.4846h-0.43558z" fill="#241b1b" opacity=".64751"/>
|
||||
<path d="m317.86 382.77c0 3.7423-12.687 6.776-28.336 6.776s-28.336-3.0337-28.336-6.776 12.687-6.776 28.336-6.776 28.336 3.0337 28.336 6.776z" fill="#135f9b" opacity=".68199"/>
|
||||
</g>
|
||||
<path transform="matrix(1.9941 0 0 2.091 -288.72 -517.12)" d="m433.86 608.91c0 25.384-64.786 45.962-144.7 45.962s-144.7-20.578-144.7-45.962 64.786-45.962 144.7-45.962 144.7 20.578 144.7 45.962z" filter="url(#l)"/>
|
||||
<path d="m343.96 316.59c-36.488 11.107-76.596 11.386-113.2 0.27351 0.53792 46.603 1.0846 9.1828 1.5936 55.796 0.0109 2.2465-0.85524 4.4873-2.3904 6.1814-49.924 55.725-96.267 114.19-140.13 174.61-31.99 44.059-67.307 86.139-81.389 135.72l-0.05682 0.1094c-5.0334 16.983-0.66321 35.921 12.294 47.919 0.05755 0.0539 0.11456 0.10871 0.17066 0.16402 36.175 35.044 87.464 52.978 138.19 65.643 75.353 18.686 155.55 11.934 233.69 1.8599v-0.0546c52.783-8.3462 105.98-17.699 150.26-43.434-5e-5 -0.0182-5e-5 -0.0364 0-0.0546 8.3013-4.766 16.185-11.467 21.173-18.872s7.2202-15.113 5.5208-23.686c-0.0461-0.21741-0.084-0.43641-0.11383-0.65643-5.5192-45.016-31.045-86.344-56.289-126.69-0.0435-0.0697-0.0703-0.14914-0.11383-0.21881-48.821-73.814-105.65-142.55-163.63-210.77-1.3661-1.591-2.1605-3.627-2.2197-5.689-1.1671-47.402-2.2458-10.764-3.358-58.149z" fill="url(#m)"/>
|
||||
<path transform="matrix(1.8213 0 0 1.7505 -239.14 -356.63)" d="m308.76 387.93c-15.75 1.6761-28.556 1.9621-44.482-1.3589 0.21917 26.636 0.31563 3.3544 0.52303 29.996 5e-3 1.284-0.34845 2.5647-0.97395 3.533-20.341 31.85-39.222 65.266-57.092 99.798-13.034 25.182-27.423 49.233-33.161 77.569l-0.0232 0.0625c-2.0508 9.7065-0.27021 20.53 5.0089 27.388l0.0696 0.0937c11.203 12.958 20.695 21.066 48.728 28.023s68.254 7.0598 102.79 2.5782c20.824-2.7021 47.44-9.1506 61.22-16.876-3e-5 -0.0104-3e-5 -0.0208 0-0.0312 3.3822-2.724 6.5943-6.5538 8.6265-10.786s2.9418-8.6377 2.2494-13.538c-0.0188-0.12426-0.0342-0.24943-0.0464-0.37518-2.2487-25.729-12.649-49.35-22.934-72.41-0.0178-0.0398-0.0286-0.0852-0.0464-0.12506-19.891-42.189-43.047-81.475-66.67-120.46-0.5566-0.90934-0.88028-2.073-0.90439-3.2516-0.47553-27.093 0.0951-3.1219-0.35803-30.204z" fill="url(#d)" filter="url(#j)"/>
|
||||
<path transform="matrix(1.8213 0 0 1.6411 -239.14 -321.18)" d="m324.07 315.36c0 4.8113-15.991 8.7116-35.718 8.7116s-35.718-3.9003-35.718-8.7116 15.991-8.7116 35.718-8.7116 35.718 3.9003 35.718 8.7116z" fill="url(#c)"/>
|
||||
<path transform="matrix(1.8213 0 0 1.9027 -239.14 -446.99)" d="m433.86 608.91c0 25.384-64.786 45.962-144.7 45.962s-144.7-20.578-144.7-45.962 64.786-45.962 144.7-45.962 144.7 20.578 144.7 45.962z" fill="url(#b)" filter="url(#i)" opacity=".7"/>
|
||||
<path transform="matrix(1.3625 .8523 -.76759 1.6338 351.96 -191.6)" d="m105.06 429.6c0 15.342-4.7487 27.779-10.607 27.779s-10.607-12.437-10.607-27.779 4.7487-27.779 10.607-27.779 10.607 12.437 10.607 27.779z" fill="#fff" filter="url(#h)"/>
|
||||
<path transform="matrix(1.2658 .51966 -.54607 1.2865 361.6 -178.11)" d="m105.06 429.6c0 15.342-4.7487 27.779-10.607 27.779s-10.607-12.437-10.607-27.779 4.7487-27.779 10.607-27.779 10.607 12.437 10.607 27.779z" fill="#fff" filter="url(#k)"/>
|
||||
<path d="m282.86 319.68h0.79332v5.3373h-0.79332z" fill="#241b1b" opacity=".64751"/>
|
||||
<path d="m289.21 318.92h0.79332v6.0998h-0.79332z" fill="#241b1b" opacity=".64751"/>
|
||||
<path d="m229.49 221.69c32.576 10.186 72.653 6.165 113.67-1.8966l0.80184 96.793c-39.983 11.973-77.45 10.648-113.2 0.27351z" fill="url(#n)" opacity=".49808"/>
|
||||
<path d="m314.53 88.096c11.175-7.4188 26.676-9.6276 40.922-9.6276 20.515 0 42.424 0.67751 63.119 1.3129-14.157 12.706-20.02 32.833-20.603 60.884s7.4772 46.002 19.522 56.234 26.603 12.035 36.71 12.035c9.5446 0 23.331-0.79894 35.231-9.8464s20.303-25.487 22.083-52.296c1.8812-28.327-6.4708-49.691-19.01-63.838 12.054 0.0088 22.878-0.32242 30.962 0.43762 11.434 1.0751 18.465 3.5429 26.636 14.168 6.5038 8.4571 10.278 28.096 11.099 50.764s-0.56916 48.252-0.56916 70.183h18.213c0-21.201 1.4303-46.992 0.56916-70.785s-3.2322-45.719-14.684-60.61c-10.902-14.176-25.129-19.764-39.499-21.115s-29.235 0.31775-46.898-0.71113c-4.6471-0.27069-8.9502-0.18951-13.261-0.10941-4.37-1.2458-8.7613-2.0787-13.091-2.0787-25.276 0-63.498-2.1334-96.529-2.1334-16.045 1.8e-5 -35.249 2.0482-51.281 12.691s-27.971 33.041-27.875 62.294l-0.30018 580.36c6.7459 3.5107 13.492 6.3162 20.238 0l-0.41466-580.94c0.37865-26.774 7.5356-39.862 18.711-47.281zm147.01-5.525h0.0568c15.896 5.5007 34.337 24.301 31.759 63.127-1.5853 23.871-8.3043 34.419-15.196 39.659s-15.555 6.072-23.961 6.072c-7.843 0-17.341-1.4545-24.644-7.6583s-13.892-17.899-13.375-42.723c0.53821-25.865 5.9461-40.522 14.798-48.466 6.639-5.9586 16.402-9.3 30.564-10.011z" fill="url(#r)" stroke="#000" stroke-opacity=".51587" stroke-width=".53566"/>
|
||||
<path transform="matrix(1.8213 0 0 1.7505 -239.14 -356.63)" d="m293.58 299.25c4.5514 0.12881 9.3278 0.24858 13.379 0.77697 5.2851 0.68931 10.077 1.7034 14.201 3.0024s7.6027 2.8509 10.281 4.932 4.6532 4.9568 4.3302 8.2969-2.8562 6.2388-5.9368 8.3199-6.8597 3.633-11.235 4.932c-8.7499 2.598-19.953 4.0562-32.144 4.0562s-23.083-1.4582-31.33-4.0562c-4.1238-1.299-7.6317-2.8509-10.31-4.932s-4.6509-4.9799-4.328-8.3199 2.8539-6.2158 5.9346-8.2969 6.8887-3.633 11.264-4.932c6.6932-1.9873 14.805-3.3077 23.705-3.8187 2.7349-0.15701-1.2073-0.23758 1.6582-0.23758l0.0765 9.2646c-3.7487 0.11199-7.3905 0.29917-9.7411 0.60179-4.7649 0.61344-9.0159 1.4835-12.472 2.5098s-6.0905 2.2331-7.5611 3.2266-1.6214 1.4742-1.6415 1.6824 0.0354 0.71198 1.3139 1.7055 3.6792 2.2003 6.9372 3.2266c6.5161 2.0526 16.331 3.4801 27.355 3.4801s21.144-1.4275 28.057-3.4801c3.4565-1.0263 6.0905-2.2331 7.5612-3.2266s1.5946-1.4972 1.6147-1.7055-9e-3 -0.68892-1.2872-1.6824-3.6792-2.2002-6.9372-3.2266-7.348-1.8963-12.002-2.5098-5.0792-0.75252-10.591-0.75252z" fill="url(#a)" filter="url(#g)" opacity=".64751"/>
|
||||
<path transform="matrix(1.8213 0 0 1.7505 -239.14 -356.63)" d="m317.86 382.77c0 3.7423-12.687 6.776-28.336 6.776s-28.336-3.0337-28.336-6.776 12.687-6.776 28.336-6.776 28.336 3.0337 28.336 6.776z" fill="#135f9b" opacity=".68199"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 14 KiB |
|
@ -1,189 +0,0 @@
|
|||
{# TEMPLATE VAR SETTINGS #}
|
||||
{%- set url_root = pathto('', 1) %}
|
||||
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
|
||||
{%- if not embedded and docstitle %}
|
||||
{%- set titlesuffix = " — "|safe + docstitle|e %}
|
||||
{%- else %}
|
||||
{%- set titlesuffix = "" %}
|
||||
{%- endif %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
{{ metatags }}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% block htmltitle %}
|
||||
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
|
||||
{% endblock %}
|
||||
|
||||
{# FAVICON #}
|
||||
{% if favicon %}
|
||||
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
|
||||
{% endif %}
|
||||
|
||||
{# CSS #}
|
||||
|
||||
{# OPENSEARCH #}
|
||||
{% if not embedded %}
|
||||
{% if use_opensearch %}
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}" href="{{ pathto('_static/opensearch.xml', 1) }}"/>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{# RTD hosts this file, so just load on non RTD builds #}
|
||||
{% if not READTHEDOCS %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
|
||||
{% endif %}
|
||||
|
||||
{% for cssfile in css_files %}
|
||||
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
|
||||
{% endfor %}
|
||||
|
||||
{% for cssfile in extra_css_files %}
|
||||
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
|
||||
{% endfor %}
|
||||
|
||||
{%- block linktags %}
|
||||
{%- if hasdoc('about') %}
|
||||
<link rel="author" title="{{ _('About these documents') }}"
|
||||
href="{{ pathto('about') }}"/>
|
||||
{%- endif %}
|
||||
{%- if hasdoc('genindex') %}
|
||||
<link rel="index" title="{{ _('Index') }}"
|
||||
href="{{ pathto('genindex') }}"/>
|
||||
{%- endif %}
|
||||
{%- if hasdoc('search') %}
|
||||
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}"/>
|
||||
{%- endif %}
|
||||
{%- if hasdoc('copyright') %}
|
||||
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}"/>
|
||||
{%- endif %}
|
||||
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}"/>
|
||||
{%- if parents %}
|
||||
<link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}"/>
|
||||
{%- endif %}
|
||||
{%- if next %}
|
||||
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}"/>
|
||||
{%- endif %}
|
||||
{%- if prev %}
|
||||
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}"/>
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
{%- block extrahead %} {% endblock %}
|
||||
|
||||
{# Keep modernizr in head - http://modernizr.com/docs/#installing #}
|
||||
<script src="_static/js/modernizr.min.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
{# SIDE NAV, TOGGLES ON MOBILE #}
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-nav-search">
|
||||
{% block sidebartitle %}
|
||||
|
||||
{% if logo and theme_logo_only %}
|
||||
<a href="{{ pathto(master_doc) }}">
|
||||
{% else %}
|
||||
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
|
||||
{% endif %}
|
||||
|
||||
{% if logo %}
|
||||
{# Not strictly valid HTML, but it's the only way to display/scale it properly, without weird scripting or heaps of work #}
|
||||
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" />
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
{% include "searchbox.html" %}
|
||||
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
{% block menu %}
|
||||
{% set toctree = toctree(maxdepth=4, collapse=True, includehidden=True) %}
|
||||
{% if toctree %}
|
||||
{{ toctree }}
|
||||
{% else %}
|
||||
<!-- Local TOC -->
|
||||
<div class="local-toc">{{ toc }}</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
|
||||
</nav>
|
||||
|
||||
|
||||
{# PAGE CONTENT #}
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
{% include "breadcrumbs.html" %}
|
||||
<div role="main" class="document">
|
||||
{% if include_analytics %}
|
||||
{% include "top.html" %}
|
||||
{% endif %}
|
||||
{% block body %}{% endblock %}
|
||||
{% if include_analytics %}
|
||||
{% include "bottom.html" %}
|
||||
{% include "analytics.html" %}
|
||||
{% endif %}
|
||||
<hr/>
|
||||
</div>
|
||||
{% include "footer.html" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
{% include "versions.html" %}
|
||||
|
||||
{% if not embedded %}
|
||||
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT:'{{ url_root }}',
|
||||
VERSION:'{{ release|e }}',
|
||||
COLLAPSE_INDEX:false,
|
||||
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
|
||||
HAS_SOURCE: {{ has_source|lower }}
|
||||
};
|
||||
</script>
|
||||
{%- for scriptfile in script_files %}
|
||||
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
|
||||
{%- endfor %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{# RTD hosts this file, so just load on non RTD builds #}
|
||||
{% if not READTHEDOCS %}
|
||||
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
|
||||
{% endif %}
|
||||
|
||||
{# STICKY NAVIGATION #}
|
||||
{% if theme_sticky_navigation %}
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.StickyNav.enable();
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
{%- block footer %} {% endblock %}
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -32,9 +32,7 @@ import shlex
|
|||
extensions = [
|
||||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.napoleon',
|
||||
'sphinx.ext.doctest',
|
||||
'sphinx.ext.intersphinx',
|
||||
'sphinx.ext.todo'
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
|
@ -52,8 +50,8 @@ source_suffix = '.rst'
|
|||
master_doc = 'contents'
|
||||
|
||||
# General information about the project.
|
||||
project = u'PySNMP'
|
||||
copyright = u'2005-2017, Ilya Etingof <etingof@gmail.com>'
|
||||
project = u'SNMP library for Python'
|
||||
copyright = u'2005-2018, Ilya Etingof <etingof@gmail.com>'
|
||||
author = u'Ilya Etingof <etingof@gmail.com>'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
|
@ -61,9 +59,9 @@ author = u'Ilya Etingof <etingof@gmail.com>'
|
|||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.3'
|
||||
version = '4.4'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.3'
|
||||
release = '4.4'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -107,20 +105,37 @@ pygments_style = 'sphinx'
|
|||
#keep_warnings = False
|
||||
|
||||
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||
todo_include_todos = True
|
||||
#todo_include_todos = True
|
||||
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#html_theme = 'alabaster'
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
html_theme = 'alabaster'
|
||||
#html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
html_theme_options = {
|
||||
'logo': 'logo.svg',
|
||||
'description': '<p align=left><i><b>Brewing free software for the greater good</i></b></p>',
|
||||
'show_powered_by': False,
|
||||
'github_user': 'etingof',
|
||||
'github_repo': 'pysnmp',
|
||||
'fixed_sidebar': True,
|
||||
}
|
||||
|
||||
html_sidebars = {
|
||||
'**': [
|
||||
'about.html',
|
||||
'navigation.html',
|
||||
'relations.html',
|
||||
'searchbox.html',
|
||||
'donate.html',
|
||||
]
|
||||
}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
@ -128,7 +143,7 @@ html_theme = 'sphinx_rtd_theme'
|
|||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
html_title = "PySNMP"
|
||||
#html_title = "PySNMP"
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
@ -140,17 +155,12 @@ html_title = "PySNMP"
|
|||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
html_favicon = '.static/favicon.ico'
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
if 'PYSNMPDEV' in os.environ:
|
||||
html_static_path = ['.static']
|
||||
|
||||
# Custom CSS theme
|
||||
if 'PYSNMPDEV' in os.environ:
|
||||
html_style = 'css/rtdimproved.css'
|
||||
html_static_path = ['.static']
|
||||
|
||||
# Add any extra paths that contain custom files (such as robots.txt or
|
||||
# .htaccess) here, relative to this directory. These files are copied
|
||||
|
@ -215,10 +225,6 @@ html_show_sphinx = False
|
|||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'PySNMPdoc'
|
||||
|
||||
html_context = {
|
||||
'include_analytics': 'PYSNMPDEV' in os.environ
|
||||
}
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
|
@ -301,10 +307,13 @@ texinfo_documents = [
|
|||
#texinfo_no_detailmenu = False
|
||||
|
||||
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
intersphinx_mapping = { 'python': ('https://docs.python.org/3.4/', None),
|
||||
'pysmi': ('http://pysmi.sf.net/', None),
|
||||
'twisted': ('https://twistedmatrix.com/documents/15.4.0/api/', None) }
|
||||
# Configuration for Intersphinx
|
||||
intersphinx_mapping = {
|
||||
'python': ('https://docs.python.org/3.4/', None),
|
||||
'pyasn1': ('http://snmplabs.com/pyasn1/', None),
|
||||
'pysmi': ('http://snmplabs.com/pysmi/', None),
|
||||
'twisted': ('https://twistedmatrix.com/documents/15.4.0/api/', None)
|
||||
}
|
||||
|
||||
# this merges constructor docstring with class docstring
|
||||
autoclass_content = 'both'
|
||||
|
|
|
@ -11,20 +11,20 @@ engine implementation. It features fully-functional SNMP engine capable
|
|||
to act in Agent/Manager/Proxy roles, talking SNMP v1/v2c/v3 protocol
|
||||
versions over IPv4/IPv6 and other network transports.
|
||||
|
||||
Despite its name, SNMP is not a really simple protocol. For instance its
|
||||
Despite its name, SNMP is not really a simple protocol. For instance its
|
||||
third version introduces complex and open-ended security framework,
|
||||
multilingual capabilities, remote configuration and other features.
|
||||
PySNMP implementation closely follows intricate system details and features
|
||||
bringing most possible power and flexibility to its users.
|
||||
|
||||
Current PySNMP stable version is 4.3. It runs with Python 2.4 through 3.5
|
||||
Current PySNMP stable version is 4.4. It runs with Python 2.4 through 3.7
|
||||
and is recommended for new applications as well as for migration from
|
||||
older, now obsolete, PySNMP releases. All site documentation and
|
||||
examples are written for the 4.3 and later versions in mind.
|
||||
examples are written for the 4.4 and later versions in mind.
|
||||
Older materials are still available under the obsolete section.
|
||||
|
||||
Besides the libraries, a set of pure-Python
|
||||
`command-line tools <https://pypi.python.org/pypi/pysnmp-apps/>`_
|
||||
`command-line tools <https://pypi.org/project/snmpclitools/>`_
|
||||
are shipped along with the system. Those tools mimic the interface
|
||||
and behaviour of popular Net-SNMP snmpget/snmpset/snmpwalk utilities.
|
||||
They may be useful in a cross-platform situations as well as a testing
|
||||
|
@ -121,11 +121,9 @@ are collected in the following section.
|
|||
Contact
|
||||
-------
|
||||
|
||||
Please, use our
|
||||
`mailing list <https://lists.sourceforge.net/lists/listinfo/pysnmp-users>`_
|
||||
or refer to
|
||||
`Stack Overflow <http://stackoverflow.com/questions/tagged/pysnmp>`_
|
||||
should you have any questions or issues in regards to PySNMP.
|
||||
In case of questions or troubles using PySNMP, please open up an
|
||||
`issue <https://github.com/etingof/pysnmp/issues>`_ at GitHub or ask at
|
||||
`Stack Overflow <http://stackoverflow.com/questions/tagged/pysnmp>`_ .
|
||||
|
||||
Old site archive
|
||||
----------------
|
||||
|
|
|
@ -11,17 +11,17 @@ hands on in the future.
|
|||
PySNMP library
|
||||
++++++++++++++
|
||||
|
||||
#. Built-in MIB parser. PySNMP uses a data model of its own to work with
|
||||
information contained in MIB files. To convert ASN.1-based MIB texts
|
||||
into Python modules, an off-line, third-party tool is employed. As it
|
||||
turns out, this approach has two major drawback: one is that PySNMP
|
||||
users may need to pre-process MIB texts to use them with their
|
||||
PySNMP-based applications. Another is that LibSMI's Python driver
|
||||
seems to miss some information carried by MIBs. Thus the solution would
|
||||
be to write another MIB parser and code generator which would produce
|
||||
#. Built-in MIB parser. PySNMP uses a data model of its own to work with
|
||||
information contained in MIB files. To convert ASN.1-based MIB texts
|
||||
into Python modules, an off-line, third-party tool is employed. As it
|
||||
turns out, this approach has two major drawback: one is that PySNMP
|
||||
users may need to pre-process MIB texts to use them with their
|
||||
PySNMP-based applications. Another is that LibSMI's Python driver
|
||||
seems to miss some information carried by MIBs. Thus the solution would
|
||||
be to write another MIB parser and code generator which would produce
|
||||
PySNMP compliant Python code right from MIB text files all by itself.
|
||||
|
||||
**Done:** see `PySMI project <http://pysmi.sf.net>`_ in conjuction with the latest PySNMP codebase.
|
||||
**Done:** see `PySMI project <http://snmplabs.com/pysmi/>`_ in conjuction with the latest PySNMP codebase.
|
||||
|
||||
#. Reverse MIB index. The variable-bindings received by the system whilst
|
||||
in Manager role could be post-processed using the information kept in
|
||||
|
@ -54,7 +54,6 @@ PySNMP library
|
|||
SMI/MIB subsystem into a database. PySNMP engine would talk to it
|
||||
through its simple and well defined SMI API.
|
||||
|
||||
|
||||
Stand-alone PySNMP-based tools
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
|
@ -64,7 +63,7 @@ Stand-alone PySNMP-based tools
|
|||
include extensive configuration facilities, fine-graned access
|
||||
control and logging.
|
||||
|
||||
**Done:** see `SNMP Proxy Forwarder <http://snmpfwd.sf.net>`_.
|
||||
**Done:** see `SNMP Proxy Forwarder <http://snmplabs.com/snmpfwd/>`_.
|
||||
|
||||
#. SNMP Trap Receiver. We see this application as a simple yet flexible
|
||||
SNMP TRAP collector. It would listen on network sockets of different
|
||||
|
@ -82,10 +81,10 @@ Stand-alone PySNMP-based tools
|
|||
a relational database application. So we are planning to put some more
|
||||
efforts into the Simulator project as time permits.
|
||||
|
||||
**Done:** since `snmpsim-0.2.4 <http://snmpsim.sf.net>`_
|
||||
**Done:** since `snmpsim-0.2.4 <http://snmplabs.com/snmpsim/>`_
|
||||
|
||||
If you need some particular feature - please,
|
||||
`drop us a note <http://pysnmp.sourceforge.net/contact.html>`_ . Once we
|
||||
`open a feature request <https://github.com/etingof/pysnmp/issues/new>`_ . Once we
|
||||
see a greater demand in particular area, we would re-arrange our
|
||||
development resources to meet it sooner.
|
||||
|
||||
|
@ -94,7 +93,7 @@ sponsoring it. Please get back to us to discuss details.
|
|||
|
||||
Contributions to the PySNMP source code is greatly appreciated as well.
|
||||
We require contributed code to run with Python 2.4 through the latest
|
||||
Python version (which is 3.3 at the time of this writing). Contributed
|
||||
Python version (which is 3.7 at the time of this writing). Contributed
|
||||
code will be redistributed under the terms of the same
|
||||
`license <http://pysnmp.sourceforge.net/license.html>`_ as PySNMP is.
|
||||
`license <http://snmplabs.com/pysnmp/>`_ as PySNMP is.
|
||||
|
||||
|
|
|
@ -3,44 +3,40 @@ Library reference
|
|||
=================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 3
|
||||
|
||||
Dealing with many SNMP features may quickly overwhelm developers who aim at a
|
||||
quick and trivial task, PySNMP employs a layered architecture approach
|
||||
where the topmost programming API tries to be as simple as possible
|
||||
to allow immediate solutions for most common use cases.
|
||||
It will let you perform SNMP GET/SET/WALK and TRAP/INFORM operations by
|
||||
pasting code snippets from PySNMP documentation and example scripts
|
||||
right into your Python interactive session.
|
||||
|
||||
Most of SNMP operations involve packet exchange over network. PySNMP
|
||||
is shipped with a set of bindings to popular asynchronous Python I/O
|
||||
frameworks that let you run PySNMP in parallel with other tasks your
|
||||
application may perform.
|
||||
|
||||
Synchronous SNMP
|
||||
----------------
|
||||
High-level, v3arch, sync
|
||||
------------------------
|
||||
|
||||
Most simple and strightforward way to use PySNMP is by employing its
|
||||
Synchronous, blocking API. It's also the default API offered by
|
||||
users on *pysnmp.hlapi* sub-package import.
|
||||
The synchronous `hlapi.v3arch` API is the easiest to use and probably
|
||||
the richest in features. However `hlapi.v1arch` API may be faster.
|
||||
|
||||
Command Generator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/asyncore/sync/manager/cmdgen/getcmd
|
||||
/docs/hlapi/asyncore/sync/manager/cmdgen/setcmd
|
||||
/docs/hlapi/asyncore/sync/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/asyncore/sync/manager/cmdgen/bulkcmd
|
||||
/docs/hlapi/v3arch/asyncore/sync/manager/cmdgen/getcmd
|
||||
/docs/hlapi/v3arch/asyncore/sync/manager/cmdgen/setcmd
|
||||
/docs/hlapi/v3arch/asyncore/sync/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/v3arch/asyncore/sync/manager/cmdgen/bulkcmd
|
||||
|
||||
Notification Originator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/asyncore/sync/agent/ntforg/notification
|
||||
/docs/hlapi/v3arch/asyncore/sync/agent/ntforg/notification
|
||||
|
||||
Transport configuration
|
||||
+++++++++++++++++++++++
|
||||
|
@ -53,14 +49,14 @@ saves its configuration for the lifetime of SNMP engine object.
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.UdpTransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.UdpTransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.Udp6TransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.Udp6TransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
Asynchronous: asyncore
|
||||
----------------------
|
||||
High-level v3arch asyncore
|
||||
--------------------------
|
||||
|
||||
The :mod:`asyncore` module is in Python standard library since ancient
|
||||
times. Main loop is built around :mod:`select` dispatcher, user
|
||||
|
@ -71,17 +67,17 @@ Command Generator
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/asyncore/manager/cmdgen/getcmd
|
||||
/docs/hlapi/asyncore/manager/cmdgen/setcmd
|
||||
/docs/hlapi/asyncore/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/asyncore/manager/cmdgen/bulkcmd
|
||||
/docs/hlapi/v3arch/asyncore/manager/cmdgen/getcmd
|
||||
/docs/hlapi/v3arch/asyncore/manager/cmdgen/setcmd
|
||||
/docs/hlapi/v3arch/asyncore/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/v3arch/asyncore/manager/cmdgen/bulkcmd
|
||||
|
||||
Notification Originator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/asyncore/agent/ntforg/notification
|
||||
/docs/hlapi/v3arch/asyncore/agent/ntforg/notification
|
||||
|
||||
Transport configuration
|
||||
+++++++++++++++++++++++
|
||||
|
@ -89,14 +85,14 @@ Transport configuration
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.asyncore.UdpTransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.asyncore.UdpTransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.asyncore.Udp6TransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.asyncore.Udp6TransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
Asynchronous: asyncio
|
||||
---------------------
|
||||
High-level v3arch asyncio
|
||||
-------------------------
|
||||
|
||||
The :mod:`asyncio` module first appeared in standard library since
|
||||
Python 3.3 (in provisional basis). Its main design feature is that
|
||||
|
@ -108,17 +104,17 @@ Command Generator
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/asyncio/manager/cmdgen/getcmd
|
||||
/docs/hlapi/asyncio/manager/cmdgen/setcmd
|
||||
/docs/hlapi/asyncio/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/asyncio/manager/cmdgen/bulkcmd
|
||||
/docs/hlapi/v3arch/asyncio/manager/cmdgen/getcmd
|
||||
/docs/hlapi/v3arch/asyncio/manager/cmdgen/setcmd
|
||||
/docs/hlapi/v3arch/asyncio/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/v3arch/asyncio/manager/cmdgen/bulkcmd
|
||||
|
||||
Notification Originator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/asyncio/agent/ntforg/notification
|
||||
/docs/hlapi/v3arch/asyncio/agent/ntforg/notification
|
||||
|
||||
Transport configuration
|
||||
+++++++++++++++++++++++
|
||||
|
@ -126,14 +122,14 @@ Transport configuration
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.asyncio.UdpTransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.asyncio.UdpTransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.asyncio.Udp6TransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.asyncio.Udp6TransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
Asynchronous: trollius
|
||||
----------------------
|
||||
High-level v3arch trollius
|
||||
--------------------------
|
||||
|
||||
An almost compatible alternative to *asyncio* for pre-3.3 Python
|
||||
is `Trollius <http://trollius.readthedocs.org>`_ module. PySNMP's
|
||||
|
@ -142,8 +138,8 @@ is `Trollius <http://trollius.readthedocs.org>`_ module. PySNMP's
|
|||
Please refer to :doc:`Trollius examples </examples/contents>` for
|
||||
more information.
|
||||
|
||||
Asynchronous: Twisted
|
||||
---------------------
|
||||
High-level v3arch twisted
|
||||
-------------------------
|
||||
|
||||
`Twisted <http://twistedmatrix.org>`_ is one of the earliest and hugely
|
||||
popular asynchronous I/O framework. It introduced a concept of
|
||||
|
@ -156,17 +152,17 @@ Command Generator
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/twisted/manager/cmdgen/getcmd
|
||||
/docs/hlapi/twisted/manager/cmdgen/setcmd
|
||||
/docs/hlapi/twisted/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/twisted/manager/cmdgen/bulkcmd
|
||||
/docs/hlapi/v3arch/twisted/manager/cmdgen/getcmd
|
||||
/docs/hlapi/v3arch/twisted/manager/cmdgen/setcmd
|
||||
/docs/hlapi/v3arch/twisted/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/v3arch/twisted/manager/cmdgen/bulkcmd
|
||||
|
||||
Notification Originator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/twisted/agent/ntforg/notification
|
||||
/docs/hlapi/v3arch/twisted/agent/ntforg/notification
|
||||
|
||||
Transport configuration
|
||||
+++++++++++++++++++++++
|
||||
|
@ -174,23 +170,23 @@ Transport configuration
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.twisted.UdpTransportTarget
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.twisted.UdpTransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
SNMP Engine
|
||||
-----------
|
||||
High-level v3arch SNMP Engine
|
||||
-----------------------------
|
||||
|
||||
SNMP Engine is a central, stateful object used by all SNMP v3
|
||||
substsems. Calls to high-level Applications API also consume SNMP
|
||||
subsystems. Calls to high-level Applications API also consume SNMP
|
||||
Engine object on input.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.SnmpEngine(snmpEngineID=None)
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.SnmpEngine(snmpEngineID=None)
|
||||
|
||||
Security Parameters
|
||||
-------------------
|
||||
High-level v3arch auth
|
||||
----------------------
|
||||
|
||||
Calls to high-level Applications API consume Security Parameters
|
||||
configuration object on input. The shortcut classes described in
|
||||
|
@ -203,60 +199,187 @@ Community-based
|
|||
+++++++++++++++
|
||||
|
||||
Security Parameters object is Security Model specific. The
|
||||
:py:class:`~pysnmp.hlapi.CommunityData`
|
||||
:py:class:`~pysnmp.hlapi.v3arch.CommunityData`
|
||||
class is used for configuring Community-Based Security Model of SNMPv1/SNMPv2c.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.CommunityData(communityIndex, communityName=None, mpModel=1, contextEngineId=None, contextName='', tag='')
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.CommunityData(communityIndex, communityName=None, mpModel=1, contextEngineId=None, contextName='', tag='')
|
||||
|
||||
User-based
|
||||
++++++++++
|
||||
|
||||
The :py:class:`~pysnmp.hlapi.UsmUserData` class provides SNMPv3 User-Based
|
||||
The :py:class:`~pysnmp.hlapi.v3arch.UsmUserData` class provides SNMPv3 User-Based
|
||||
Security Model configuration for SNMP v3 systems.
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.UsmUserData(userName, authKey=None, privKey=None, authProtocol=usmNoAuthProtocol, privProtocol=usmNoPrivProtocol, securityEngineId=None)
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.UsmUserData(userName, authKey=None, privKey=None, authProtocol=usmNoAuthProtocol, privProtocol=usmNoPrivProtocol, securityEngineId=None)
|
||||
|
||||
Identification of Authentication and Privacy Protocols is done
|
||||
via constant OIDs:
|
||||
**Authentication protocol identifiers**
|
||||
|
||||
.. autodata:: pysnmp.hlapi.usmNoAuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.usmHMACMD5AuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.usmHMACSHAAuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmNoAuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmHMACMD5AuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmHMACSHAAuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmHMAC128SHA224AuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmHMAC192SHA256AuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmHMAC256SHA384AuthProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmHMAC384SHA512AuthProtocol
|
||||
|
||||
.. autodata:: pysnmp.hlapi.usmNoPrivProtocol
|
||||
.. autodata:: pysnmp.hlapi.usmDESPrivProtocol
|
||||
.. autodata:: pysnmp.hlapi.usm3DESEDEPrivProtocol
|
||||
.. autodata:: pysnmp.hlapi.usmAesCfb128Protocol
|
||||
.. autodata:: pysnmp.hlapi.usmAesCfb192Protocol
|
||||
.. autodata:: pysnmp.hlapi.usmAesCfb256Protocol
|
||||
.. autodata:: pysnmp.hlapi.usmAesBlumenthalCfb192Protocol
|
||||
.. autodata:: pysnmp.hlapi.usmAesBlumenthalCfb256Protocol
|
||||
**Privacy (encryption) protocol identifiers**
|
||||
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmNoPrivProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmDESPrivProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usm3DESEDEPrivProtocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmAesCfb128Protocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmAesCfb192Protocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmAesCfb256Protocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmAesBlumenthalCfb192Protocol
|
||||
.. autodata:: pysnmp.hlapi.v3arch.usmAesBlumenthalCfb256Protocol
|
||||
|
||||
.. note::
|
||||
|
||||
SNMP authentication and encryption keys must be at least *eight*
|
||||
octets long.
|
||||
|
||||
Transport configuration is I/O framework specific and is described in
|
||||
respective sections.
|
||||
|
||||
SNMP Context
|
||||
------------
|
||||
High-level v3arch SNMP Context
|
||||
------------------------------
|
||||
|
||||
SNMP engine may serve several instances of the same MIB within
|
||||
possibly multiple SNMP entities. SNMP context is a method to
|
||||
unambiguously identify a collection of MIB variables behind
|
||||
possibly multiple SNMP entities. SNMP context is a tool for
|
||||
unambiguously identifying a collection of MIB variables behind the
|
||||
SNMP engine. See :RFC:`3411#section-3.3.1` for details.
|
||||
|
||||
.. note::
|
||||
|
||||
SNMP context is only defined within SNMPv3 framework. For SNMPv1/v2c
|
||||
architecture integration :RFC:`2576#section-5.1` introduces
|
||||
interoperability aid which is available through
|
||||
:py:class:`~pysnmp.hlapi.CommunityData`.
|
||||
The SNMP context information is not tied to SNMPv3/USM user,
|
||||
but it is transferred in SNMPv3 message header.
|
||||
|
||||
Legacy SNMPv1/v2c protocols do not accommodate the SNMP context
|
||||
information at all.
|
||||
|
||||
To fit legacy SNMPv1/SNMPv2c systems into unified SNMPv3
|
||||
architecture, the mapping procedure is introduced by
|
||||
:RFC:`2576#section-5.1` which essentially lets you first configure
|
||||
and then supply the missing items (e.g. *contextName*,
|
||||
*contextEngineId* and other) to the upper layers of SNMP stack
|
||||
based on SNMPv1/v2c *communityName* and transport endpoint.
|
||||
|
||||
The SNMP context information necessary for this mapping procedure
|
||||
to operate is supplied through the
|
||||
:py:class:`~pysnmp.hlapi.v3arch.CommunityData` object.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.ContextData
|
||||
.. autoclass:: pysnmp.hlapi.v3arch.ContextData
|
||||
|
||||
High-level v1arch sync
|
||||
----------------------
|
||||
|
||||
The synchronous `hlapi.v1arch` API is probably the easiest to use and fast to run,
|
||||
however it does not support SNMPv3.
|
||||
|
||||
Command Generator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/v1arch/asyncore/sync/manager/cmdgen/getcmd
|
||||
/docs/hlapi/v1arch/asyncore/sync/manager/cmdgen/setcmd
|
||||
/docs/hlapi/v1arch/asyncore/sync/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/v1arch/asyncore/sync/manager/cmdgen/bulkcmd
|
||||
|
||||
Notification Originator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/v1arch/asyncore/sync/agent/ntforg/notification
|
||||
|
||||
Transport configuration
|
||||
+++++++++++++++++++++++
|
||||
|
||||
The following shortcut classes convey configuration information to
|
||||
SNMP engine's Local Configuration Datastore (:RFC:`2271#section-3.4.2`)
|
||||
as well as to underlying socket API. Once committed to LCD, SNMP engine
|
||||
saves its configuration for the lifetime of SNMP engine object.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.v1arch.UdpTransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.v1arch.Udp6TransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
High-level v1arch asyncore
|
||||
--------------------------
|
||||
|
||||
The :mod:`asyncore` module is in Python standard library since ancient
|
||||
times. Main loop is built around :mod:`select` dispatcher, user
|
||||
code is invoked through callback callables.
|
||||
|
||||
Command Generator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/v1arch/asyncore/manager/cmdgen/getcmd
|
||||
/docs/hlapi/v1arch/asyncore/manager/cmdgen/setcmd
|
||||
/docs/hlapi/v1arch/asyncore/manager/cmdgen/nextcmd
|
||||
/docs/hlapi/v1arch/asyncore/manager/cmdgen/bulkcmd
|
||||
|
||||
Notification Originator
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/docs/hlapi/v1arch/asyncore/agent/ntforg/notification
|
||||
|
||||
Transport configuration
|
||||
+++++++++++++++++++++++
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.v1arch.asyncore.UdpTransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.v1arch.asyncore.Udp6TransportTarget
|
||||
:members: setLocalAddress
|
||||
|
||||
High-level v1arch SNMP Dispatcher
|
||||
---------------------------------
|
||||
|
||||
SNMP Dispatcher is a stateful object representing asynchronous
|
||||
I/O event loop and also holding some caches. Calls to `v1arch`
|
||||
always require consume SNMP Dispatcher object on input.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.v1arch.SnmpDispatcher()
|
||||
|
||||
High-level v1arch auth
|
||||
----------------------
|
||||
|
||||
Calls to `v1arch` API require SNMP authentication object on input.
|
||||
|
||||
Community-based
|
||||
+++++++++++++++
|
||||
|
||||
Security Parameters object is Security Model specific. The
|
||||
:py:class:`~pysnmp.hlapi.v1arch.CommunityData`
|
||||
class is used for configuring Community-Based Security Model of SNMPv1/SNMPv2c.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autoclass:: pysnmp.hlapi.v1arch.CommunityData(communityName, mpModel=1)
|
||||
|
||||
.. _mib-services:
|
||||
|
||||
|
@ -313,11 +436,25 @@ states in form of values. Those values each belong to one
|
|||
of SNMP types (:RFC:`1902#section-2`) which, in turn, are based
|
||||
on `ASN.1 <https://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One>`_
|
||||
data description language. PySNMP types are derived from
|
||||
`Python ASN.1 types <http://pyasn1.sf.net>`_ implementation.
|
||||
`Python ASN.1 types <http://snmplabs.com/pyasn1/>`_ implementation.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. _null:
|
||||
|
||||
Null type
|
||||
+++++++++
|
||||
|
||||
.. autoclass:: pysnmp.proto.rfc1902.Null(initializer)
|
||||
:members:
|
||||
|
||||
.. note::
|
||||
|
||||
The `NULL` type actually belongs to the base ASN.1 types. It is not defined
|
||||
in :RFC:`1902#section-2` as an SNMP type. The `Null` type is exposed through
|
||||
`rfc1902` module just for convenience.
|
||||
|
||||
.. _integer32:
|
||||
|
||||
Integer32 type
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
TRAP/INFORM notification
|
||||
========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.asyncore.sendNotification
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
GETBULK command
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.asyncore.bulkCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
GET command
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.asyncore.getCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
GETNEXT command
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.asyncore.nextCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
SET command
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.asyncore.setCmd
|
|
@ -5,4 +5,4 @@ TRAP/INFORM notification
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncio.sendNotification
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.sendNotification
|
|
@ -5,4 +5,4 @@ GETBULK command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.twisted.bulkCmd
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.bulkCmd
|
|
@ -5,4 +5,4 @@ GET command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncio.getCmd
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.getCmd
|
|
@ -5,4 +5,4 @@ GETNEXT command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.twisted.nextCmd
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.nextCmd
|
|
@ -5,4 +5,4 @@ SET command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.twisted.setCmd
|
||||
.. autofunction:: pysnmp.hlapi.v1arch.setCmd
|
|
@ -5,4 +5,4 @@ TRAP/INFORM notification
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncore.sendNotification
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncio.sendNotification
|
|
@ -5,4 +5,4 @@ GETBULK command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncore.bulkCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncio.bulkCmd
|
|
@ -5,4 +5,4 @@ GET command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncore.getCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncio.getCmd
|
|
@ -5,4 +5,4 @@ GETNEXT command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncio.nextCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncio.nextCmd
|
|
@ -5,4 +5,4 @@ SET command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncio.setCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncio.setCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
TRAP/INFORM notification
|
||||
========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncore.sendNotification
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
GETBULK command
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncore.bulkCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
GET command
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncore.getCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
GETNEXT command
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncore.nextCmd
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
SET command
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.asyncore.setCmd
|
|
@ -5,4 +5,4 @@ TRAP/INFORM notification
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.twisted.sendNotification
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.twisted.sendNotification
|
|
@ -5,4 +5,4 @@ GETBULK command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncio.bulkCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.twisted.bulkCmd
|
|
@ -5,4 +5,4 @@ GET command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.twisted.getCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.twisted.getCmd
|
|
@ -5,4 +5,4 @@ GETNEXT command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncore.nextCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.twisted.nextCmd
|
|
@ -5,4 +5,4 @@ SET command
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
.. autofunction:: pysnmp.hlapi.asyncore.setCmd
|
||||
.. autofunction:: pysnmp.hlapi.v3arch.twisted.setCmd
|
|
@ -9,7 +9,7 @@ We can look at PySNMP's internal structure from the view point of
|
|||
SNMP protocol evolution. SNMP was evolving for many years from
|
||||
a relatively simple way to structure and retrieve data (SNMPv1/v2c)
|
||||
all the way to extensible and modularized framework that supports
|
||||
strong crypto out-of-the-box (SNMPv3).
|
||||
strong SNMPv3 crypto (with optional pysnmpcrypto package).
|
||||
|
||||
In the order from most ancient SNMP services to the most current ones,
|
||||
what follows are different layers of PySNMP APIs:
|
||||
|
|
|
@ -14,7 +14,7 @@ Creating SNMP Engine
|
|||
--------------------
|
||||
|
||||
SNMP engine is a central, umbrella object in PySNMP. All PySNMP
|
||||
opetations involve :py:class:`~pysnmp.hlapi.SnmpEngine` class
|
||||
operations involve :py:class:`~pysnmp.hlapi.SnmpEngine` class
|
||||
instance. PySNMP app can run multiple independent SNMP engines each
|
||||
guided by its own *SnmpEngine* object.
|
||||
|
||||
|
@ -100,7 +100,7 @@ Setting transport and target
|
|||
|
||||
PySNMP supports UDP-over-IPv4 and UDP-over-IPv6 network transports.
|
||||
In this example we will query
|
||||
`public SNMP Simulator <http://snmpsim.sourceforge.net/public-snmp-simulator.html>`_
|
||||
`public SNMP Simulator <http://snmplabs.com/snmpsim/public-snmp-simulator.html>`_
|
||||
available over IPv4 on the Internet at *demo.snmplabs.com*. Transport
|
||||
configuration is passed to SNMP LCD in form of properly initialized
|
||||
:py:class:`~pysnmp.hlapi.UdpTransportTarget` or
|
||||
|
@ -126,7 +126,7 @@ objects representing completely different instances of hardware
|
|||
or software being managed. This is where SNMP context could
|
||||
be used.
|
||||
|
||||
To indicate SNMP context at high-level API a preperly initialized
|
||||
To indicate SNMP context at high-level API a properly initialized
|
||||
:py:class:`~pysnmp.hlapi.ContextData` object should be used.
|
||||
For this example we will use the 'empty' context (default).
|
||||
|
||||
|
@ -242,11 +242,18 @@ in `SNMPv2-MIB <http://mibs.snmplabs.com/asn1/SNMPv2-MIB>`_ module.
|
|||
By default PySNMP will search your local filesystem for ASN.1 MIB files
|
||||
you refer to. It can also be configured to automatically download
|
||||
them from remote hosts, as
|
||||
:doc:`shown </examples/hlapi/asyncore/sync/manager/cmdgen/mib-tweaks>`
|
||||
:doc:`shown </examples/hlapi/v3arch/asyncore/sync/manager/cmdgen/mib-tweaks>`
|
||||
in the examples. We maintain a
|
||||
`collection <http://mibs.snmplabs.com/asn1/>`_ of ASN.1 MIB modules
|
||||
that you can use in your SNMP projects.
|
||||
|
||||
.. note::
|
||||
|
||||
An "ASN.1 MIB" is a plain-text description of identifiers and
|
||||
types. It is the common format that is distributed by manufacturers
|
||||
to describe their SNMP services, and is the same format used by
|
||||
Perl's Net::SNMP and almost all SNMP tools.
|
||||
|
||||
Reading scalar value
|
||||
--------------------
|
||||
|
||||
|
@ -557,7 +564,7 @@ well as for agent-to-manager.
|
|||
... NotificationType(ObjectIdentity('IF-MIB', 'linkUp'), instanceIndex=(123,))
|
||||
... )
|
||||
>>> next(g)
|
||||
(None, 0, 0, [ObjectType(ObjectIdentity('1.3.6.1.2.1.1.3.0'), TimeTicks(0)), ObjectType(ObjectIdentity('1.3.6.1.6.3.1.1.4.1.0'), ObjectIdentity('1.3.6.1.6.3.1.1.5.4')), ObjectType(ObjectName('1.3.6.1.2.1.2.2.1.1.123'), Null()), ObjectType(ObjectIdentity('1.3.6.1.2.1.2.2.1.7.123'), Null()), ObjectType(ObjectIdentity('1.3.6.1.2.1.2.2.1.8.123'), Null())])
|
||||
(None, 0, 0, [ObjectType(ObjectIdentity('1.3.6.1.2.1.1.3.0'), TimeTicks(0)), ObjectType(ObjectIdentity('1.3.6.1.6.3.1.1.4.1.0'), ObjectIdentity('1.3.6.1.6.3.1.1.5.4')), ObjectType(ObjectName('1.3.6.1.2.1.2.2.1.1.123'), Null('')), ObjectType(ObjectIdentity('1.3.6.1.2.1.2.2.1.7.123'), Null('')), ObjectType(ObjectIdentity('1.3.6.1.2.1.2.2.1.8.123'), Null(''))])
|
||||
|
||||
In the latter example you can see MIB objects (ifIndex, ifAdminStatus,
|
||||
ifOperStatus) being automatically expanded from IF-MIB::linkUp notification.
|
||||
|
|
|
@ -98,7 +98,7 @@ SNMP-specific subtypes of those base ASN.1 types are:
|
|||
In addition to these scalar types, SNMP defines a way to collect them
|
||||
into ordered arrays. From these arrays 2-d tables could be built.
|
||||
|
||||
PySNMP relies on the `PyASN1 <http://pyasn1.sf.net/>`_ package for
|
||||
PySNMP relies on the `PyASN1 <http://snmplabs.com/pyasn1/>`_ package for
|
||||
modeling all SNMP types. With PyASN1, instances of ASN.1 types are
|
||||
represented by Python objects that look like either a string or an
|
||||
integer.
|
||||
|
@ -227,9 +227,9 @@ engine loads those modules at runtime on demand. PySNMP MIB modules
|
|||
are universal -- the same module can be consumed by both managed and
|
||||
managing entities.
|
||||
|
||||
MIB convertion is performed automatically by PySNMP, but technically,
|
||||
MIB conversion is performed automatically by PySNMP, but technically,
|
||||
it is handled by PySNMP sister project called
|
||||
`PySMI <http://pysmi.sf.net>`_. However you can also perform said
|
||||
`PySMI <http://snmplabs.com/pysmi/>`_. However you can also perform said
|
||||
conversion by hand with PySMI's *mibdump.py* tool.
|
||||
|
||||
Protocol operations
|
||||
|
|
|
@ -86,14 +86,14 @@ Current and future uses
|
|||
-----------------------
|
||||
|
||||
As for current SNMP deployment, its virtually impossible to estimate
|
||||
how many SNMP-enabled devices run on the modern Internet. One can
|
||||
possibly argue that SNMP monitors the all the Internet nowdays.
|
||||
how many SNMP-enabled devices run on the modern Internet today.
|
||||
For example, every home router and most of the desktop printers have
|
||||
embedded SNMP agent inside.
|
||||
|
||||
You may found SNMP useful for your home network monitoring or
|
||||
management needs. For instance you could easily setup an open source
|
||||
network monitoring application to watch, collect and graph bandwidth
|
||||
utilization at your Wi-Fi router for you home network (that helps
|
||||
spotting bottlenecks).
|
||||
Expanding on that, you may found SNMP useful for your home network monitoring.
|
||||
For instance you could easily setup an open source network monitoring
|
||||
application to watch, collect and graph bandwidth utilization of your
|
||||
home Wi-Fi router.
|
||||
|
||||
A significant innovation might be coming in the following years. And that
|
||||
is Internet of Things. All those small and low-power gadgets need to
|
||||
|
@ -101,5 +101,5 @@ be monitored and managed. And that may bring new life to the SNMP
|
|||
technology. Almost three decades ago SNMP was designed for heavily
|
||||
resource-constrained computers of that time. Later on the computers
|
||||
grew in power and resources. But now we are back to building a massive
|
||||
amount of low-power computers for "things" and original SNMP lightweightness
|
||||
can serve us again!
|
||||
amount of low-power computers for "things" where original lightweight
|
||||
and well-understood SNMP can serve us again!
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
Documentation
|
||||
=============
|
||||
Overview
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
|
|
@ -5,9 +5,10 @@ Download PySNMP
|
|||
:maxdepth: 2
|
||||
|
||||
The PySNMP software is provided under terms and conditions of BSD-style
|
||||
license, and can be freely downloaded from Source Forge
|
||||
`download servers <http://sourceforge.net/projects/pysnmp/files/>`_ or
|
||||
`PyPI <http://pypi.python.org/pypi/pysnmp/>`_.
|
||||
license, and can be freely downloaded from
|
||||
`PyPI <https://pypi.org/project/pysnmp/>`_ or
|
||||
GitHub (`master branch <https://github.com/etingof/pysnmp/archive/master.zip>`_).
|
||||
|
||||
|
||||
Besides official releases, it's advisable to try the cutting-edge
|
||||
development code that could be taken from PySNMP
|
||||
|
@ -29,7 +30,7 @@ or
|
|||
|
||||
In case you do not have the easy_install command on your system but still
|
||||
would like to use the on-line package installation method, please install
|
||||
`setuptools <http://pypi.python.org/pypi/setuptools>`_ package by
|
||||
`setuptools <https://pypi.org/project/setuptools/>`_ package by
|
||||
downloading and running `ez_setup.pz <https://bootstrap.pypa.io/ez_setup.py>`_ bootstrap:
|
||||
|
||||
.. code-block:: bash
|
||||
|
@ -41,20 +42,17 @@ In case you are installing PySNMP on an off-line system, the following
|
|||
packages need to be downloaded and installed for PySNMP to become
|
||||
operational:
|
||||
|
||||
* `PyASN1 <https://pypi.python.org/pypi/pyasn1>`_,
|
||||
used for handling ASN.1 objects
|
||||
* `PySNMP <https://pypi.python.org/pypi/pysnmp/>`_,
|
||||
* `pysnmp <https://pypi.org/project/pysnmp/>`_,
|
||||
SNMP engine implementation
|
||||
|
||||
Optional, but recommended:
|
||||
|
||||
* `PyCryptodome <https://pypi.python.org/pypi/pycryptodome/>`_,
|
||||
used by SNMPv3 crypto features (Windows users need
|
||||
`precompiled version <http://www.voidspace.org.uk/python/modules.shtml>`_)
|
||||
* `PySMI <https://pypi.python.org/pypi/pysmi/>`_ for automatic
|
||||
* `pyasn1 <https://pypi.org/project/pyasn1/>`_,
|
||||
used for handling ASN.1 objects
|
||||
* `pysmi <https://pypi.org/project/pysmi/>`_ for automatic
|
||||
MIB download and compilation. That helps visualizing more SNMP objects
|
||||
* `Ply <https://pypi.python.org/pypi/ply/>`_, parser generator
|
||||
required by PySMI
|
||||
|
||||
Optional:
|
||||
|
||||
* `pysnmpcrypto <https://pypi.org/project/pysnmpcrypto/>`_,
|
||||
for strong SNMPv3 crypto support
|
||||
|
||||
The installation procedure for all the above packages is as follows
|
||||
(on UNIX-based systems):
|
||||
|
@ -67,6 +65,6 @@ The installation procedure for all the above packages is as follows
|
|||
# cd ..
|
||||
# rm -rf package-X.X.X
|
||||
|
||||
In case of any issues, please `let us know <http://pysnmp.sourceforge.net/contact.html>`_ so we could try to help out.
|
||||
In case of any issues, please open a `GitHub issue <https://github.com/etingof/pysnmp/issues/new>`_ so we could try to help out.
|
||||
|
||||
|
||||
|
|
|
@ -5,55 +5,86 @@ Example scripts
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
SNMP is not really simple (PySNMP implementation takes over 15K lines of
|
||||
Python code), but PySNMP tries to isolate the complexities and let you
|
||||
perform typical SNMP operations in a quick and intuitive way.
|
||||
SNMP is not simple (PySNMP implementation takes over 15K lines of
|
||||
Python code), but PySNMP tries to hide the complexities and let you
|
||||
carry out typical SNMP operations in a quick and intuitive way.
|
||||
|
||||
PySNMP offers three groups of programming interfaces to deal with
|
||||
SNMP protocol. In the order from most consice to most detailed those
|
||||
APIs follow.
|
||||
PySNMP offers high and low-level programming interfaces to deal with
|
||||
SNMP protocol.
|
||||
|
||||
The other dimension of differences in the PySNMP APIs is that there are
|
||||
two different SNMP implementations - the initial architecture
|
||||
(`RFC1901 <https://tools.ietf.org/html/rfc1901>`_ ..
|
||||
`RFC1905 <https://tools.ietf.org/html/rfc1905>`_) also known as SNMP v1 architecture
|
||||
and the redesigned variant (`RFC3413 <https://tools.ietf.org/html/rfc3413>`_
|
||||
and others) -- SNMPv3 architecture.
|
||||
|
||||
.. note::
|
||||
|
||||
The SNMP v1 architecture supports SNMP protocol versions 1 and 2c,
|
||||
while SNMP v3 architecture supports versions 1, 2c and 3. Whatever
|
||||
new amendments to the SNMP protocol may come up in the future, they
|
||||
will be implemented within the v3 model.
|
||||
|
||||
High-level SNMP
|
||||
---------------
|
||||
|
||||
The so called high-level API (hlapi) is designed to be simple, concise and
|
||||
suitable for the most frequent operations. For that matter only
|
||||
Command Generator and Notification Originator Applications are currently
|
||||
The high-level API (`hlapi`) is designed to be simple, concise and
|
||||
suitable for the most typical client-side operations. For that matter,
|
||||
only Command Generator and Notification Originator Applications are
|
||||
wrapped into a nearly one-line Python expression.
|
||||
|
||||
It comes in several flavours: one synchronous and a bunch of bindings to
|
||||
popular asynchronous I/O frameworks. Those varieties of APIs bring
|
||||
subtile differences, mostly to better match particular I/O framework
|
||||
customs. Unless you have a vary specific task, one of high-level APIs might
|
||||
solve your SNMP needs.
|
||||
The `hlapi` interfaces come in several flavours: one synchronous
|
||||
and a bunch of asynchronous, adapted to work withing the event loops
|
||||
of popular asynchronous I/O frameworks.
|
||||
|
||||
The primary reason for maintaining high-level API over both `v1arch` and
|
||||
`v3arch` is performance - `v3arch` machinery is much more functional and complicated
|
||||
internally, that translates to being heavier on resources and therefore slower.
|
||||
|
||||
The v3 architecture
|
||||
+++++++++++++++++++
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/asyncore/sync/contents
|
||||
/examples/hlapi/v3arch/asyncore/sync/contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/asyncore/contents
|
||||
/examples/hlapi/v3arch/asyncore/contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/asyncio/contents
|
||||
/examples/hlapi/v3arch/asyncio/contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/trollius/contents
|
||||
/examples/hlapi/v3arch/trollius/contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/twisted/contents
|
||||
/examples/hlapi/v3arch/twisted/contents
|
||||
|
||||
Native SNMP API
|
||||
---------------
|
||||
The v1 architecture
|
||||
+++++++++++++++++++
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/v1arch/asyncore/sync/contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
/examples/hlapi/v1arch/asyncore/contents
|
||||
|
||||
Low-level v3 architecture
|
||||
-------------------------
|
||||
|
||||
Complete implementation of all official Standard SNMP Applications. It
|
||||
should let you implement any SNMP operation defined in the standard
|
||||
|
@ -70,8 +101,8 @@ framework being used.
|
|||
/examples/v3arch/trollius/contents
|
||||
/examples/v3arch/twisted/contents
|
||||
|
||||
Packet-level SNMP
|
||||
-----------------
|
||||
Low-level v1 architecture
|
||||
-------------------------
|
||||
|
||||
In cases where performance is your top priority and you only need to
|
||||
work with SNMP v1 and v2c systems and you do not mind writing much
|
||||
|
@ -116,15 +147,14 @@ Notification Receiver
|
|||
|
||||
/examples/v1arch/asyncore/manager/ntfrcv/transport-tweaks
|
||||
|
||||
Low-level MIB access
|
||||
--------------------
|
||||
Low-level SMI/MIB
|
||||
-----------------
|
||||
|
||||
.. toctree::
|
||||
|
||||
/examples/smi/manager/browsing-mib-tree
|
||||
/examples/smi/agent/implementing-mib-objects
|
||||
|
||||
|
||||
Using these examples
|
||||
--------------------
|
||||
|
||||
|
@ -136,7 +166,7 @@ easy_install: ::
|
|||
|
||||
There's a public, multilingual SNMP Command Responder and Notification
|
||||
Receiver configured at
|
||||
`demo.snmplabs.com <http://snmpsim.sourceforge.net/public-snmp-simulator.html>`_ to let you run PySNMP examples scripts in a cut&paste fashion. If you
|
||||
`demo.snmplabs.com <http://snmplabs.com/snmpsim/public-snmp-simulator.html>`_ to let you run PySNMP examples scripts in a cut&paste fashion. If you
|
||||
wish to use your own SNMP Agent with these scripts, make sure to either
|
||||
configure your local snmpd and/or snmptrapd or use a valid address and
|
||||
SNMP credentials of your SNMP Agent in the examples to let them work.
|
||||
|
@ -156,7 +186,7 @@ following snippet of code at the beginning of your application:
|
|||
from pysnmp import debug
|
||||
|
||||
# use specific flags or 'all' for full debugging
|
||||
debug.setLogger(debug.Debug('dsp', 'msgproc', 'secmode'))
|
||||
debug.setLogger(debug.Debug('dsp', 'msgproc', 'secmod'))
|
||||
|
||||
Then run your app and watch stderr. The Debug initializer enables debugging
|
||||
for a particular PySNMP subsystem, 'all' enables full debugging. More
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Notification Originator
|
||||
--------------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/agent/ntforg/multiple-notifications-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/agent/ntforg/multiple-notifications-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/agent/ntforg/multiple-notifications-at-once.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/agent/ntforg/default-v1-trap.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Command Generator
|
||||
--------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/manager/cmdgen/multiple-concurrent-queries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/manager/cmdgen/multiple-concurrent-queries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/manager/cmdgen/multiple-concurrent-queries.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/manager/cmdgen/multiple-sequential-queries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/manager/cmdgen/multiple-sequential-queries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/manager/cmdgen/multiple-sequential-queries.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Various SNMP versions
|
||||
----------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/manager/cmdgen/v1-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/manager/cmdgen/v1-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/manager/cmdgen/v1-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/manager/cmdgen/getbulk-to-eom.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Walking operations
|
||||
------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncio/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncio/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncio/manager/cmdgen/getbulk-to-eom.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,40 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Notification Originator
|
||||
--------------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/agent/ntforg/multiple-traps-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/multiple-traps-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/multiple-traps-at-once.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/agent/ntforg/multiple-informs-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/multiple-informs-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/multiple-informs-at-once.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/agent/ntforg/running-multiple-snmp-engines-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/running-multiple-snmp-engines-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/running-multiple-snmp-engines-at-once.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/agent/ntforg/default-v1-trap.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,40 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Command Generator
|
||||
--------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-mibs-from-multiple-agents-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-mibs-from-multiple-agents-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/pull-mibs-from-multiple-agents-at-once.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/query-multiple-snmp-engines.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/query-multiple-snmp-engines.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/query-multiple-snmp-engines.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/multiple-concurrent-queries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/multiple-concurrent-queries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/multiple-concurrent-queries.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Various SNMP versions
|
||||
----------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/v2c-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/v2c-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/v2c-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,18 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Walking operations
|
||||
------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/manager/cmdgen/pull-whole-mib.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,28 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Notification Originator
|
||||
--------------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/custom-contextname.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/custom-contextname.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/custom-contextname.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/custom-contextengineid.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/custom-contextengineid.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/custom-contextengineid.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,49 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v3-inform.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v3-inform.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/v3-inform.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/default-v1-trap.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Evaluating NOTIFICATION-TYPE
|
||||
----------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/send-notification-with-additional-varbinds.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/send-notification-with-additional-varbinds.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/send-notification-with-additional-varbinds.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
SNMPv1 TRAP variants
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/custom-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/custom-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/custom-v1-trap.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/agent/ntforg/default-v1-trap.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,84 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Command Generator
|
||||
--------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/multiple-get-calls.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/multiple-get-calls.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/multiple-get-calls.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-contextengineid.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-contextengineid.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-contextengineid.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-contextengineid-and-contextname.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-contextengineid-and-contextname.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-contextengineid-and-contextname.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-v3-security-name.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-v3-security-name.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-v3-security-name.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/specific-v3-engine-id.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/specific-v3-engine-id.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/specific-v3-engine-id.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,48 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
MIB tweaks
|
||||
----------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,30 +0,0 @@
|
|||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Modifying variables
|
||||
-------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library-reference </docs/api-reference>`.
|
|
@ -1,72 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
SNMP versions
|
||||
-------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/v1-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/v1-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/v1-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/v2c-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/v2c-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/v2c-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-md5-des.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-md5-des.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-md5-des.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-md5-none.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-md5-none.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-md5-none.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-none-none.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-none-none.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-none-none.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-sha-aes128.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-sha-aes128.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/usm-sha-aes128.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Transport tweaks
|
||||
----------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-timeout-and-retries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-timeout-and-retries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/custom-timeout-and-retries.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/fetch-variables-over-ipv6.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/fetch-variables-over-ipv6.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/fetch-variables-over-ipv6.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,18 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Walking operations
|
||||
------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/asyncore/sync/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/asyncore/sync/manager/cmdgen/pull-whole-mib.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/trollius/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/trollius/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/trollius/agent/ntforg/default-v1-trap.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Various SNMP versions
|
||||
----------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/trollius/manager/cmdgen/v1-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/trollius/manager/cmdgen/v1-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/trollius/manager/cmdgen/v1-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/trollius/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/trollius/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/trollius/manager/cmdgen/getbulk-to-eom.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Walking operations
|
||||
------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/trollius/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/trollius/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/trollius/manager/cmdgen/getbulk-to-eom.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Notification Originator
|
||||
--------------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/agent/ntforg/multiple-notifications-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/agent/ntforg/multiple-notifications-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/agent/ntforg/multiple-notifications-at-once.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,27 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/agent/ntforg/default-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/agent/ntforg/default-v1-trap.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/agent/ntforg/v2c-trap-inline-callbacks.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/agent/ntforg/v2c-trap-inline-callbacks.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/agent/ntforg/v2c-trap-inline-callbacks.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Command Generator
|
||||
--------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/multiple-concurrent-queries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/multiple-concurrent-queries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/multiple-concurrent-queries.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/pull-mibs-from-multiple-agents-at-once.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/pull-mibs-from-multiple-agents-at-once.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/pull-mibs-from-multiple-agents-at-once.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,29 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Various SNMP versions
|
||||
----------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/v1-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/v1-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/v1-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/getbulk-to-eom.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,17 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Transport tweaks
|
||||
----------------
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/custom-timeout-and-retries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/custom-timeout-and-retries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/custom-timeout-and-retries.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -1,27 +0,0 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Walking operations
|
||||
------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/getbulk-to-eom.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/getbulk-to-eom.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/twisted/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/twisted/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/twisted/manager/cmdgen/pull-whole-mib.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,7 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Notification Originator
|
||||
--------------------------------
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,49 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-inform.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-inform.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-inform.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,18 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Evaluating NOTIFICATION-TYPE
|
||||
----------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,60 @@
|
|||
|
||||
Asynchronous SNMP (asyncore, v1arch)
|
||||
====================================
|
||||
|
||||
Applications build around :mod:`asyncore` get CPU time on :mod:`socket`
|
||||
events being watched for by :mod:`select` dispatcher. User code
|
||||
lives mostly in isolated functions (or any callable objects).
|
||||
|
||||
As it is with any asynchronous I/O system, `asyncore` lets you run
|
||||
many SNMP queries in parallel and/or sequentially, interleave SNMP
|
||||
queries with other I/O operations for as long as they are managed
|
||||
within the same event loop.
|
||||
|
||||
The :mod:`pysnmp.hlapi.v1arch.asyncore` package implements `asyncore`
|
||||
binding to pysnmp's `v1arch` services.
|
||||
|
||||
In most examples approximate analogues of well known Net-SNMP snmp* tools
|
||||
command line options are shown. That may help those readers who, by chance
|
||||
are familiar with Net-SNMP tools, better understanding what example code doe
|
||||
|
||||
Here's a quick example on a simple SNMP GET by high-level API:
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/manager/cmdgen/v2c-get.py
|
||||
:start-after: options:
|
||||
:end-before: Functionally
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/manager/cmdgen/v2c-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
.. toctree::
|
||||
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/snmp-versions
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/modifying-variables
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/walking-operations
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/table-operations
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/mib-tweaks
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/transport-tweaks
|
||||
/examples/hlapi/v1arch/asyncore/manager/cmdgen/advanced-topics
|
||||
|
||||
The following code sends SNMP TRAP:
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: options:
|
||||
:end-before: Functionally
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
More examples on Notification Originator API usage follow.
|
||||
|
||||
.. toctree::
|
||||
|
||||
/examples/hlapi/v1arch/asyncore/agent/ntforg/common-notifications
|
||||
/examples/hlapi/v1arch/asyncore/agent/ntforg/evaluating-notification-type
|
||||
/examples/hlapi/v1arch/asyncore/agent/ntforg/advanced-topics
|
||||
|
||||
More sophisticated SNMP operations can still be performed with
|
||||
PySNMP via its Native API to Standard SNMP Applications.
|
|
@ -0,0 +1,39 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Command Generator
|
||||
--------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/multiple-get-calls.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/multiple-get-calls.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/multiple-get-calls.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,48 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
MIB tweaks
|
||||
----------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/enable-mib-lookup.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/enable-mib-lookup.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/enable-mib-lookup.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Modifying variables
|
||||
-------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library-reference </docs/api-reference>`.
|
|
@ -0,0 +1,30 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Various SNMP versions
|
||||
----------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/manager/cmdgen/v2c-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/manager/cmdgen/v2c-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/manager/cmdgen/v2c-get.py>` script.
|
||||
|
||||
.. comment
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/manager/cmdgen/pull-whole-mib.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,50 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Table operations
|
||||
----------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/get-table-object-by-index.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/get-table-object-by-index.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/get-table-object-by-index.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/get-table-object-by-multiple-indices.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/get-table-object-by-multiple-indices.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/get-table-object-by-multiple-indices.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-fetch-scalar-and-table-variables-over-ipv6.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-fetch-scalar-and-table-variables-over-ipv6.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-fetch-scalar-and-table-variables-over-ipv6.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-snmp-table.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-snmp-table.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-snmp-table.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,29 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Transport tweaks
|
||||
----------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-timeout-and-retries.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-timeout-and-retries.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-timeout-and-retries.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/fetch-variables-over-ipv6.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/fetch-variables-over-ipv6.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/fetch-variables-over-ipv6.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,18 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Walking operations
|
||||
------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-mib.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,59 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Common notifications
|
||||
--------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-inform.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-inform.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-inform.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v1-trap.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,17 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Evaluating NOTIFICATION-TYPE
|
||||
----------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/v2c-trap-with-notification-objects.py>` script.
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,74 @@
|
|||
|
||||
Synchronous SNMP (v1arch)
|
||||
=========================
|
||||
|
||||
This chapter illustrates various uses of the synchronous high-level
|
||||
programming interface to client-side SNMP entities along the lines
|
||||
of `RFC1905 <https://tools.ietf.org/html/rfc1905>`_.
|
||||
|
||||
.. note:: The following examples involve creating Python iterator,
|
||||
the next() call is used to invoke iterator just once.
|
||||
|
||||
In most examples approximate analogues of well known Net-SNMP snmp* tools
|
||||
command line options are shown. That may help those readers who, by chance
|
||||
are familiar with Net-SNMP tools, better understanding what the example
|
||||
code does.
|
||||
|
||||
Here's a quick example on a simple SNMP GET by high-level API:
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v1-get.py
|
||||
:start-after: options:
|
||||
:end-before: Functionally
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v1-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
.. note::
|
||||
|
||||
If MIB lookup is required (e.g. when :py:class:`~pysnmp.smi.rfc1902.ObjectIdentity`,
|
||||
:py:class:`~pysnmp.smi.rfc1902.ObjectType` or :py:class:`~pysnmp.smi.rfc1902.NotificationType`
|
||||
objects being used), the `lookupMib=True` should also be passed.
|
||||
|
||||
The following code performs a series of SNMP GETNEXT operations
|
||||
fetching a table of SNMP variables from SNMP Agent:
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: options:
|
||||
:end-before: Functionally
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/pull-whole-mib.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
More examples on Command Generator API usage follow.
|
||||
|
||||
.. toctree::
|
||||
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/snmp-versions
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/modifying-variables
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/walking-operations
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/table-operations
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/mib-tweaks
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/transport-tweaks
|
||||
/examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/advanced-topics
|
||||
|
||||
The following code sends SNMP TRAP:
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py
|
||||
:start-after: options:
|
||||
:end-before: Functionally
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/agent/ntforg/generic-v2c-trap.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
More examples on Notification Originator API usage follow.
|
||||
|
||||
.. toctree::
|
||||
|
||||
/examples/hlapi/v1arch/asyncore/sync/agent/ntforg/common-notifications
|
||||
/examples/hlapi/v1arch/asyncore/sync/agent/ntforg/evaluating-notification-type
|
||||
|
||||
More specific SNMP operations can still be performed with PySNMP via
|
||||
its Native API to Standard SNMP Applications.
|
|
@ -0,0 +1,39 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Advanced Command Generator
|
||||
--------------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/getbulk-limit-number-of-packets.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/multiple-get-calls.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/multiple-get-calls.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/multiple-get-calls.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/query-agents-from-multuple-threads-over-ipv4-and-ipv6.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,48 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
MIB tweaks
|
||||
----------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/enable-mib-lookup.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/enable-mib-lookup.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/enable-mib-lookup.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/preload-pysnmp-mibs.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-asn1-mib-search-path.py>` script.
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/custom-pysnmp-mibs-search-path.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
Modifying variables
|
||||
-------------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/coerce-set-value-to-mib-spec.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/set-multiple-scalar-values.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library-reference </docs/api-reference>`.
|
|
@ -0,0 +1,29 @@
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
SNMP versions
|
||||
-------------
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v1-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v1-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v1-get.py>` script.
|
||||
|
||||
|
||||
.. include:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v2c-get.py
|
||||
:start-after: """
|
||||
:end-before: """#
|
||||
|
||||
.. literalinclude:: /../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v2c-get.py
|
||||
:start-after: """#
|
||||
:language: python
|
||||
|
||||
:download:`Download</../../examples/hlapi/v1arch/asyncore/sync/manager/cmdgen/v2c-get.py>` script.
|
||||
|
||||
|
||||
See also: :doc:`library reference </docs/api-reference>`.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue