Quantcast
Channel: sharpsnmplib Wiki & Documentation Rss Feed
Viewing all 179 articles
Browse latest View live

Updated Wiki: SNMP Device Discovery

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

When SNMP was defined and published, there was no official way to discover SNMP enabled devices in the network. This might be caused by the well known security issues of SNMP itself, as if you know there is such a device in the network, you can somehow sniff the wire to get community names. (Thus, if you are a device administrator, make sure you hide your devices if they should not be discovered.)

However, some SNMP products, such as SNMP MIB Browsers, might use an unofficial way to detect devices. Our sample, snmpdiscover, implements one common approach.

Simple Device Discovery for v1 and v2c (IPv4)

UDP allows broadcast, so if we broadcast an SNMP GET request with OID 1.3.6.1.2.1.1.1.0 using community name "public", some devices will reply with their device information. In this way we know both the device IP address and type from the replies.

Note that you should avoid using "public" as community name, as it is so well known.

Discovery for v3 (IPv4)

RFC 3414 defines a discovery process for SNMP v3. This gives us a chance to discover all v3 enabled devices in the same network by broadcasting a simple discovery request without any credentials.

As in this way the device IP address is revealed, make sure your devices don't use a common user name and passwords.

Updated Wiki: Beginners' Guide on MIB Documents

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

It is highly recommended that you buy a book such as Understanding SNMP MIBs to learn from the masters of this art.

MIB documents can be found from SNMP RFC documents, product manuals, and Internet downloads. So why do they exist and do I need them? The answer varies for each roles you play.

Device Vendors

If you are going to sell an SNMP enabled device, you need to prepare user manuals and also provide the MIB documents to your customers. Your developers have implemented management objects in the agent software, which is invisible to everyone else.

The customers can only learn how to manage the device via the MIB documents you provide.

Device Administrators

If you bought an SNMP enabled device from a vendor, make sure you grab the MIB documents and learn carefully which objects are exposed.

You can import the MIB documents to a monitor software, or write your own software to monitor the objects.

SNMP OID, Data Type, and Description

From the MIB documents you know the identifiers (OID) of the management objects, their data types, and descriptions. That information can then be put down to papers.

You can use #SNMP Library with MIB documents, as only OID is required during request construction in most cases. Of course data type is needed when performing SET operations. The descriptions help you understand the meaning of the data you get from the agent.

Updated Wiki: OCTET STRING Encoding

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

If you notice, both SNMP data type OCTET STRING and Opaque can be viewed as byte array type in .NET. Maybe you wonder why OCTET STRING is not viewed as System.String, the reason is simple. System.String does have an important property that distinguishes itself from a byte array – encoding. It seems when SNMP was designed, it does not provide a default encoding for OCTET STRING explicitly (and sometimes it is even used just like a byte array when you store MAC address bytes in it).

Therefore, a problem has been there for a long time, "which encoding should be used there if an OctetString instance comes". In very old revision of #SNMP Library, the answer was ASCII and there was no way in them to change it to Unicode or any other encodings. Note that it is recommended you use ASCII if possible.

In more recent builds of #SNMP Library you can explicitly state which encoding you prefer.

Important Methods

As a reference at first, there are new methods and properties in OctetString class you should pay attention to,
  1. The overloading constructor public OctetString(string str, Encoding encoding). You may provide a specific Encoding so that the internal bytes are what you expect after initialization.
  2. The overloading method public string ToString(Encoding encoding). According to Encoding provided, the internal bytes are decoded to a correct string.
  3. The instance property public Encoding Encoding. This is a read only property that illustrates what encoding is assigned to this OctetString instance.
  4. The static property public static Encoding DefaultEncoding. This is a property to define default encoding used for all OctetString instance if no encoding is assigned via the constructor described in item 1. The default value of this property is Encoding.ASCII.
  5. The overloading constructor public OctetString(string str). OctetString.DefaultEncoding is used to generate internal bytes from str.
  6. The overloading method public string ToString(). OctetString.Encoding is used to generate a string from internal bytes.

Scenarios

Now let’s review a few common scenarios and discuss what you may do to customize OctetString’s behaviors.

Default ASCII Way

If you don’t touch the properties and methods related to Encoding, then you are in a pure ASCII way. It should behavior the same as old releases of #SNMP (0.5, 1.0 and 1.1).

Default Encoding.* Way

If you change DefaultEncoding to any other Encoding types, and don’t touch the properties and methods related to Encoding later, you are in a pure Encoding.* way.

Basic Hybrid Way

If some of your devices require ASCII while others require Unicode (aka UTF-16), then you may find it a little bit difficult. My suggestions are,

Whenever you need to construct an OctetString object, specify its encoding explicitly. Whenever you need to use an OctetString object, check its Encoding before calling ToString(). If the Encoding is not correct, call ToString(Encoding) explicitly.

Last Word

I understand the current implementation is not perfect yet. When #SNMP parses incoming packets, it always use DefaultEncoding to construct OctetString objects from raw bytes. This is not optimal for hybrid cases. Hope a better way can be found soon.

Updated Wiki: 600008

$
0
0
Documentation has moved to the new site. This page won't be updated any more.


KB 600008 How to troubleshoot problems

Summary

A general approach is like this,
  1. Does this problem reproducible? If it is reproducible, move on.
  2. Do other libraries behave the same? Please test with Net-SNMP which is also open source. If not, move on.
  3. Does the latest build in the repository work? If not, move on.
  4. Is this a known issue? If not, move on.
  5. Prepare an error report (with all information you can think of that is related) and extra information
    • SNMP packets related: please provide network packet captures if possible.
    • .NET exceptions: please provide stack trace information.
    • Compiler related: please provide MIB documents that trigger the error.
  6. Then open a bug report here with the log file attached.

More Information

How to capture network packets

Use Wireshark or Network Monitor you can capture network traffic.

Note that network capture can contain confidential information. Before sharing it with others, make sure you strip out such critical data.

System.NET tracing

Also note that System.Net tracing is another useful way to log network traffic.

Note that tracing log can contain confidential information. Before sharing it with others, make sure you strip out such critical data.

References

N/A

Updated Wiki: Samples

$
0
0
Documentation has moved to the new site. This page won't be updated any more.


The samples can be used to carry out basic SNMP operations. So if you are going to learn the basics, you should follow them.

Pairing the SNMP test agent and the manager side tools

Run snmpd.exe as administrator and click "Start listening" button without modifying any settings. This allows the test SNMP agent to hook to port 161 on all network interfaces (IP v4 and v6).

Information about the agent builtin community names and user accounts can be found in KB600002.

Then the command line utilities can be run at command prompt, where typical commands are documented in KB600001. The agent will respond with correct packets.

Pairing the SNMP test agent and the trap listener tool

Run snmptrapd.exe at command prompt as administrator. It will hook to port 162 and monitor incoming trap messages.

Click the "Sent Trap v1", "Send Trap v2", "Send Inform v2" and "Send Inform v3" buttons on the test agent panel. See those messages are captured by the trap listener tool.

Above setup assumes that all tools are running on the same machine. If you want to test out agent and manager sides each on a dedicate machine, make sure you open the firewall ports and allow SNMP packets to go through.

Updated Wiki: MIB Compiler Pro

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

#SNMP Suite ships with a few samples to demonstrate how to utilize #SNMP Library to build SNMP applications. Some of the samples are released under MIT/X11 license, such as the MIB Compiler and MIB Browser. They only provide limited functionality. Users ask for more advanced editions, and here they come.

The Pro Edition of #SNMP MIB Compiler and Browser, however, are designed and developed to include advanced features that target SNMP professionals and enterprises. They also come with consulting and support services.

#SNMP MIB Compiler Pro

Currently #SNMP MIB Compiler Pro is in private beta testing phase. Its features include but not limited to

Rich Metadata Extraction and Accurate Error Reporting

  • Type information extraction so that for every objects we know their basic types (Counter32, OCTET STRING, and so on), and also know about the intermediate types (such as DisplayString). As constraints can be added at each level, those constraints should be extracted too, so as to assist data validation.
  • Cross module dependency resolution, type resolution, and entity validation. They can provide more accurate error reporting and help identify broken MIB documents.
  • MIB to C# compilation, which is similar to Net-SNMP's mib2c utility (who compiles MIB documents to C code). The output C# source files can be used to link with snmpd in order to form a simulator for those MIB documents.

Visual Studio Style IDE Panels

The compiler is designed to be similar to Visual Studio, with dock panels that show various information to assist MIB document authoring.
vs2012.png

Solution Explorer

MIB documents can be loaded here. Last used solution will be automatically loaded at startup.
solution_explorer.png

Module List

Loaded and pending modules are displayed in this panel, so it is obvious which modules are not compiled.
module_list.png

Error List

Compilation errors and warnings are displayed so it is easy to identify issues in documents.
error_list.png

Object Tree

Objects from loaded modules are displayed so the whole object tree is one click away.
object_tree.png

Purchase

The compiler and the MIB compiler library can be ordered from Purchase page. For more information, please write to support@lextm.com.

After purchase, please follow this link to Activate the product.

Licensing Model for #SNMP MIB Compiler Pro

Lex Li issues a unique license file for each ordered software license. The user then applies the license file to the installed software. Once the software license is applied, the licensed software product displays 'Registered' in title. Each license entitles the user to install and use the licensed software on only one computer, i.e., each license file can be applied to at most one copy of the installed software.

Floating license is not supported. Due to the nature of the software, the software does not contain any functions for floating license checking. Many users install the software on their laptops and then use it somewhere in the field. It might be inconvenient for them if the software was trying to connect to some kind of licensing server in order to determine if it is eligible to start-up or not, depending on the current number of other users.

Without signing an appropriate software licensing agreement with Lex Li it is not permitted to bundle any purchased products and license files with your products and ship them to your customers or end-users.

The MIB documents authored or the C# source files generated are the intellectual properties of the licensees and Lex Li does not request any permission on them.

Evaluation License

#SNMP MIB Compiler Pro is available for a 15-day evaluation, so that potential customers may try using the software before ordering the regular software licenses. Under the 15-day evaluation license the user should determine the suitability of the evaluated software product, its available functions, performance capabilities and similar features. Under the 15-day evaluation license the user is not permitted to use the evaluated product for any kind of commercial purposes. More specifically, with the product running under the evaluation license it is not permitted to test or debug equipment for commercial purposes, it is not permitted to provide commercial training services, nor any similar commercial activity. Such activities can be performed only after obtaining the licensed version of the software.

If the user determines the suitability of the evaluated software product, the regular software license should be obtained. Otherwise, the user must uninstall and stop using the evaluation software.

Support Contracts

There are several support contracts available.

Maintenance Support

No product is defect free. If you happen to meet a product defect, a support case can be opened and the issue will be investigated and resolved. Such cases are charged at a per-case basis. Maintenance support is primarily email based.

Note that currently purchases of this product come with maintenance support of several months for free as bonus. Try it or buy it!

Advisory Support

The real world scenarios might require customization or consulting, so advisory support cases can be opened. Such cases are charged at a hourly basis.

Updated Wiki: CompilerProReview

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

The Trial Edition can be requested here, and is packaged up with #SNMP Library 8.5 and the latest SharpSnmpPro.Mib.

To test it out, the default test MIB documents can be found at GitHub. It can be cloned to a local folder, such as D:\sharpsnmppro-mib.
git clone https://github.com/lextm/sharpsnmppro-mib.git

Then the documents can be copied to that folder (D:\sharpsnmppro-mib for example).

Launch the compiler by executing Compiler.exe and then click File | Open menu item to navigate to D:\sharpsnmppro-mib folder in Open file dialog.

Change the file extension filter to All files (.), and then select all .txt files in this folder. Click Open button to open all files in the compiler. The file names should appear in Solution Explorer panel.

Click Build | Compile menu item to start compiling the files. In a few seconds, the Object Tree panel should be updated with objects extracted from the files, while Module List panel shows the loaded modules (as well as pending ones). The Error List panel should display any error or warnings. The Output panel contains the diagnostics logging entries.

Updated Wiki: SharpSnmpPro.Mib Assembly

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

#SNMP Suite ships with an assembly SharpSnmpLib.Mib which can compile MIB documents and extract some information from them. It only provides limited functionality and users ask for more advanced editions. Here it comes.

The Brand New SharpSnmpPro.Mib Assembly

This assembly is the key component that empowers the Compiler Pro product.
sharpsnmppro.mib.png

Reviewer's Guides

The Reviewer's Guides on Trial and Full editions can be found at,

Supported Platforms

Unlike the Compiler Pro which requires .NET 4.5 and Windows, this assembly can be used on multiple platforms,
  • .NET 4.0 and above (KB4688871 is required)
  • Mono 3.10 and above
  • Xamarin.iOS
  • Xamarin.Android
  • Xamarin.Mac

Purchase

The SharpSnmpPro.Mib assembly can be ordered from Purchase page. For more information, please write to support@lextm.com.

After purchase, you will receive further information on how to activate the product and use it in your development environment.

Licensing Model for SharpSnmpPro.Mib Assembly

When purchasing a license for the SharpSnmpPro.Mib Assembly, you receive a license for one developer and unlimited number of redistributable run-time licenses.

This means that one software developer can install the licensed version of the SharpSnmpPro.Mib Assembly to his or her computer. The redistributable run-time licenses can be deployed in the development environment in order to test and debug the product through its development stages. After the product is fully developed, the redistributable run-time licenses can be deployed (bundled with your application) either within your company (i.e., if you were developing an in-house tool) and/or sold to your end users (again, bundled with your application). You are eligible to redistribute unlimited copies of SharpSnmpPro.Mib Assembly.

Support Contracts

There are several support contracts available.

Maintenance Support

No product is defect free. If you happen to meet a product defect, a support case can be opened and the issue will be investigated and resolved. Such cases are charged at a per-case basis. Maintenance support is primarily email based.

Note that currently purchases of this product come with maintenance support of several months for free as bonus. Try it or buy it!

Advisory Support

The real world scenarios might require customization or consulting, so advisory support cases can be opened. Such cases are charged at a hourly basis. Advisory cases are email or phone based.

Updated Wiki: SharpSnmpPro.Mib.Trial

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

The Trial Edition can be requested here, and is packaged up with #SNMP Library 8.5. So below are the assemblies in the ZIP package,
  • SharpSnmpPro.Mib.Trial.dll
  • SharpSnmpLib.Full.dll
  • SharpSnmpLib.Portable.dll
To test it out, the default test projects can be found at GitHub. It can be cloned to a local folder, such as D:\sharpsnmppro-sample.
git clone https://github.com/lextm/sharpsnmppro-sample.git

Then the assemblies can be copied to that folder (D:\sharpsnmppro-sample for example).

In Visual Studio you can analyze the two projects in Tests.sln.
  • Tests.csproj is an NUnit project that shows the below,
    • How to compile and load MIB documents.
    • How to query entity by name.
    • How to check description of entities.
    • How to verify data against entities. (note that the trial edition only support simple entities, while the full edition supports all entities).
    • How to check OBJECT-TYPE macro specific properties.
  • snmptranslate.csproj is a console application project that illustrates how to translate OIDs to strings (and vice versa) based on compiled MIB documents.
If new projects are going to be created to test out the Trial Edition, please note that you need to follow the provided samples to,
  • Include a text file named sharpsnmppro.txt.
  • The text file must contain exactly "#SNMP MIB Compiler Pro" (without quotes).
  • Build Action for this text file must be set as Embedded Resource.
Without this text file, the Trial Edition should give you an exception with error message "This assembly is not licensed to you. Please buy a license from LeXtudio...".

The class reference documentation can be downloaded from here.

Updated Wiki: SharpSnmpPro.Mib

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

From this article you learn how SNMP operations can be done by consuming the open source SNMP API. A question then is what values MIB documents provide, as they are said to be an important part of SNMP protocol but not seem to be utilized anywhere if we solely use #SNMP Library.

Well, a rough answer is MIB documents mean everything,
  • They tell what each object identifiers (OID) mean.
  • They tell which OID is for a table, a row, and a column.
  • They tell which kind of data we should expect for an object, OCTET STRING or any other valid types.
Thus, a MIB specific library such as SharpSnmpPro.Mib can help build a much more powerful SNMP manager.

mib.png

Now let us see a few examples.

MIB Document Compilation

The following code shows how to compile several essential MIB documents and load the metadata into memory,
var registry = new SimpleObjectRegistry();
var collector = new ErrorRegistry();
registry.Tree.Collector = collector;
registry.Import(Parser.Compile(new MemoryStream(Resources.SNMPv2_SMI), collector));
registry.Import(Parser.Compile(new MemoryStream(Resources.SNMPv2_CONF), collector));
registry.Import(Parser.Compile(new MemoryStream(Resources.SNMPv2_TC), collector));
registry.Import(Parser.Compile(new MemoryStream(Resources.SNMPv2_MIB), collector));
registry.Import(Parser.Compile(new MemoryStream(Resources.SNMPv2_TM), collector));
registry.Refresh();

SimpleObjectRegistry is a class that holds metadata in memory. It can be used to import metadata generated via Parser.Compile. ErrorRegistry is the container of errors and warnings. When SimpleObjectRegistry.Refresh is called, all errors and warnings can be found in the ErrorRegistry instance, to help you identify why some MIB documents cannot be compiled or imported.

Name/OID Translation

The translation is two-way. You can convert from names to OIDs or vice verse.
const string textual = "SNMPv2-SMI::zeroDotZero";
var number = new uint[] { 0, 0 };
Assert.AreEqual(textual, registry.Translate(number));
Assert.AreEqual(number, registry.Translate(textual));

Extract Object Identifier Metadata

Once all metadata are loaded in a SimpleObjectRegistry instance we can easily extract the information for individual objects,
Definition item = registry.Tree.Find("SNMPv2-MIB", "sysDescr");
IEntity entity = item.DisplayEntity;
Assert.AreEqual("A textual description of the entity.  This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software.", entity.DescriptionFormatted());
Assert.AreEqual(EntityStatus.Current, entity.Status);
Assert.AreEqual(string.Empty, entity.Reference);

var obj = entity as IObjectTypeMacro;
Assert.AreEqual(Access.ReadOnly, obj.MibAccess);
Assert.AreEqual(SnmpType.OctetString, obj.BaseSyntax);

We can see that if we are looking for SNMPv2-MIB::sysDescr (whose OID is 1.3.6.1.2.1.1.1), we can use SimpleObjectRegistry.Tree.Find method to locate the Definition instance. Each such instance contains one or more IEntity instances to match their entity definition in MIB documents.

From Definition.DisplayEntity we can get one of the entities, and check its properties such as IEntity.DescriptionFormatted, IEntity.Status, and IEntity.Reference.

Since SNMPv2-MIB::sysDescr is an OBJECT-TYPE macro entity, we can further cast it to IObjectTypeMacro to access more properties, such as IObjectTypeMacro.MibAccess and IObjectTypeMacro.BaseSyntax. It is obvious that the data type of SNMPv2-MIB::sysDescr is OCTET STRING.

There are of course other properties you can review, which are documented online at http://help.sharpsnmp.com. Note that our trial version limits which attributes you can see, while the full version does not have such limitations.

Table Validation

With MIB documents, it is very easy to determine if an OID is a table.
var table = new ObjectIdentifier(new uint[] { 1, 3, 6, 1, 2, 1, 1, 9 });
var entry = new ObjectIdentifier(new uint[] { 1, 3, 6, 1, 2, 1, 1, 9, 1 });
var unknown = new ObjectIdentifier(new uint[] { 1, 3, 6, 8, 18579, 111111 });
Assert.IsTrue(registry.ValidateTable(table));
Assert.IsFalse(registry.ValidateTable(entry));
Assert.IsFalse(registry.ValidateTable(unknown));

Data Validation

In SNMP managers or agents, it is a common need to determine if a piece of data is valid for an OID. Various constraints can be defined at MIB document level, but it is often difficult to extract that from the files. With a few lines of code you can now do that
Assert.IsTrue(registry.Verify("SNMPv2-MIB", "sysDescr", new OctetString("test")));
Assert.IsTrue(registry.Verify("SNMPv2-MIB", "sysDescr", new OctetString(string.Empty)));
Assert.IsFalse(registry.Verify("SNMPv2-MIB", "sysDescr", new Integer32(2)));

We can easily test if the data is valid for SNMPv2-MIB::sysDescr. Note that our trial version does only support data validation against a limited set of default types (defined in core MIB documents), while the full version supports even custom types such as BITS, CiscoRowOperStatus, and CiscoPort.

Complete Sample Project

The Full Edition is sent to registered users only via emails, and is packaged up with #SNMP Library 8.5. So below are the assemblies in the ZIP package,
  • SharpSnmpPro.Mib.dll
  • SharpSnmpLib.Full.dll
  • SharpSnmpLib.Portable.dll
To test it out, we reuse the default test projects for Trial Edition, which can be found at GitHub. It can be cloned to a local folder, such as D:\sharpsnmppro-sample.
git clone https://github.com/lextm/sharpsnmppro-sample.git

Then the assemblies can be copied to that folder (D:\sharpsnmppro-sample for example).

Tests.csproj is an NUnit project that shows the below,
  • How to compile and load MIB documents.
  • How to query entity by name.
  • How to check description of entities.
  • How to verify data against entities. (note that the trial edition only support simple entities, while the full edition supports all entities).
  • How to check OBJECT-TYPE macro specific properties.
To make the test project work with Full Edition, the following changes need to be made,
  • Remove the original reference to SharpSnmpPro.Mib.Trial.dll.
  • Add a new reference to SharpSnmpPro.Mib.dll.
  • Modify sharpsnmppro.txt following the instructions in the email.
  • Remove TRIAL from "Conditional compilation symbols", which then enables Full Edition only test cases.
The class reference documentation can be downloaded from here.

Updated Wiki: SharpSnmpPro.Mib Assembly

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

#SNMP Suite ships with an assembly SharpSnmpLib.Mib which can compile MIB documents and extract some information from them. It only provides limited functionality and users ask for more advanced editions. Here it comes.

The Brand New SharpSnmpPro.Mib Assembly

This assembly is the key component that empowers the Compiler Pro product.
sharpsnmppro.mib.png

Reviewer's Guides

The Reviewer's Guides on Trial and Full editions can be found at,

Supported Platforms

Unlike the Compiler Pro which requires .NET 4.5 and Windows, this assembly can be used on multiple platforms,
  • .NET 4.0 and above (KB4688871 is required)
  • Mono 3.10 and above
  • Xamarin.iOS
  • Xamarin.Android
  • Xamarin.Mac

Purchase

The SharpSnmpPro.Mib assembly can be ordered from Purchase page. For more information, please write to support@lextm.com.

After purchase, you will receive further information on how to activate the product and use it in your development environment.

Licensing Model for SharpSnmpPro.Mib Assembly

When purchasing a license for the SharpSnmpPro.Mib Assembly, you receive a license for one developer and unlimited number of redistributable run-time licenses.

This means that one software developer can install the licensed version of the SharpSnmpPro.Mib Assembly to his or her computer. The redistributable run-time licenses can be deployed in the development environment in order to test and debug the product through its development stages. After the product is fully developed, the redistributable run-time licenses can be deployed (bundled with your application) either within your company (i.e., if you were developing an in-house tool) and/or sold to your end users (again, bundled with your application). You are eligible to redistribute unlimited copies of SharpSnmpPro.Mib Assembly.

Support Contracts

There are several support contracts available.

Maintenance Support

No product is defect free. If you happen to meet a product defect, a support case can be opened and the issue will be investigated and resolved. Such cases are charged at a per-case basis. Maintenance support is primarily email based.

Note that currently purchases of this product come with maintenance support of several months for free as bonus. Try it or buy it!

Advisory Support

The real world scenarios might require customization or consulting, so advisory support cases can be opened. Such cases are charged at a hourly basis. Advisory cases are email or phone based.

Updated Wiki: SharpSnmpPro.Mib.Trial

$
0
0
Documentation has moved to the new site. This page won't be updated any more.

The Trial Edition can be requested here, and is packaged up with #SNMP Library 8.5. So below are the assemblies in the ZIP package,
  • SharpSnmpPro.Mib.Trial.dll
  • SharpSnmpLib.Full.dll
  • SharpSnmpLib.Portable.dll
To test it out, the default test projects can be found at GitHub. It can be cloned to a local folder, such as D:\sharpsnmppro-sample.
git clone https://github.com/lextm/sharpsnmppro-sample.git

Then the assemblies can be copied to that folder (D:\sharpsnmppro-sample for example).

In Visual Studio you can analyze the two projects in Tests.sln.
  • Tests.csproj is an NUnit project that shows the below,
    • How to compile and load MIB documents.
    • How to query entity by name.
    • How to check description of entities.
    • How to verify data against entities. (note that the trial edition only support simple entities, while the full edition supports all entities).
    • How to check OBJECT-TYPE macro specific properties.
  • snmptranslate.csproj is a console application project that illustrates how to translate OIDs to strings (and vice versa) based on compiled MIB documents.
If new projects are going to be created to test out the Trial Edition, please note that you need to follow the provided samples to,
  • Include a text file named sharpsnmppro.txt.
  • The text file must contain exactly "#SNMP MIB Compiler Pro" (without quotes).
  • Build Action for this text file must be set as Embedded Resource.
Without this text file, the Trial Edition should give you an exception with error message "This assembly is not licensed to you. Please buy a license from LeXtudio...".

The class reference documentation can be downloaded from here.

Updated Wiki: Home

$
0
0
Produced and supported by LeXtudio.

Project Description

#SNMP Library is a free and open source SNMP class library for developers who target Microsoft .NET/Xamarin Mono platforms. It's developed in C#.

(C) 2008-2016 Malcolm Crowe, Lex Li, and other contributors.

News

Features

Microsoft .NETXamarin MonoOS XOS X, UbuntuUbuntu, and openSUSEopenSUSE.
  • Encapsulate SNMP functions in a natural and easy-to-use API set.
  • Release under MIT/X11. (MIB related portion is released under BSD 3 Clause.)
  • Support .NET Framework 3.5 SP1, 4.5.2, Mono 4.2, Xamarin.iOS Unified, and Xamarin.Android.

Support for .NET Framework 2.0 and 3.0 expired on April 12, 2011. #SNMP release BigDipper (7.0) and above no longer supports these two obsolete .NET versions.

Support for .NET Framework 4.0, 4.5, and 4.5.1 expired on Jan 12, 2016. #SNMP release LordGate (9.0) RC 1 and above will no longer support there obsolete .NET versions.

Get Started

Please go to Documentation section.

Support services are provided by LeXtudio. Please visit LeXtudio for further information.

Donate

Show your appreciation for this open source project and support future development,

Donate

Pro Editions

#SNMP MIB Compiler Pro and Browser Pro are enterprise specific editions of SNMP utilities that build upon #SNMP Library.

MIB Compiler Pro

Sponsors

In the development process, we received licenses from

VisualSVNPowered by VisualSVN
JetBrains ReSharperPowered by ReSharper
NDependPowered by NDepend

Updated Wiki: Home

$
0
0
Produced and supported by LeXtudio.

Project Description

#SNMP Library is a free and open source SNMP class library for developers who target Microsoft .NET/Xamarin Mono platforms. It's developed in C#.

(C) 2008-2016 Malcolm Crowe, Lex Li, and other contributors.

News

Features

Microsoft .NETXamarin MonoOS XOS X, UbuntuUbuntu, and openSUSEopenSUSE.
  • Encapsulate SNMP functions in a natural and easy-to-use API set.
  • Release under MIT/X11. (MIB related portion is released under BSD 3 Clause.)
  • Support .NET Framework 4.5.2 and above, Mono 4.2 and above, Xamarin.iOS Unified, and Xamarin.Android.

Support for .NET Framework 2.0 and 3.0 expired on April 12, 2011. #SNMP release BigDipper (7.0) and above no longer supports these two obsolete .NET versions.

Support for .NET Framework 4.0, 4.5, and 4.5.1 expired on Jan 12, 2016. #SNMP release LordGate (9.0) and above will no longer support there obsolete .NET versions.

Get Started

Please go to Documentation section.

Support services are provided by LeXtudio. Please visit LeXtudio for further information.

Donate

Show your appreciation for this open source project and support future development,

Donate

Pro Editions

#SNMP MIB Compiler Pro and Browser Pro are enterprise specific editions of SNMP utilities that build upon #SNMP Library.

MIB Compiler Pro

Sponsors

In the development process, we received licenses from

VisualSVNPowered by VisualSVN
JetBrains ReSharperPowered by ReSharper
NDependPowered by NDepend

Updated Wiki: Home

$
0
0
Produced and supported by LeXtudio.

Project Description

#SNMP Library is a free and open source SNMP class library for developers who target Microsoft .NET/Xamarin Mono platforms. It's developed in C#.

(C) 2008-2016 Malcolm Crowe, Lex Li, and other contributors.

News

Features

Microsoft .NETXamarin MonoOS XOS X, UbuntuUbuntu, and openSUSEopenSUSE.
  • Encapsulate SNMP functions in a natural and easy-to-use API set.
  • Release under MIT/X11. (MIB related portion is released under BSD 3 Clause.)
  • Support .NET Framework 4.5.2 and above, Mono 4.2 and above, Xamarin.iOS Unified, and Xamarin.Android.

Support for .NET Framework 2.0 and 3.0 expired on April 12, 2011. #SNMP release BigDipper (7.0) and above no longer supports these two obsolete .NET versions.

Support for .NET Framework 4.0, 4.5, and 4.5.1 expired on Jan 12, 2016. #SNMP release LordGate (9.0) and above will no longer support there obsolete .NET versions.

Get Started

Please go to Documentation section.

Support services are provided by LeXtudio. Please visit LeXtudio for further information.

Donate

Show your appreciation for this open source project and support future development,

Donate

Pro Editions

#SNMP MIB Compiler Pro and Browser Pro are enterprise specific editions of SNMP utilities that build upon #SNMP Library.

MIB Compiler Pro

Sponsors

In the development process, we received licenses from

VisualSVNPowered by VisualSVN
JetBrains ReSharperPowered by ReSharper
NDependPowered by NDepend

Updated Wiki: Purchase

Updated Wiki: Home

$
0
0
Produced and supported by LeXtudio.

Project Description

#SNMP Library is a free and open source SNMP class library for developers who target Microsoft .NET/Xamarin Mono platforms. It's developed in C#.

(C) 2008-2016 Malcolm Crowe, Lex Li, and other contributors.

News

Features

Microsoft .NETXamarin MonoOS XOS X, UbuntuUbuntu, and openSUSEopenSUSE.
  • Encapsulate SNMP functions in a natural and easy-to-use API set.
  • Release under MIT/X11. (MIB related portion is released under BSD 3 Clause.)
  • Support .NET Framework 4.5.2 and above, Mono 4.2 and above, Xamarin.iOS Unified, and Xamarin.Android.

Support for .NET Framework 2.0 and 3.0 expired on April 12, 2011. #SNMP release BigDipper (7.0) and above no longer supports these two obsolete .NET versions.

Support for .NET Framework 4.0, 4.5, and 4.5.1 expired on Jan 12, 2016. #SNMP release LordGate (9.0.2) and above will no longer support these obsolete .NET versions.

Get Started

Please go to Documentation section.

Support services are provided by LeXtudio. Please visit LeXtudio for further information.

Donate

Show your appreciation for this open source project and support future development,

Donate

Pro Editions

#SNMP MIB Compiler Pro and Browser Pro are enterprise specific editions of SNMP utilities that build upon #SNMP Library.

MIB Compiler Pro

Sponsors

In the development process, we received licenses from

VisualSVNPowered by VisualSVN
JetBrains ReSharperPowered by ReSharper
NDependPowered by NDepend

Updated Wiki: Home

$
0
0
Produced and supported by LeXtudio.

Project Description

#SNMP Library is a free and open source SNMP class library for developers who target Microsoft .NET/Xamarin Mono platforms. It's developed in C#.

(C) 2008-2016 Malcolm Crowe, Lex Li, and other contributors.

News

Features

Microsoft .NETXamarin MonoOS XOS X, UbuntuUbuntu, and openSUSEopenSUSE.
  • Encapsulate SNMP functions in a natural and easy-to-use API set.
  • Release under MIT/X11. (MIB related portion is released under BSD 3 Clause.)
  • Support .NET Framework 4.5.2 and above, Mono 4.2 and above, Xamarin.iOS Unified, and Xamarin.Android.

Support for .NET Framework 2.0 and 3.0 expired on April 12, 2011. #SNMP release BigDipper (7.0) and above no longer supports these two obsolete .NET versions.

Support for .NET Framework 4.0, 4.5, and 4.5.1 expired on Jan 12, 2016. #SNMP release LordGate (9.0.4) and above will no longer support these obsolete .NET versions.

Get Started

Please go to Documentation section.

Support services are provided by LeXtudio. Please visit LeXtudio for further information.

Donate

Show your appreciation for this open source project and support future development,

Donate

Pro Editions

#SNMP MIB Compiler Pro and Browser Pro are enterprise specific editions of SNMP utilities that build upon #SNMP Library.

MIB Compiler Pro

Sponsors

In the development process, we received licenses from

VisualSVNPowered by VisualSVN
JetBrains ReSharperPowered by ReSharper
NDependPowered by NDepend

Updated Wiki: Home

$
0
0
Produced and supported by LeXtudio.

Project Description

#SNMP Library is a free and open source SNMP class library for developers who target Microsoft .NET/Xamarin Mono platforms. It's developed in C#.

(C) 2008-2016 Malcolm Crowe, Lex Li, and other contributors.

News

Features

Microsoft .NETXamarin MonoOS XOS X, UbuntuUbuntu, and openSUSEopenSUSE.
  • Encapsulate SNMP functions in a natural and easy-to-use API set.
  • Release under MIT/X11. (MIB related portion is released under BSD 3 Clause.)
  • Support .NET Framework 4.5.2 and above, Mono 4.2 and above, Xamarin.iOS Unified, and Xamarin.Android.

Support for .NET Framework 2.0 and 3.0 expired on April 12, 2011. #SNMP release BigDipper (7.0) and above no longer supports these two obsolete .NET versions.

Support for .NET Framework 4.0, 4.5, and 4.5.1 expired on Jan 12, 2016. #SNMP release LordGate (9.0.5) and above will no longer support these obsolete .NET versions.

Get Started

Please go to Documentation section.

Support services are provided by LeXtudio. Please visit LeXtudio for further information.

Donate

Show your appreciation for this open source project and support future development,

Donate

Pro Editions

#SNMP MIB Compiler Pro and Browser Pro are enterprise specific editions of SNMP utilities that build upon #SNMP Library.

MIB Compiler Pro

Sponsors

In the development process, we received licenses from

VisualSVNPowered by VisualSVN
JetBrains ReSharperPowered by ReSharper
NDependPowered by NDepend
Viewing all 179 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>