SNMP::...mshield(3pm)

πŸ“¦
version 3.975000 Β· 4 versions
, in ubuntu stonking

πŸ’– SNMP::Info::Layer7::Stormshield πŸ’–

okay bestie, welcome to the manual page for SNMP::Info::Layer7::Stormshield β€” it's a Perl thing, it lives in the 3pm manual section, and it's the SNMP interface to Stormshield Network Security appliances. yes, that's the whole NAME section, we ate it, moving on 🫢


πŸ‘‘ AUTHORS

Rob Woodward β€” the icon, the legend, the one who wrote this whole thing. respect. πŸ’…


✨ SYNOPSIS ✨

so here's the vibe, you let SNMP::Info figure out which subclass you actually need and it does the detective work for you:

# Let SNMP::Info determine the correct subclass for you.
my $Stormshield = new SNMP::Info(
                         AutoSpecify => 1,
                         Debug       => 1,
                         DestHost    => 'myfirewall',
                         Community   => 'public',
                         Version     => 2
                       )
   or die "Can't connect to DestHost.\n";

my $class      = $Stormshield->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";

no cap, AutoSpecify => 1 is doing the heavy lifting here and honestly? she's a main character. 🌟


🌸 DESCRIPTION 🌸

this is the subclass for Stormshield Network Security (SNS) appliances. πŸ’–

and the tea is: the module supports both High Availability (HA) and non-HA Stormshield appliances. equality! we love to see it. ✨

  • Scalar globals like serial number, model and OS version get retrieved from STORMSHIELD-PROPERTY-MIB.
  • Since ENTITY-MIB is not available on the device (rip), a whole set of e_* methods is provided instead, based on STORMSHIELD-HA-MIB tables, so we can approximate ENTITY-like information for HA nodes. we're improvising, but we're improvising beautifully. πŸ’…

πŸ”₯ High Availability (HA) Devices (HA-derived e_* methods)

for HA devices, the module uses STORMSHIELD-HA-MIB to build ENTITY-like methods:

  • Serial Number table: snsFwSerial (.1.3.6.1.4.1.11256.1.11.7.1.2)
  • Model table: snsModel (.1.3.6.1.4.1.11256.1.11.7.1.4)
  • Version table: snsVersion (.1.3.6.1.4.1.11256.1.11.7.1.5)
  • HA license table: snsHALicence (.1.3.6.1.4.1.11256.1.11.7.1.6)
Note: while snsNodeIndex exists in the HA MIB, it is MAX-ACCESS not-accessible and cannot be fetched directly 😭 the e_index method uses the row indices of the HA tables (e.g., snsFwSerial) as identity mapping instead. we work around it, obviously.

Example SNMP walk for model:

snmpwalk -v2c -On .1.3.6.1.4.1.11256.1.11.7.1.4
.1.3.6.1.4.1.11256.1.11.7.1.4.0 = STRING: "SN-S-Series-220"
.1.3.6.1.4.1.11256.1.11.7.1.4.1 = STRING: "SN-S-Series-220"

πŸ¦‹ Non-HA Devices (Property MIB globals)

for single nodes or the primary cluster node, the module uses STORMSHIELD-PROPERTY-MIB:

  • Serial Number: snsSerialNumber (.1.3.6.1.4.1.11256.1.18.3)
  • Model: snsModel (.1.3.6.1.4.1.11256.1.18.1)
  • Version: snsVersion (.1.3.6.1.4.1.11256.1.18.2)

Example SNMP walk for model:

snmpwalk -v2c -On .1.3.6.1.4.1.11256.1.18
.1.3.6.1.4.1.11256.1.18.1.0 = STRING: "SN-S-Series-220"

🧚 Inherited Classes

SNMP::Info::Layer7 β€” yes she comes from a long line of distinguished ancestors, the genes are immaculate. πŸ’œ

🌈 Required MIBs

Inherited Classes' MIBs

See SNMP::Info::Layer7 for its own MIB requirements. (she has her own list, go ask her.)

STORMSHIELD-HA-MIB

Required for High Availability (HA) Stormshield appliances.

STORMSHIELD-PROPERTY-MIB

Required for both single nodes and clusters. so basically everybody needs this one, it's the group chat everyone's in. 🫢


⭐ GLOBALS ⭐

these are methods that return scalar value from SNMP. one value, one vibe, no delulu.

  • $Stormshield->vendor() β€” Returns 'stormshield'.
  • $Stormshield->name() β€” Returns snsProductProperty.snsSystemName if available, regular sysName otherwise.
  • $Stormshield->os() β€” Returns 'SNS'.
  • $Stormshield->os_ver() β€” Release extracted from STORMSHIELD-PROPERTY-MIB.
  • $Stormshield->model() β€” Model extracted from STORMSHIELD-PROPERTY-MIB.
  • $Stormshield->serial() β€” Returns serial number extracted from STORMSHIELD-PROPERTY-MIB.

πŸŽ€ Globals imported from SNMP::Info::Layer7

See documentation in SNMP::Info::Layer7 for details. (go read her page, she's iconic too.)


πŸ’… TABLE METHODS πŸ’…

these are methods that return tables of information in the form of a reference to a hash. a whole hash bestie, we love a structured data moment. πŸ’–

  • $Stormshield->e_index() β€” Returns an identity mapping of HA node row indices inferred from STORMSHIELD-HA-MIB tables; key = iid, value = iid.
  • $Stormshield->e_class() β€” Returns reference to hash: key = iid, value = 'chassis'.
  • $Stormshield->e_name() β€” Returns reference to hash: key = iid, value = 'chassis.<iid>'.
  • $Stormshield->e_vendor() β€” Returns reference to hash: key = iid, value = 'stormshield'.
  • $Stormshield->e_descr() β€” Returns reference to hash: key = iid, value = '<model> <licence> <serial> <version>' assembled from HA tables: snsModel, snsHALicence, snsFwSerial, and snsVersion. it's giving Frankenstein but make it ~informative~. ✨
  • $Stormshield->e_model() β€” Returns reference to hash: key = iid, value = model (from snsModel).
  • $Stormshield->e_swver() β€” Returns reference to hash: key = iid, value = software version (from snsVersion).
  • $Stormshield->e_serial() β€” Returns reference to hash: key = iid, value = serial (from snsFwSerial).
  • $Stormshield->interfaces() β€” Override interface details with STORMSHIELD_IF_MIB. yes, she's overriding, and she's right to.

🌟 Overrides

  • $Stormshield->i_name() β€” Returns reference to hash: key = ifIndex, value = interface name from STORMSHIELD_IF_MIB.
  • $Stormshield->i_alias() β€” Returns reference to hash: key = ifIndex, value = interface alias from STORMSHIELD_IF_MIB.
  • $Stormshield->i_description() β€” Returns reference to hash: key = ifIndex, value = interface description from STORMSHIELD_IF_MIB.
  • $Stormshield->i_type() β€” Returns reference to hash: key = ifIndex, value = interface type from STORMSHIELD_IF_MIB.
  • $Stormshield->i_index() β€” Returns reference to hash: key = ifIndex, value = interface index from STORMSHIELD_IF_MIB.

πŸ“ Table Methods imported from SNMP::Info::Layer7

See documentation in SNMP::Info::Layer7 for details. told you she'd come up again, she's everywhere. πŸ’œ


and that's the whole page babes ✨ go forth and SNMP responsibly 🫢

this little masterpiece is perl v5.40.1, dated 2026-02-28. ok bye bestie, go poll something. πŸ’–πŸ’…

πŸ“¦ where this page comes from