snmpsim-lextudio


Namesnmpsim-lextudio JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/lextudio/snmpsim
SummarySNMP Simulator is a tool that acts as multitude of SNMP Agents built into real physical devices, from SNMP Manager's point of view. Simulator builds and uses a database of physical devices' SNMP footprints to respond like their original counterparts do.
upload_time2024-03-30 05:13:28
maintainerNone
docs_urlNone
authorIlya Etingof
requires_python<4.0,>=3.8
licenseBSD-2-Clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
SNMP Simulator
--------------
[![PyPI](https://img.shields.io/pypi/v/snmpsim-lextudio.svg?maxAge=2592000)](https://pypi.org/project/snmpsim-lextudio/)
[![PyPI Downloads](https://img.shields.io/pypi/dd/snmpsim-lextudio)](https://pypi.python.org/pypi/snmpsim-lextudio/)
[![Python Versions](https://img.shields.io/pypi/pyversions/snmpsim-lextudio.svg)](https://pypi.org/project/snmpsim-lextudio/)
[![GitHub license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/lextudio/snmpsim/master/LICENSE.txt)

This is a pure-Python, open source and free implementation of SNMP agents simulator
distributed under 2-clause [BSD license](https://www.pysnmp.com/snmpsim/license.html).

Features
--------

* SNMPv1/v2c/v3 support
* SNMPv3 USM supports MD5/SHA/SHA224/SHA256/SHA384/SHA512 auth and
  DES/3DES/AES128/AES192/AES256 privacy crypto algorithms
* Runs over IPv4 and/or IPv6 transports
* Simulates many EngineID's, each with its own set of simulated objects
* Varies response based on SNMP Community, Context, source/destination addresses and ports
* Can gather and store snapshots of SNMP Agents for later simulation
* Can run simulation based on MIB files, snmpwalk and sapwalk output
* Can gather simulation data from network traffic or tcpdump snoops
* Can gather simulation data from external program invocation or a SQL database
* Can trigger SNMP TRAP/INFORMs on SET operations
* Capable to simultaneously simulate tens of thousands of Agents
* Offers REST API based [control plane](https://www.pysnmp.com/snmpsim-control-plane)
* Gathers and reports extensive activity metrics
* Pure-Python, easy to deploy and highly portable
* Can be extended by loadable Python snippets

Download
--------

SNMP simulator software is freely available for download from
[PyPI](https://pypi.org/project/snmpsim-lextudio/) and
[project site](https://www.pysnmp.com/snmpsim/download.html).

Installation
------------

Just run:

```bash
$ pip install snmpsim-lextudio
```

How to use SNMP simulator
-------------------------

Once installed, invoke `snmpsim-command-responder` and point it to a directory
with simulation data:

```
$ snmpsim-command-responder --data-dir=./data --agent-udpv4-endpoint=127.0.0.1:1024
```

Simulation data is stored in simple plaint-text files having OID|TYPE|VALUE
format:

```
$ cat ./data/public.snmprec
1.3.6.1.2.1.1.1.0|4|Linux 2.6.25.5-smp SMP Tue Jun 19 14:58:11 CDT 2007 i686
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.8072.3.2.10
1.3.6.1.2.1.1.3.0|67|233425120
1.3.6.1.2.1.2.2.1.6.2|4x|00127962f940
1.3.6.1.2.1.4.22.1.3.2.192.21.54.7|64x|c3dafe61
...
```

Simulator maps query parameters like SNMP community names, SNMPv3 contexts or
IP addresses into data files.

You can immediately generate simulation data file by querying existing SNMP agent:

```
$ snmpsim-record-commands --agent-udpv4-endpoint=demo.pysnmp.com \
    --output-file=./data/public.snmprec
SNMP version 2c, Community name: public
Querying UDP/IPv4 agent at 195.218.195.228:161
Agent response timeout: 3.00 secs, retries: 3
Sending initial GETNEXT request for 1.3.6 (stop at <end-of-mib>)....
OIDs dumped: 182, elapsed: 11.97 sec, rate: 7.00 OIDs/sec, errors: 0
```

Alternatively, you could build simulation data from a MIB file:

```
$ snmpsim-record-mibs --output-file=./data/public.snmprec \
    --mib-module=IF-MIB
# MIB module: IF-MIB, from the beginning till the end
# Starting table IF-MIB::ifTable (1.3.6.1.2.1.2.2)
# Synthesizing row #1 of table 1.3.6.1.2.1.2.2.1
...
# Finished table 1.3.6.1.2.1.2.2.1 (10 rows)
# End of IF-MIB, 177 OID(s) dumped
```

Or even sniff on the wire, recover SNMP traffic there and build simulation
data from it.

Besides static files, SNMP simulator can be configured to call its plugin modules
for simulation data. We ship plugins to interface SQL and noSQL databases, file-based
key-value stores and other sources of information.

We maintain publicly available SNMP simulator instance at 
[demo.pysnmp.com](https://www.pysnmp.com/snmpsim/public-snmp-simulator.html). You are
welcome to query it as much as you wish.

Besides stand-alone deployment described above, third-party
[SNMP Simulator control plane](https://github.com/lextudio/snmpsim-control-plane)
project offers REST API managed mass deployment of multiple `snmpsim-command-responder`
instances.

Documentation
-------------

Detailed information on SNMP simulator usage could be found at
[snmpsim site](https://www.pysnmp.com/snmpsim/).

Getting help
------------

If something does not work as expected,
[open an issue](https://github.com/lextudio/pysnmp/issues) at GitHub or
post your question [on Stack Overflow](https://stackoverflow.com/questions/ask)
or try browsing snmpsim [mailing list archives](https://sourceforge.net/p/snmpsim/mailman/snmpsim-users/).

Feedback and collaboration
--------------------------

I'm interested in bug reports, fixes, suggestions and improvements. Your
pull requests are very welcome!

Copyright (c) 2010-2019, [Ilya Etingof](mailto:etingof@gmail.com).
Copyright (c) 2022, [LeXtudio Inc.](mailto:support@lextudio.com).
All rights reserved.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/lextudio/snmpsim",
    "name": "snmpsim-lextudio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ilya Etingof",
    "author_email": "etingof@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/10/41/01ad804073011b120843f840d13bd2c1aa25c286a58d9ef1cdc9b2dd7f99/snmpsim_lextudio-1.1.0.tar.gz",
    "platform": null,
    "description": "\nSNMP Simulator\n--------------\n[![PyPI](https://img.shields.io/pypi/v/snmpsim-lextudio.svg?maxAge=2592000)](https://pypi.org/project/snmpsim-lextudio/)\n[![PyPI Downloads](https://img.shields.io/pypi/dd/snmpsim-lextudio)](https://pypi.python.org/pypi/snmpsim-lextudio/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/snmpsim-lextudio.svg)](https://pypi.org/project/snmpsim-lextudio/)\n[![GitHub license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/lextudio/snmpsim/master/LICENSE.txt)\n\nThis is a pure-Python, open source and free implementation of SNMP agents simulator\ndistributed under 2-clause [BSD license](https://www.pysnmp.com/snmpsim/license.html).\n\nFeatures\n--------\n\n* SNMPv1/v2c/v3 support\n* SNMPv3 USM supports MD5/SHA/SHA224/SHA256/SHA384/SHA512 auth and\n  DES/3DES/AES128/AES192/AES256 privacy crypto algorithms\n* Runs over IPv4 and/or IPv6 transports\n* Simulates many EngineID's, each with its own set of simulated objects\n* Varies response based on SNMP Community, Context, source/destination addresses and ports\n* Can gather and store snapshots of SNMP Agents for later simulation\n* Can run simulation based on MIB files, snmpwalk and sapwalk output\n* Can gather simulation data from network traffic or tcpdump snoops\n* Can gather simulation data from external program invocation or a SQL database\n* Can trigger SNMP TRAP/INFORMs on SET operations\n* Capable to simultaneously simulate tens of thousands of Agents\n* Offers REST API based [control plane](https://www.pysnmp.com/snmpsim-control-plane)\n* Gathers and reports extensive activity metrics\n* Pure-Python, easy to deploy and highly portable\n* Can be extended by loadable Python snippets\n\nDownload\n--------\n\nSNMP simulator software is freely available for download from\n[PyPI](https://pypi.org/project/snmpsim-lextudio/) and\n[project site](https://www.pysnmp.com/snmpsim/download.html).\n\nInstallation\n------------\n\nJust run:\n\n```bash\n$ pip install snmpsim-lextudio\n```\n\nHow to use SNMP simulator\n-------------------------\n\nOnce installed, invoke `snmpsim-command-responder` and point it to a directory\nwith simulation data:\n\n```\n$ snmpsim-command-responder --data-dir=./data --agent-udpv4-endpoint=127.0.0.1:1024\n```\n\nSimulation data is stored in simple plaint-text files having OID|TYPE|VALUE\nformat:\n\n```\n$ cat ./data/public.snmprec\n1.3.6.1.2.1.1.1.0|4|Linux 2.6.25.5-smp SMP Tue Jun 19 14:58:11 CDT 2007 i686\n1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.8072.3.2.10\n1.3.6.1.2.1.1.3.0|67|233425120\n1.3.6.1.2.1.2.2.1.6.2|4x|00127962f940\n1.3.6.1.2.1.4.22.1.3.2.192.21.54.7|64x|c3dafe61\n...\n```\n\nSimulator maps query parameters like SNMP community names, SNMPv3 contexts or\nIP addresses into data files.\n\nYou can immediately generate simulation data file by querying existing SNMP agent:\n\n```\n$ snmpsim-record-commands --agent-udpv4-endpoint=demo.pysnmp.com \\\n    --output-file=./data/public.snmprec\nSNMP version 2c, Community name: public\nQuerying UDP/IPv4 agent at 195.218.195.228:161\nAgent response timeout: 3.00 secs, retries: 3\nSending initial GETNEXT request for 1.3.6 (stop at <end-of-mib>)....\nOIDs dumped: 182, elapsed: 11.97 sec, rate: 7.00 OIDs/sec, errors: 0\n```\n\nAlternatively, you could build simulation data from a MIB file:\n\n```\n$ snmpsim-record-mibs --output-file=./data/public.snmprec \\\n    --mib-module=IF-MIB\n# MIB module: IF-MIB, from the beginning till the end\n# Starting table IF-MIB::ifTable (1.3.6.1.2.1.2.2)\n# Synthesizing row #1 of table 1.3.6.1.2.1.2.2.1\n...\n# Finished table 1.3.6.1.2.1.2.2.1 (10 rows)\n# End of IF-MIB, 177 OID(s) dumped\n```\n\nOr even sniff on the wire, recover SNMP traffic there and build simulation\ndata from it.\n\nBesides static files, SNMP simulator can be configured to call its plugin modules\nfor simulation data. We ship plugins to interface SQL and noSQL databases, file-based\nkey-value stores and other sources of information.\n\nWe maintain publicly available SNMP simulator instance at \n[demo.pysnmp.com](https://www.pysnmp.com/snmpsim/public-snmp-simulator.html). You are\nwelcome to query it as much as you wish.\n\nBesides stand-alone deployment described above, third-party\n[SNMP Simulator control plane](https://github.com/lextudio/snmpsim-control-plane)\nproject offers REST API managed mass deployment of multiple `snmpsim-command-responder`\ninstances.\n\nDocumentation\n-------------\n\nDetailed information on SNMP simulator usage could be found at\n[snmpsim site](https://www.pysnmp.com/snmpsim/).\n\nGetting help\n------------\n\nIf something does not work as expected,\n[open an issue](https://github.com/lextudio/pysnmp/issues) at GitHub or\npost your question [on Stack Overflow](https://stackoverflow.com/questions/ask)\nor try browsing snmpsim [mailing list archives](https://sourceforge.net/p/snmpsim/mailman/snmpsim-users/).\n\nFeedback and collaboration\n--------------------------\n\nI'm interested in bug reports, fixes, suggestions and improvements. Your\npull requests are very welcome!\n\nCopyright (c) 2010-2019, [Ilya Etingof](mailto:etingof@gmail.com).\nCopyright (c) 2022, [LeXtudio Inc.](mailto:support@lextudio.com).\nAll rights reserved.\n",
    "bugtrack_url": null,
    "license": "BSD-2-Clause",
    "summary": "SNMP Simulator is a tool that acts as multitude of SNMP Agents built into real physical devices, from SNMP Manager's point of view. Simulator builds and uses a database of physical devices' SNMP footprints to respond like their original counterparts do.",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "https://github.com/lextudio/snmpsim",
        "Repository": "https://github.com/lextudio/snmpsim"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "74744dc8acd10343530a5cbb14ec553c2da3d7689f70f66ab9db4714aaa8f23c",
                "md5": "7035e817aeaf7091f878fc3eeb1277e3",
                "sha256": "0d6fe597652b8c0fd517433f0c92b67ad9febbc8733f6658d2aea3b1e3d35e59"
            },
            "downloads": -1,
            "filename": "snmpsim_lextudio-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7035e817aeaf7091f878fc3eeb1277e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 225548,
            "upload_time": "2024-03-30T05:13:26",
            "upload_time_iso_8601": "2024-03-30T05:13:26.249203Z",
            "url": "https://files.pythonhosted.org/packages/74/74/4dc8acd10343530a5cbb14ec553c2da3d7689f70f66ab9db4714aaa8f23c/snmpsim_lextudio-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "104101ad804073011b120843f840d13bd2c1aa25c286a58d9ef1cdc9b2dd7f99",
                "md5": "3b89c101e3ce5b78e8d1481577751309",
                "sha256": "24eaeacac89fea434126ec3f9c8cf96ebfb27fa7a81b4d4736137c977391b281"
            },
            "downloads": -1,
            "filename": "snmpsim_lextudio-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3b89c101e3ce5b78e8d1481577751309",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 231201,
            "upload_time": "2024-03-30T05:13:28",
            "upload_time_iso_8601": "2024-03-30T05:13:28.072045Z",
            "url": "https://files.pythonhosted.org/packages/10/41/01ad804073011b120843f840d13bd2c1aa25c286a58d9ef1cdc9b2dd7f99/snmpsim_lextudio-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-30 05:13:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lextudio",
    "github_project": "snmpsim",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "snmpsim-lextudio"
}
        
Elapsed time: 0.21724s