Welcome to SMB_SNMP


What is SMB_SNMP ?

SMB_SNMP is an extension to the popular Samba system. It basically allows people to see SNMP agents as shared Windows resources as shown in the screendump below.

MIB variables are mapped to text files, whereas SNMP tables are mapped to

  1. text files
  2. HTML files
  3. SLK files
in order to make them readable using text editors, web browsers and spreadsheets. SNMP agents can be mounted from Windows/DOS and browsed using DOS commands (cd, dir..). Whenever a variable is read/modified a SNMP get/set is issued transparently to the remote SNMP agent. This allows people to manage SNMP resource without any specialised software. SNMP traps are sent by dropping files (for instance from Windows Explorer) in a special SMB_SNMP folder called sendTraps.

Why Samba ?

Although the principle behind SMB_SNMP could be implemented in many different ways (using NFS or Netatalk for instance), Samba has been preferred because:

What is Desktop-based Management ?

As described in the white paper, desktop-based management is the activity to manage networks and systems using standard tools (for instance a text editor), methods (drag and drop) and paradigms (trashcan). SMB_SNMP is a simple desktop-based management tool that brings SNMP to desktop and allows people to manage SNMP resources using a file system-like interface.

Download Area

SMB_SNMP is distributed as a patch to Samba and UCD SNMP (or CMU SNMP).

FAQ

  1. How can I add a new SNMP agent to browse?
    Go inside the SNMP/ directory (the one pointed by smb.conf). Suppose to type the following commands:
    deri@tecindy 32> pwd
    /usr/people/deri/network/ucd-snmp-3.3.1/apps/SNMP
    deri@tecindy 33> ls -l
    total 8
       8 drwxr-xr-x   18 deri     ambra       4096 apr  24 12:04 tecindy/
    
    Then do ln -s tecindy new_host or copy the whole subtree. In the second case, please make sure that the files contained under new_host/ are owner by nobody (or by the guest user you have defined inside smb.conf) otherwise SMB_SNMP won't work properly.

  2. How can I browse a new SNMP agent listening at the port XXX?
    The default port used by a SNMP daemon is 161. If you have a agent listening to a different port, when you add a new host host (have a look at the previous point) do this: ln -s tecindy/ new_host@XXX/

  3. How can I send traps to a remote agent using SMB_SNMP ?
    Suppose you want to send a trap to the remote agent YYYY. Then write a file containing the trap content and drag it to the SNMP/YYYY/sendTraps folder. That trap will be send to the trap daemon running on the host YYYY at the default trap port (162). If you want to modify the way trap are sent, please have a look at the write_file function inside samba-1.9.18p4/source/server.c and to samba-1.9.18p4/source/smb.h.

  4. How can I mount from DOS/Windows an agent managed through SMB_SNMP?
    You can mount such agent as a normal shared disk/directory (for instance you can use Windows's Explorer or the DOS command "net"). Once the agent is mounted you can access it as a disk (E: for instance) and use DOS commands. For instance supposing you have mounted SNMP/ as E: disk, you can type from a DOS shell:
    1. cd tecindy\system
    2. dir
    3. type sysDescr.0 [you see the value of sysDescr.0]
    4. echo Italy > sysLocation.0 [you set sysLocation.0 to Italy - SMB_SNMP issues a SNMP set to tecindy with private community "private"]

  5. How can I change the SNMP communities used by SMB_SNMP?
    Unfortunately this feature is not yet implemented. Have a look at the TODO file for more informations about the current SMB_SNMP limitations.
Time to Rethink Everything!


© Luca Deri - April 1998