MIMIC Utilities Guide

  1. Preface
  2. The MIMIC Utilities are command-line companion programs for specialized tasks.

  3. Table of Contents
  4. grapher - a generic graphing tool
  5. The Grapher lets you plot a interactive XY Line graph for more than one set of data to visualize the change over a period of time.

    The grapher may be invoked using the following command line options:

    • --type graph/barchart

      Specify the type of pictorial representation to be used to depict data. Currently only "graph" option may be used to represent data as XY Line graph.

    • --series *

      Specify the characteristics of a series with this option. Color may be any one of following green, blue, red or yellow. Symbol may be diamond, circle, triangle or square and the label is brief description about the series which used in legend for the series in the graph window.

    • --source

      Specify the filename for which the grapher reads the data to be plotted. The file has text in the following format for each data point in the series.

      cmd series-id x-axis-value y-axis-value
      e.g PLOT 1 0 2
      (0,2) is to be plotted on series 1 in the graph.

      Currently two commands are supported PLOT and EXIT. EXIT command is without any arguments.

    The following options are optional.

    • --scroll

      This option may be used to display an horizontal scrollbar in the graph window.

    • --xmin n

      Specifies the minimum limit of x axis. Any x coordinate of data point less than n is not displayed.

    • --xmax n Specifies the maximum limit of x axis. Any x coordinate of data point greater than n is not displayed.

    • --ymin n

      Specifies the minimum limit of y axis. Any y coordinate of data point less than n is not displayed.

    • --ymax n

      Specifies the maximum limit of y axis. Any y coordinate of data point greater than n is not displayed.

  6. oidinfo - display OID information
  7. This utility gives information about a MIB object either by name or OID. The information returned is in internal format, but can be useful to learn more about a MIB object.

    Examples:

    ultra5[1556] oidinfo ifOperStatus
    INFO  08/25.08:47:22 - NAME ifOperStatus = 1.3.6.1.2.1.2.2.1.8
    INFO  08/25.08:47:22 - MIB = IF-MIB
    parent = ,	subid = 8, name = ifOperStatus, access = 1
      type = 3
    1, up
    2, down
    3, testing
    4, unknown
    5, dormant
    
    ultra5[1557] oidinfo 1.3.6.1.2.1.2.2.1.8
    INFO  08/25.08:47:41 - OID 1.3.6.1.2.1.2.2.1.8 = ifOperStatus
    INFO  08/25.08:47:41 - MIB = IF-MIB
    parent = ,	subid = 8, name = ifOperStatus, access = 1
      type = 3
    1, up
    2, down
    3, testing
    4, unknown
    5, dormant
    

  8. walkfile converters
  9. The convertwalk utility converts walkfiles from 3rd party packages into a format that the MIMIC Recorder understands. MIMICView invokes this utility from the Walkfile Importer dialog whereever walkfiles are accessed, eg. in the Simulation->Record dialog, or in the Discovery Wizard. It will not convert again a walkfile that has already been converted.

    Additionally, we provide some obsolete shell scripts to convert files. These scripts convert walkfiles from 3rd party packages into a format that the MIMIC Recorder understands. The scripts live in the common/ directory.

    The following formats can be converted:

    • HP Openview

      % ./hpov.csh
      Usage: ./hpov.csh infile outfile [start]
      

    • HP Netmetrix

      % ./netmetrix.csh
      Usage: ./netmetrix.csh infile outfile [start]
      
      

    • UCD snmpwalk

      % ./ucd.csh
      Usage: ./ucd.csh infile outfile [start]
      
      

    • NetHealth

      % ./nethealth.csh
      Usage: ./nethealth.csh infile outfile [start]
      
      

  10. Device Category Configuration
  11. The devcatconf utility allows to list / modify device categories, similarly to the Edit Devices dialog invoked with the Simulation -> Manage Devices... MIMICview menu item.

    Usage help:

    % ./devcatconf
    Usage:
    --help                Show this usage help
    or
    --list-categories     List device categories
    or
    --category cat        Select specified category
    --add-category subcat Add sub-category under specified category
    or
    --category cat        Select specified category
    --delete-category     Delete specified category
    [--force]             Delete without prompting
    or
    --category cat        Select specified category
    --list-devices        List devices in specified category
    or
    --category cat        Select specified category
    --add-device dev      Add device in specified category
    or
    --category cat        Select specified category
    --delete-device dev   Delete device in specified category
    ERROR - not enough arguments: ><
    
    

    List tree of categories:

    % ./devcatconf --list-categories
    INFO - list of device categories
     Devices
     Devices:Routers
     Devices:Switches
     Devices:End Systems
     Devices:Printers
     Devices:Firewalls
     Devices:Phones
     Devices:Wireless
     Devices:Storage
     Devices:MQTT
     Devices:Uncatalogued
     Devices:All
    
    

    Add a new category under MQTT:

    % ./devcatconf --add-category Publishers --category Devices:MQTT
    
    % ./devcatconf --list-categories
    INFO - list of device categories
     Devices
     Devices:Routers
     Devices:Switches
     Devices:End Systems
     Devices:Printers
     Devices:Firewalls
     Devices:Phones
     Devices:Wireless
     Devices:Storage
     Devices:MQTT
     Devices:MQTT:Publishers
     Devices:Uncatalogued
     Devices:All
    
    

    Then delete it again:

    % ./devcatconf --category Devices:MQTT:Publishers --delete-category
    INFO - devcatconf
     Delete everything under category Devices:MQTT:Publishers?
     (y, n, A = yes to All, N = No to all)
    y
    
    % ./devcatconf --list-categories
    INFO - list of device categories
     Devices
     Devices:Routers
     Devices:Switches
     Devices:End Systems
     Devices:Printers
     Devices:Firewalls
     Devices:Phones
     Devices:Wireless
     Devices:Storage
     Devices:MQTT
     Devices:Uncatalogued
     Devices:All
    
    

    List the devices under Routers:

    % ./devcatconf --category Devices:Routers --list-devices
     Cisco-ASR9000,1
     Juniper-MX960,1
     Juniper-T4000,1
     cisco-ASR-1000,1
    

    List all the devices:

    % ./devcatconf --list-devices --category Devices:All | & grep -v INFO | wc -l
    21
    
    

    List all the devices under each category:

    % set cats=`./devcatconf --list-categories`
    INFO - list of device categories
    
    % foreach cat ( $cats )
    foreach? echo "=========== category $cat ========="
    foreach? ./devcatconf --category "$cat" --list-devices
    foreach? end
    =========== category Devices =========
    =========== category Devices:Routers =========
     Cisco-ASR9000,1
     Juniper-MX960,1
     Juniper-T4000,1
     cisco-ASR-1000,1
    =========== category Devices:Switches =========
     Juniper-EX2200,1
     Juniper-EX4500-40F,1
     cisco-ACI-NEXUS9000,1
     cisco2950,1
    =========== category Devices:End =========
    =========== category Systems =========
    =========== category Devices:Printers =========
     hp-jetdirect24,1
    =========== category Devices:Firewalls =========
     Cisco-ASA5585X,1
     Fortigate100D,1
     PaloAlto-WildFire,1
    =========== category Devices:Phones =========
     avaya-phone-AVB570203,1
     avaya-phone-AVX571040,1
    =========== category Devices:Wireless =========
     Aruba-WLC-7210,1
     Cisco-Aironet-C1600,1
     aruba-iap-225,1
     cisco-WLC-5520,1
    =========== category Devices:Storage =========
     NetApp-9-1-P2,1
    =========== category Devices:MQTT =========
    =========== category Devices:Uncatalogued =========
     Cisco-UCS-6120XP,1
    =========== category Devices:All =========
     PaloAlto-WildFire,1
     cisco-ASR-1000,1
     Aruba-WLC-7210,1
     NetApp-9-1-P2,1
     avaya-phone-AVB570203,1
     Juniper-EX2200,1
     Juniper-T4000,1
     Juniper-MX960,1
     Cisco-Aironet-C1600,1
     Cisco-UCS-6120XP,1
     cisco2950,1
     cisco-WLC-5520,1
     Juniper-EX4500-40F,1
     Fortigate100D,1
     cisco-ACI-NEXUS9000,1
     avaya-phone-AVX571040,1
     aruba-iap-225,1
     Cisco-ASA5585X,1
     hp-jetdirect24,1
     windows2008,1
     Cisco-ASR9000,1
    

    to categorize an uncatalogued device:

    % ./devcatconf --category Devices --add-category "Unified Communications"
    
    % ./devcatconf --category "Devices:Unified Communications" --list-devices
    
    % ./devcatconf --category Devices:Uncatalogued --list-devices
     Cisco-UCS-6120XP,1
    
    % ./devcatconf --category "Devices:Unified Communications" --add-device Cisco-UCS-6120XP,1
    
    % ./devcatconf --category "Devices:Unified Communications" --list-devices
     Cisco-UCS-6120XP,1
    
    % ./devcatconf --category Devices:Uncatalogued --list-devices
    

    then remove it again:

    % ./devcatconf --category "Devices:Unified Communications" --delete-device Cisco-UCS-6120XP,1
    
    % ./devcatconf --category "Devices:Unified Communications" --list-devices
    
    % ./devcatconf --category Devices:Uncatalogued --list-devices
     Cisco-UCS-6120XP,1
    
    

  12. Device Configuration
  13. The devconf utility allows to list / modify device configurations similarly to the Edit Devices dialog invoked with the Simulation -> Manage Devices... MIMICview menu item.

    List all the printers:

    % ./devcatconf --list-devices --category Devices:Printers
     sim-10.147.0.13.random,1
    
    % ./devconf --device "sim-10.147.0.13.random,1" --find
    0%INFO - loaded 639 devices
     HP ETHERNET MULTI-ENVIRONMENT,ROM A.03.00,JETDIRECT,JD24,EEPROM A.03.06 - sim-10.147.0.13.random,
    1
    
    % ./devconf --device "sim-10.147.0.13.random,1" --find --silent
     HP ETHERNET MULTI-ENVIRONMENT,ROM A.03.00,JETDIRECT,JD24,EEPROM A.03.06 - sim-10.147.0.13.random,
    1
    

    List the MIBs for the selected printer:

    % set dev=`./devconf --device "sim-10.147.0.13.random,1" --find --silent |& cat`
    % ./devconf --device "$dev" --mibs --silent
     sim-10.147.0.13.random,RFC1213-MIB,1 sim-10.147.0.13.random,IF-MIB,1 sim-10.147.0.13.random,
    hp/JETDIRECT3-MIB,1 sim-10.147.0.13.random,hp/HP-ICF-DOWNLOAD,1
    
    % ./devconf --device "HP ETHERNET MULTI-ENVIRONMENT,ROM A.03.00,JETDIRECT,JD24,EEPROM A.03.06 -
    sim-10.147.0.13.random, 1" --mibs
    0%INFO - loaded 639 devices
     sim-10.147.0.13.random,RFC1213-MIB,1 sim-10.147.0.13.random,IF-MIB,1 sim-10.147.0.13.random,
    hp/JETDIRECT3-MIB,1 sim-10.147.0.13.random,hp/HP-ICF-DOWNLOAD,1
    
    % set dev=`./devconf --device "sim-10.147.0.13.random,1" --find`
    0%INFO - loaded 639 devices
    
    % echo $dev
    HP ETHERNET MULTI-ENVIRONMENT,ROM A.03.00,JETDIRECT,JD24,EEPROM A.03.06 - sim-10.147.0.13.random,
    1
    
    % set mibs=`./devconf --device "$dev" --mibs`
    0%INFO - loaded 639 devices
    
    % echo $mibs
    sim-10.147.0.13.random,RFC1213-MIB,1 sim-10.147.0.13.random,IF-MIB,1 sim-10.147.0.13.random,
    hp/JETDIRECT3-MIB,1 sim-10.147.0.13.random,hp/HP-ICF-DOWNLOAD,1
    
    

    Find devices that match MIBs:

    % ./devconf --list-devices --match-mib HP-ICF-DOWNLOAD
    0%INFO - loaded 639 devices
       5 HP ETHERNET MULTI-ENVIRONMENT,ROM A.03.00,JETDIRECT,JD24,EEPROM A.03.06 -
    sim-10.147.0.13.random, 1
    
    

  14. SNMPv3 Configuration
  15. Starting at MIMIC version 21.20 the SNMPv3 Wizard will guide you through editing your SNMPv3 USM and VACM configurations. For example, see this Youtube video.

    The snmpv3conf utility allows to list / modify SNMPv3 USM and VACM configurations.

    By default, when changing any file, this utility performs file versioning, ie. it saves away the old file in a timestamped folder under OLD/ .

    Usage help:

    % ./snmpv3conf
    Usage:
    --help                 Show this usage help
    or
    --list-usm             List USM config files
    or
    --list-vacm            List VACM config files
    or
    --config config-file   Specify config file
    --copy-config new-file Copy specified config file to new-file
    or
    --config config-file   Specify USM config file
    --list-users           List users
    [--details]            Display details for users
    [--disabled]           List disabled users
    or
    --config config-file   Specify USM config file
    --user user            Specify user
    --details              Display details for specified user
    or
    --config config-file   Specify USM config file
    --user user            Specify user
    (--change attr-val)+   Change 1 or more attribute for specified user
    [--no-versioning]      Do not do file versioning
    or
    --config config-file   Specify USM config file
    --add-user user        Specify user to be added
    [--from existing]      Copy from existing user
    (--change attr-val)+   Change 1 or more attribute for new user
    [--no-versioning]      Do not do file versioning
    or
    --config config-file   Specify VACM config file
    --list-groups           List groups
    [--details]            Display details for groups
    [--disabled]           List disabled groups
    or
    --config config-file   Specify VACM config file
    --group group          Specify group
    --details              Display details for specified group
    or
    --config config-file   Specify VACM config file
    --add-group group      Specify group to be added
    (--change attr-val)+   Change 1 or more attribute for new group
    [--no-versioning]      Do not do file versioning
    or
    --config config-file   Specify VACM config file
    --list-access          List access clauses
    [--details]            Display details for access clauses
    or
    --config config-file   Specify VACM config file
    --list-views           List views
    [--details]            Display details for views
    [--disabled]           List disabled groups
    ERROR - not enough arguments: ><
    

    USM configuration

    The USM configuration allows to specify the users of the User-based Security Model that governs access to SNMPv3 agents in MIMIC. Each agent can have its own USM file (or they can share a USM file). The following commands allow to list/modify USM files in MIMIC.

    This lists the USM files:

    % ./snmpv3conf --list-usm
    INFO - list of USM config files
     v3usm.conf shared
    

    This copies the sample v3usm.conf to my own USM file, so that we don't affect the original:

    % ./snmpv3conf --config v3usm.conf --copy-config myusm.conf
    INFO - copied config v3usm.conf to myusm.conf
    
    % ./snmpv3conf --list-usm
    INFO - list of USM config files
     v3usm.conf shared
     myusm.conf private
    
    

    This lists both enabled and disabled users. Enabled users control access to the agent's MIB, disabled users do not. You can enable disabled users and vice versa.

    % ./snmpv3conf --config myusm.conf --list-users
    INFO - list of users in config myusm.conf
     user1 user2 user3 user4 user5 user6 user7 user11 user12 user13 user14 user15
    
    % ./snmpv3conf --config myusm.conf --list-users --details
    INFO - list of users in config myusm.conf
     userName securityName authProtocol     authKey   privProtocol     privKey
     -------------------------------------------------------------------------------
     user1    user1        noAuth      0                noPriv  0
     user2    user2        HMAC-MD5-96 1234567890abcdef noPriv  0
     user3    user3        HMAC-SHA-96 1234567890abcdef noPriv  0
     user4    user4        HMAC-MD5-96 1234567890abcdef CBC-DES 1234567890abcdef
     user5    user5        HMAC-SHA-96 1234567890abcdef CBC-DES 1234567890abcdef
     user6    user6        HMAC-MD5-96 1234567890abcdef AES     1234567890abcdef
     user7    user7        HMAC-SHA-96 1234567890abcdef AES     1234567890abcdef
     user11   user11       noAuth      0                noPriv  0
     user12   user12       HMAC-MD5-96 1234567890abcdef noPriv  0
     user13   user13       HMAC-SHA-96 1234567890abcdef noPriv  0
     user14   user14       HMAC-MD5-96 1234567890abcdef CBC-DES 1234567890abcdef
     user15   user15       HMAC-SHA-96 1234567890abcdef CBC-DES 1234567890abcdef
    
    % ./snmpv3conf --config myusm.conf --list-users --details --disabled
    INFO - list of disabled users in config myusm.conf
     userName securityName authProtocol     authKey   privProtocol     privKey
     -------------------------------------------------------------------------------
     user21   user21       HMAC-MD5-96 1234567890abcdef AES-192 1234567890abcdef
     user22   user22       HMAC-SHA-96 1234567890abcdef AES-192 1234567890abcdef
     user23   user23       HMAC-MD5-96 1234567890abcdef AES-256 1234567890abcdef
     user24   user24       HMAC-SHA-96 1234567890abcdef AES-256 1234567890abcdef
     user31   user31       SHA-224     1234567890abcdef AES     1234567890abcdef
     user32   user32       SHA-256     1234567890abcdef AES     1234567890abcdef
     user33   user33       SHA-384     1234567890abcdef AES     1234567890abcdef
     user34   user34       SHA-512     1234567890abcdef AES     1234567890abcdef
     user35   user35       SHA-224     1234567890abcdef AES-192 1234567890abcdef
     user36   user36       SHA-224     1234567890abcdef AES-256 1234567890abcdef
     user37   user37       SHA-256     1234567890abcdef AES-192 1234567890abcdef
     user38   user38       SHA-256     1234567890abcdef AES-256 1234567890abcdef
     user39   user39       SHA-384     1234567890abcdef AES-192 1234567890abcdef
     user40   user40       SHA-384     1234567890abcdef AES-256 1234567890abcdef
     user41   user41       SHA-512     1234567890abcdef AES-192 1234567890abcdef
     user42   user42       SHA-512     1234567890abcdef AES-256 1234567890abcdef
    

    This changes one of the users. All attributes except for userName can be changed.

    % ./snmpv3conf --config myusm.conf --user user1 --details
    INFO - details for user user1 in config myusm.conf
     userName: user1
     securityName: user1
     authProtocol: noAuth
     authKey: 0
     privProtocol: noPriv
     privKey: 0
     disabled: 0
    
    % ./snmpv3conf --config myusm.conf --user user1 --change "authProtocol: HMAC-MD5-96" \
    --change "authKey: somepassword" --no-versioning
    INFO - change authProtocol: HMAC-MD5-96 for user user1 in config myusm.conf
    INFO - change authKey: somepassword for user user1 in config myusm.conf
    
    % ./snmpv3conf --config myusm.conf --user user1 --details
    INFO - details for user user1 in config myusm.conf
     userName: user1
     securityName: user1
     authProtocol: HMAC-MD5-96
     authKey: somepassword
     privProtocol: noPriv
     privKey: 0
     disabled: 0
    

    This adds a new user and changes a couple of attributes:

    % ./snmpv3conf --config myusm.conf --add-user user16 --change "authProtocol:HMAC-SHA-96" \
    --change "authKey: 3248979837598743"
    INFO - add new user user16 in config myusm.conf
    INFO - change authProtocol:HMAC-SHA-96 for user user16 in config myusm.conf
    INFO - change authKey: 3248979837598743 for user user16 in config myusm.conf
    
    % ./snmpv3conf --config myusm.conf --user user16 --details
    INFO - details for user user16 in config myusm.conf
     userName: user16
     securityName: user16
     authProtocol: HMAC-SHA-96
     authKey: 3248979837598743
     privProtocol: noPriv
     privKey: 0
     disabled: 0
    

    Notice, this could have also been achieved by copying existing user user3 and changing the authKey attribute. We will create user17 that way:

    % ./snmpv3conf --config myusm.conf --add-user user17 --from user3 --change \
    "authKey: 3248979837598743"
    INFO - add new user user17 from user3 in config myusm.conf
    INFO - change authKey: 3248979837598743 for user user17 in config myusm.conf
    
    % ./snmpv3conf --config myusm.conf --user user17 --details                      
    INFO - details for user user17 in config myusm.conf
     userName: user17
     securityName: user17
     authProtocol: HMAC-SHA-96
     authKey: 3248979837598743
     privProtocol: noPriv
     privKey: 0
     disabled: 0
    

    VACM configuration

    The VACM configuration allows to specify the local datastore of the View-based Access Control Model that governs access to SNMPv3 agents in MIMIC. Each agent can have its own VACM file (or they can share a VACM file). The following commands allow to list/modify VACM files in MIMIC.

    This lists the VACM files:

    % ./snmpv3conf --list-vacm
    INFO - list of VACM config files
     v3vacm.conf shared
    

    This copies the sample v3vacm.conf to my own VACM file, so that we don't affect the original:

    % ./snmpv3conf --config v3vacm.conf --copy-config myvacm.conf
    INFO - copied config v3vacm.conf to myvacm.conf
    
    % ./snmpv3conf --list-vacm
    INFO - list of VACM config files
     v3vacm.conf shared
     myvacm.conf private
    

    This lists both enabled and disabled groups. Enabled groups control access to the agent's MIB, disabled groups do not. You can enable disabled groups and vice versa.

    INFO - list of groups in config myvacm.conf
     group1 group2 group3 group4 group5 group6 group7 group11 group12 group13 group14
    group15 group21 group22 group23 group24 group31 group32 group33 group34 group35 group36 group37
    group38 group39 group40 group41 group42
    
    % ./snmpv3conf --config myvacm.conf --list-groups --disabled
    INFO - list of disabled groups in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --list-groups --details
    INFO - list of groups in config myvacm.conf
     group     securityModel securityName
     --------------------------------------
     group1     usm        user1       
     group2     usm        user2       
     group3     usm        user3       
     group4     usm        user4       
     group5     usm        user5       
     group6     usm        user6       
     group7     usm        user7       
     group11    usm        user11      
     group12    usm        user12      
     group13    usm        user13      
     group14    usm        user14      
     group15    usm        user15      
     group21    usm        user21      
     group22    usm        user22      
     group23    usm        user23      
     group24    usm        user24      
     group31    usm        user31      
     group32    usm        user32      
     group33    usm        user33      
     group34    usm        user34      
     group35    usm        user35      
     group36    usm        user36      
     group37    usm        user37      
     group38    usm        user38      
     group39    usm        user39      
     group40    usm        user40      
     group41    usm        user41      
     group42    usm        user42      
    

    This changes one of the groups. All attributes except for the group name can be changed.

    % ./snmpv3conf --config myvacm.conf --group group2 --details
    INFO - details for group group2 in config myvacm.conf
     group: group2
     securityModel: usm
     securityName: user2
     disabled: 0
    
    % ./snmpv3conf --config myvacm.conf --group group2 --change securityName:user3
    INFO - change securityName:user3 for group group2 in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --group group2 --details
    INFO - details for group group2 in config myvacm.conf
     group: group2
     securityModel: usm
     securityName: user3
     disabled: 0
    

    This adds a new group and changes its securityName attribute:

    % ./snmpv3conf --config myvacm.conf --add-group mygroup --change securityName:user3
    INFO - add new group mygroup in config myvacm.conf
    INFO - change securityName:user3 for group mygroup in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --group mygroup --details
    INFO - details for group mygroup in config myvacm.conf
     group: mygroup
     securityModel: usm
     securityName: user3
     disabled: 0
    

    Notice, this could have also been achieved by copying existing user group3. We will create mygroup2 that way:

    % ./snmpv3conf --config myvacm.conf --add-group mygroup2 --from group3
    INFO - add new group mygroup2 from group3 in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --group mygroup2 --details
    INFO - details for group mygroup2 in config myvacm.conf
     group: mygroup2
     securityModel: usm
     securityName: user3
     disabled: 0
    

    This lists both enabled and disabled access clauses. Enabled access clauses control access to the agent's MIB, disabled clauses do not. You can enable disabled access clauses and vice versa.

    % ./snmpv3conf --config myvacm.conf --list-access
    INFO - list of access in config myvacm.conf
     group1 group2 group3 group4 group5 group6 group7 group21 group22 group23 group24
    group31 group32 group33 group34 group35 group36 group37 group38 group39 group40
    group41 group42 group11 group12 group13 group14 group15
    
    % ./snmpv3conf --config myvacm.conf --list-access --disabled
    INFO - list of disabled access in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --list-access --details
    INFO - list of access in config myvacm.conf
     group     prefix   Model    securityLevel Match   read    write    notify
     -------------------------------------------------------------------------
     group1     ""         usm   noAuthNoPriv exact   public   none     none
     group2     ""         usm   authNoPriv   exact   public   netman   none
     group3     ""         usm   authNoPriv   exact   public   netman   none
     group4     ""         usm   authPriv     exact   public   netman   none
     group5     ""         usm   authPriv     exact   public   netman   none
     group6     ""         usm   authPriv     exact   public   netman   none
     group7     ""         usm   authPriv     exact   public   netman   none
     group21    ""         usm   authPriv     exact   public   netman   none
     group22    ""         usm   authPriv     exact   public   netman   none
     group23    ""         usm   authPriv     exact   public   netman   none
     group24    ""         usm   authPriv     exact   public   netman   none
     group31    ""         usm   authPriv     exact   public   netman   none
     group32    ""         usm   authPriv     exact   public   netman   none
     group33    ""         usm   authPriv     exact   public   netman   none
     group34    ""         usm   authPriv     exact   public   netman   none
     group35    ""         usm   authPriv     exact   public   netman   none
     group36    ""         usm   authPriv     exact   public   netman   none
     group37    ""         usm   authPriv     exact   public   netman   none
     group38    ""         usm   authPriv     exact   public   netman   none
     group39    ""         usm   authPriv     exact   public   netman   none
     group40    ""         usm   authPriv     exact   public   netman   none
     group41    ""         usm   authPriv     exact   public   netman   none
     group42    ""         usm   authPriv     exact   public   netman   none
     group11    context11  usm   noAuthNoPriv exact   public   none     none
     group12    context12  usm   authNoPriv   exact   public   netman   none
     group13    context13  usm   authNoPriv   exact   public   netman   none
     group14    context14  usm   authPriv     exact   public   netman   none
     group15    context15  usm   authPriv     exact   public   netman   none
    

    This changes the access clause for group group1. All attributes except for the group name can be changed.

    % ./snmpv3conf --config myvacm.conf --access group1 --details
    INFO - details for access group1 in config myvacm.conf
     group: group1
     prefix: 
     securityModel: usm
     securityLevel: noAuthNoPriv
     contextMatch: exact
     readView: public
     writeView: none
     notifyView: none
     disabled: 0
    
    % ./snmpv3conf --config myvacm.conf --access group1 --change notifyView:netman
    INFO - change notifyView:netman for access group1 in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --access group1 --details
    INFO - details for access group1 in config myvacm.conf
     group: group1
     prefix:
     securityModel: usm
     securityLevel: noAuthNoPriv
     contextMatch: exact
     readView: public
     writeView: none
     notifyView: netman
     disabled: 0
    

    This adds a new access clause for the mygroup group added previously, and changes its securityLevel, writeView and notifyView attributes:

    % ./snmpv3conf --config myvacm.conf --add-access mygroup --change securityLevel:authNoPriv \
    --change writeView:netman --change notifyView:netman
    INFO - add new access mygroup in config myvacm.conf
    INFO - change securityLevel:authNoPriv for access mygroup in config myvacm.conf
    INFO - change writeView:netman for access mygroup in config myvacm.conf
    INFO - change notifyView:netman for access mygroup in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --access mygroup --details
    INFO - details for access mygroup in config myvacm.conf
     group: mygroup
     prefix:
     securityModel: usm
     securityLevel: authNoPriv
     contextMatch: exact
     readView: public
     writeView: netman
     notifyView: netman
     disabled: 0
    

    Notice, this could have also been achieved by copying existing access clause for group2. We will create mygroup2 that way:

    % ./snmpv3conf --config myvacm.conf --add-access mygroup2 --from group2
    INFO - add new access mygroup2 from group2 in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --access mygroup2 --details
    INFO - details for access mygroup2 in config myvacm.conf
     group: mygroup2
     prefix:
     securityModel: usm
     securityLevel: authNoPriv
     contextMatch: exact
     readView: public
     writeView: netman
     notifyView: netman
     disabled: 0
    

    This lists both enabled and disabled access clauses. Enabled access clauses control access to the agent's MIB, disabled clauses do not. You can enable disabled access clauses and vice versa.

    % ./snmpv3conf --config myvacm.conf --list-views
    INFO - list of views in config myvacm.conf
     public netman
    
    % ./snmpv3conf --config myvacm.conf --list-views --details
    INFO - list of views in config myvacm.conf
     view       type     subtree      mask
     --------------------------------------
     public     included   .1
     netman     included   .1
    
    % ./snmpv3conf --config myvacm.conf --list-views --details --disabled
    INFO - list of disabled views in config myvacm.conf
     view       type     subtree      mask
     --------------------------------------
    

    This changes the view public. All attributes except for the view name can be changed.

    % ./snmpv3conf --config myvacm.conf --view public --details
    INFO - details for view public in config myvacm.conf
     view: public
     type: included
     subtree: .1
     mask:
     disabled: 0
    
    % ./snmpv3conf --config myvacm.conf --view public --change subtree:.1.3.6.1.2.1 --change mask:1:3:6:1:2:1
    INFO - change subtree:.1.3.6.1.2.1 for view public in config myvacm.conf
    INFO - change mask:1:3:6:1:2:1 for view public in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --view public --details                     INFO - details for view public in config myvacm.conf
     view: public
     type: included
     subtree: .1.3.6.1.2.1
     mask: 1:3:6:1:2:1
     disabled: 0
    

    This adds a new view enterprise, and changes its subtree:

    % ./snmpv3conf --config myvacm.conf --add-view enterprise --change subtree:.1.3.6.1.4.1
    INFO - add new view enterprise in config myvacm.conf
    INFO - change subtree:.1.3.6.1.4.1 for view enterprise in config myvacm.conf
    
    % ./snmpv3conf --config myvacm.conf --view enterprise --details
    INFO - details for view enterprise in config myvacm.conf
     view: enterprise
     type: included
     subtree: .1.3.6.1.4.1
     mask:
     disabled: 0