123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647 |
- <style id="node-red-node-snmp-common-style">
- .form-row.form-row-snmpv1v2.hidden {
- display: none !important;
- }
- .form-row.form-row-snmpv3.hidden {
- display: none !important;
- }
- .form-row.form-row-snmpv3-auth.hidden {
- display: none;
- }
- </style>
- <script type="text/javascript" id="node-red-node-snmp-common-script">
- const node_snmp_common = {
- oneditprepare: function (node) {
- const compat = { "v1": "1", "v2": "2c", "v2c": "2c", "v3": "3" };
- if(compat[node.version]) {
- node.version = compat[node.version];
- } else if(["1","2c","3"].indexOf(node.version) < 0) {
- node.version = "1";
- }
- $("#node-input-version").on("change", function(evt) {
- const isV3 = $("#node-input-version").val() === "3";
- $(".form-row-snmpv1v2").toggleClass("hidden", isV3);
- $(".form-row-snmpv3").toggleClass("hidden", !isV3);
- $("#node-input-auth").trigger("change");
- });
- $("#node-input-auth").on("change", function(evt) {
- const isV3 = $("#node-input-version").val() === "3";
- const auth = $("#node-input-auth").val();
- if(isV3) {
- switch (auth) {
- case "authNoPriv":
- $(".form-row-snmpv3-auth").toggleClass("hidden", false);
- $(".form-row-snmpv3-priv").toggleClass("hidden", true);
- break;
- case "authPriv":
- $(".form-row-snmpv3-auth").toggleClass("hidden", false);
- $(".form-row-snmpv3-priv").toggleClass("hidden", false);
- break;
- default: //"noAuthNoPriv":
- $(".form-row-snmpv3-auth").toggleClass("hidden", true);
- $(".form-row-snmpv3-priv").toggleClass("hidden", true);
- break;
- }
- }
- });
- $("#node-input-version").val(node.version);
- if(!$("#node-input-auth").val()) {
- $("#node-input-auth").val("noAuthNoPriv");
- }
- $("#node-input-version").trigger("change");
- }
- }
- </script>
- <script type="text/html" data-template-name="snmp">
- <div class="form-row">
- <label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
- <input type="text" id="node-input-host" placeholder="ip address(:optional port)">
- </div>
- <div class="form-row">
- <label for="node-input-version"><i class="fa fa-bookmark"></i> Version</label>
- <select type="text" id="node-input-version" style="width:150px;">
- <option value="1">v1</option>
- <option value="2c">v2c</option>
- <option value="3">v3</option>
- </select>
- <span style="margin-left:50px;">Timeout</span>
- <input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;"> S
- </div>
- <div class="form-row form-row-snmpv1v2">
- <label for="node-input-community"><i class="fa fa-user"></i> Community</label>
- <input type="text" id="node-input-community" placeholder="public">
- </div>
- <!-- Following Data is used for V3 Only -->
- <div class="form-row form-row-snmpv3">
- <label for="node-input-username"><i class="fa fa-user"></i> Username</label>
- <input type="text" id="node-input-username" placeholder="username">
- </div>
- <div class="form-row form-row-snmpv3">
- <label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
- <select type="text" id="node-input-auth" style="width:150px;">
- <option value="noAuthNoPriv">noAuthNoPriv</option>
- <option value="authNoPriv">authNoPriv</option>
- <option value="authPriv">authPriv</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
- <select type="text" id="node-input-authprot" style="width:150px;">
- <option value="MD5">MD5</option>
- <option value="SHA">SHA</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
- <input type="password" id="node-input-authkey" placeholder="Authentication key">
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
- <select type="text" id="node-input-privprot" style="width:150px;">
- <option value="DES">DES</option>
- <option value="AES">AES</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
- <input type="password" id="node-input-privkey" placeholder="Encryption key">
- </div>
- <!-- End of unique data for V3 -->
- <div class="form-row">
- <label for="node-input-oids"><i class="fa fa-tags"></i> OIDs</label>
- <textarea rows="4" cols="60" id="node-input-oids" placeholder="e.g. 1.3.6.1.2.1.1.5.0" style="width:70%;"></textarea>
- </div>
- <div class="form-row">
- <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
- <input type="text" id="node-input-name" placeholder="Name">
- </div>
- <div class="form-tips">Tip: Multiple OIDs can be separated by commas.</div>
- </script>
-
- <script type="text/html" data-help-name="snmp">
- <p>Simple SNMP oid or oid list fetcher. Triggered by any input.</p>
- <p><code>msg.host</code> may contain the host.</p>
- <p><code>msg.community</code> may contain the community.</p>
- <p><code>msg.username</code> may contain the username. (V3 only)</p>
- <p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
- <p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
- <p><code>msg.oid</code> may contain a comma separated list of oids to request. (no spaces)</p>
- <p>OIDs must be numeric. iso. is the same a 1. </p>
- <p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
- </script>
-
- <script type="text/javascript">
- RED.nodes.registerType('snmp', {
- category: 'network-input',
- color: "YellowGreen",
- defaults: {
- host: { value: "127.0.0.1" },
- version: { value: "1", required: true },
- timeout: { value: 5 },
- community: { value: "public" },
- auth: { value: "noAuthNoPriv", required: true },
- authprot: { value: "MD5", required: true },
- privprot: { value: "DES", required: true },
- oids: { value: "" },
- name: { value: "" },
- },
- credentials: {
- username: { type: "text" },
- authkey: { type: "password" },
- privkey: { type: "password" }
- },
- inputs: 1,
- outputs: 1,
- icon: "snmp.png",
- label: function () {
- return this.name || "snmp " + this.host;
- },
- labelStyle: function () {
- return this.name ? "node_label_italic" : "";
- },
- oneditprepare: function () {
- node_snmp_common.oneditprepare(this);
- }
- });
- </script>
-
- <script type="text/html" data-template-name="snmp set">
- <div class="form-row">
- <label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
- <input type="text" id="node-input-host" placeholder="ip address(:optional port)">
- </div>
- <div class="form-row">
- <label for="node-input-version"><i class="fa fa-bookmark"></i> Version</label>
- <select type="text" id="node-input-version" style="width:150px;">
- <option value="1">v1</option>
- <option value="2c">v2c</option>
- <!-- Following Data is used for V3 Only -->
- <option value="3">v3</option>
- <!-- End of unique data for V3 -->
- </select>
- <span style="margin-left:50px;">Timeout</span>
- <input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;"> S
- </div>
- <div class="form-row form-row-snmpv1v2">
- <label for="node-input-community"><i class="fa fa-user"></i> Community</label>
- <input type="text" id="node-input-community" placeholder="public">
- </div>
- <!-- Following Data is used for V3 Only -->
- <div class="form-row form-row-snmpv3">
- <label for="node-input-username"><i class="fa fa-user"></i> Username</label>
- <input type="text" id="node-input-username" placeholder="username">
- </div>
- <div class="form-row form-row-snmpv3">
- <label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
- <select type="text" id="node-input-auth" style="width:150px;">
- <option value="noAuthNoPriv">noAuthNoPriv</option>
- <option value="authNoPriv">authNoPriv</option>
- <option value="authPriv">authPriv</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
- <select type="text" id="node-input-authprot" style="width:150px;">
- <option value="MD5">MD5</option>
- <option value="SHA">SHA</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
- <input type="password" id="node-input-authkey" placeholder="Authentication key">
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
- <select type="text" id="node-input-privprot" style="width:150px;">
- <option value="DES">DES</option>
- <option value="AES">AES</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
- <input type="password" id="node-input-privkey" placeholder="Encryption key">
- </div>
- <!-- End of unique data for V3 -->
- <div class="form-row">
- <label for="node-input-varbinds"><i class="fa fa-tags"></i> Varbinds</label>
- <textarea rows="10" cols="60" id="node-input-varbinds" placeholder="e.g. [ { "oid": "1.3.6.1.2.1.1.5.0", "type": "OctetString", "value": "host1"}, { "oid": "1.3.6.1.2.1.1.6.0", "type": "OctetString", value: "somewhere" } ]"
- style="width:70%;"></textarea>
- </div>
- <div class="form-row">
- <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
- <input type="text" id="node-input-name" placeholder="Name">
- </div>
- <div class="form-tips">Tip: Numeric inputs must be numbers not strings, e.g. 1 not "1".</div>
- </script>
-
- <script type="text/html" data-help-name="snmp set">
- <p>Simple snmp Set node. Trigger by any input</p>
- <p><code>msg.host</code> may contain the host.</p>
- <p><code>msg.community</code> may contain the community.</p>
- <p><code>msg.username</code> may contain the username. (V3 only)</p>
- <p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
- <p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
- <p><code>msg.varbinds</code> may contain varbinds as an array of json objects containing multiple oids, types and values.
- <code style="font-size: smaller;"><pre style="white-space: pre;">[
- {
- "oid": "1.3.6.1.2.1.1.5.0",
- "type": "OctetString",
- "value": "host1"
- },
- { "oid": ... }
- ]</pre></code>
- <p>Any numeric inputs must be numbers, not strings, e.g. 1 not "1".</p>
- <p>OIDs must be numeric. iso. is the same a 1.</p>
- </p>
- </script>
-
- <script type="text/javascript">
- RED.nodes.registerType('snmp set', {
- category: 'network-input',
- color: "YellowGreen",
- defaults: {
- host: { value: "127.0.0.1" },
- version: { value: "1", required: true },
- timeout: { value: 5 },
- community: { value: "public" },
- auth: { value: "noAuthNoPriv", required: true },
- authprot: { value: "MD5", required: true },
- privprot: { value: "DES", required: true },
- oids: { value: "" },
- varbinds: { value: "", validate:function(v) {
- try {
- return !v || !!JSON.parse(v);
- } catch(e) {
- return false;
- }
- }},
- name: { value: "" }
- },
- credentials: {
- username: { type: "text" },
- authkey: { type: "password" },
- privkey: { type: "password" }
- },
- inputs: 1,
- outputs: 0,
- icon: "snmp.png",
- label: function () {
- return this.name || "snmp set " + this.host;
- },
- labelStyle: function () {
- return this.name ? "node_label_italic" : "";
- },
- oneditprepare: function () {
- node_snmp_common.oneditprepare(this);
- }
- });
- </script>
-
- <script type="text/html" data-template-name="snmp table">
- <div class="form-row">
- <label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
- <input type="text" id="node-input-host" placeholder="ip address(:optional port)">
- </div>
- <div class="form-row">
- <label for="node-input-version"><i class="fa fa-bookmark"></i> Version</label>
- <select type="text" id="node-input-version" style="width:150px;">
- <option value="1">v1</option>
- <option value="2c">v2c</option>
- <!-- Following Data is used for V3 Only -->
- <option value="3">v3</option>
- <!-- End of unique data for V3 -->
- </select>
- <span style="margin-left:50px;">Timeout</span>
- <input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;"> S
- </div>
- <div class="form-row form-row-snmpv1v2">
- <label for="node-input-community"><i class="fa fa-user"></i> Community</label>
- <input type="text" id="node-input-community" placeholder="public">
- </div>
- <!-- Following Data is used for V3 Only -->
- <div class="form-row form-row-snmpv3">
- <label for="node-input-username"><i class="fa fa-user"></i> Username</label>
- <input type="text" id="node-input-username" placeholder="username">
- </div>
- <div class="form-row form-row-snmpv3">
- <label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
- <select type="text" id="node-input-auth" style="width:150px;">
- <option value="noAuthNoPriv">noAuthNoPriv</option>
- <option value="authNoPriv">authNoPriv</option>
- <option value="authPriv">authPriv</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
- <select type="text" id="node-input-authprot" style="width:150px;">
- <option value="MD5">MD5</option>
- <option value="SHA">SHA</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
- <input type="password" id="node-input-authkey" placeholder="Authentication key">
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
- <select type="text" id="node-input-privprot" style="width:150px;">
- <option value="DES">DES</option>
- <option value="AES">AES</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
- <input type="password" id="node-input-privkey" placeholder="Encryption key">
- </div>
- <!-- End of unique data for V3 -->
- <div class="form-row">
- <label for="node-input-oids"><i class="fa fa-tags"></i> OID</label>
- <input type="text" id="node-input-oids" placeholder="e.g. 1.3.6.1.2.1.1.5.0">
- </div>
- <div class="form-row">
- <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
- <input type="text" id="node-input-name" placeholder="Name">
- </div>
- <div class="form-tips">Tip: ONLY accepts a single OID.</div>
- </script>
-
- <script type="text/html" data-help-name="snmp table">
- <p>Simple SNMP oid table fetcher. Triggered by any input.</p>
- <p><code>msg.host</code> may contain the host.</p>
- <p><code>msg.community</code> may contain the community.</p>
- <p><code>msg.username</code> may contain the username. (V3 only)</p>
- <p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
- <p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
- <p><code>msg.oid</code> may contain the oid of a table to request.</p>
- <p>OID must be numeric. iso. is the same a 1.</p>
- <p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
- </script>
-
- <script type="text/javascript">
- RED.nodes.registerType('snmp table', {
- category: 'network-input',
- color: "YellowGreen",
- defaults: {
- host: { value: "127.0.0.1" },
- version: { value: "1", required: true },
- timeout: { value: 5 },
- community: { value: "public" },
- auth: { value: "noAuthNoPriv", required: true },
- authprot: { value: "MD5", required: true },
- privprot: { value: "DES", required: true },
- oids: { value: "" },
- name: { value: "" }
- },
- credentials: {
- username: { type: "text" },
- authkey: { type: "password" },
- privkey: { type: "password" }
- },
- inputs: 1,
- outputs: 1,
- icon: "snmp.png",
- label: function () {
- return this.name || "snmp table " + this.host;
- },
- labelStyle: function () {
- return this.name ? "node_label_italic" : "";
- },
- oneditprepare: function () {
- node_snmp_common.oneditprepare(this);
- }
- });
- </script>
-
- <script type="text/html" data-template-name="snmp subtree">
- <div class="form-row">
- <label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
- <input type="text" id="node-input-host" placeholder="ip address(:optional port)">
- </div>
- <div class="form-row">
- <label for="node-input-version"><i class="fa fa-bookmark"></i> Version</label>
- <select type="text" id="node-input-version" style="width:150px;">
- <option value="1">v1</option>
- <option value="2c">v2c</option>
- <!-- Following Data is used for V3 Only -->
- <option value="3">v3</option>
- <!-- End of unique data for V3 -->
- </select>
- <span style="margin-left:50px;">Timeout</span>
- <input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;"> S
- </div>
- <div class="form-row form-row-snmpv1v2">
- <label for="node-input-community"><i class="fa fa-user"></i> Community</label>
- <input type="text" id="node-input-community" placeholder="public">
- </div>
- <!-- Following Data is used for V3 Only -->
- <div class="form-row form-row-snmpv3">
- <label for="node-input-username"><i class="fa fa-user"></i> Username</label>
- <input type="text" id="node-input-username" placeholder="username">
- </div>
- <div class="form-row form-row-snmpv3">
- <label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
- <select type="text" id="node-input-auth" style="width:150px;">
- <option value="noAuthNoPriv">noAuthNoPriv</option>
- <option value="authNoPriv">authNoPriv</option>
- <option value="authPriv">authPriv</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
- <select type="text" id="node-input-authprot" style="width:150px;">
- <option value="MD5">MD5</option>
- <option value="SHA">SHA</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
- <input type="password" id="node-input-authkey" placeholder="Authentication key">
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
- <select type="text" id="node-input-privprot" style="width:150px;">
- <option value="DES">DES</option>
- <option value="AES">AES</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
- <input type="password" id="node-input-privkey" placeholder="Encryption key">
- </div>
- <!-- End of unique data for V3 -->
- <div class="form-row">
- <label for="node-input-oids"><i class="fa fa-tags"></i> OID</label>
- <input type="text" id="node-input-oids" placeholder="e.g. 1.3.6.1.2.1.1.5.0">
- </div>
- <div class="form-row">
- <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
- <input type="text" id="node-input-name" placeholder="Name">
- </div>
- <div class="form-tips">Tip: ONLY accepts a single OID (node).</div>
- </script>
-
- <script type="text/html" data-help-name="snmp subtree">
- <p>Simple SNMP oid subtree fetcher. Triggered by any input. Reads all OIDS at and below the current base OID.</p>
- <p><code>msg.host</code> may contain the host.</p>
- <p><code>msg.community</code> may contain the community.</p>
- <p><code>msg.username</code> may contain the username. (V3 only)</p>
- <p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
- <p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
- <p><code>msg.oid</code> may contain the oid of a table to request.</p>
- <p>OID must be numeric. iso. is the same a 1. </p>
- <p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
- </script>
-
- <script type="text/javascript">
- RED.nodes.registerType('snmp subtree', {
- category: 'network-input',
- color: "YellowGreen",
- defaults: {
- host: { value: "127.0.0.1" },
- version: { value: "1", required: true },
- timeout: { value: 5 },
- community: { value: "public" },
- auth: { value: "noAuthNoPriv", required: true },
- authprot: { value: "MD5", required: true },
- privprot: { value: "DES", required: true },
- oids: { value: "" },
- name: { value: "" }
- },
- credentials: {
- username: { type: "text" },
- authkey: { type: "password" },
- privkey: { type: "password" }
- },
- inputs: 1,
- outputs: 1,
- icon: "snmp.png",
- label: function () {
- return this.name || "snmp subtree " + this.host;
- },
- labelStyle: function () {
- return this.name ? "node_label_italic" : "";
- },
- oneditprepare: function () {
- node_snmp_common.oneditprepare(this);
- }
- });
- </script>
-
-
- <script type="text/html" data-template-name="snmp walker">
- <div class="form-row">
- <label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
- <input type="text" id="node-input-host" placeholder="ip address(:optional port)">
- </div>
- <div class="form-row">
- <label for="node-input-version"><i class="fa fa-bookmark"></i> Version</label>
- <select type="text" id="node-input-version" style="width:150px;">
- <option value="1">v1</option>
- <option value="2c">v2c</option>
- <!-- Following Data is used for V3 Only -->
- <option value="3">v3</option>
- <!-- End of unique data for V3 -->
- </select>
- <span style="margin-left:50px;">Timeout</span>
- <input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;"> S
- </div>
- <div class="form-row form-row-snmpv1v2">
- <label for="node-input-community"><i class="fa fa-user"></i> Community</label>
- <input type="text" id="node-input-community" placeholder="public">
- </div>
- <!-- Following Data is used for V3 Only -->
- <div class="form-row form-row-snmpv3">
- <label for="node-input-username"><i class="fa fa-user"></i> Username</label>
- <input type="text" id="node-input-username" placeholder="username">
- </div>
- <div class="form-row form-row-snmpv3">
- <label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
- <select type="text" id="node-input-auth" style="width:150px;">
- <option value="noAuthNoPriv">noAuthNoPriv</option>
- <option value="authNoPriv">authNoPriv</option>
- <option value="authPriv">authPriv</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
- <select type="text" id="node-input-authprot" style="width:150px;">
- <option value="MD5">MD5</option>
- <option value="SHA">SHA</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
- <label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
- <input type="password" id="node-input-authkey" placeholder="Authentication key">
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
- <select type="text" id="node-input-privprot" style="width:150px;">
- <option value="DES">DES</option>
- <option value="AES">AES</option>
- </select>
- </div>
- <div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
- <label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
- <input type="password" id="node-input-privkey" placeholder="Encryption key">
- </div>
- <!-- End of unique data for V3 -->
- <div class="form-row">
- <label for="node-input-oids"><i class="fa fa-tags"></i> OID</label>
- <input type="text" id="node-input-oids" placeholder="e.g. 1.3.6.1.2.1.1.5.0">
- </div>
- <div class="form-row">
- <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
- <input type="text" id="node-input-name" placeholder="Name">
- </div>
- <div class="form-tips">Tip: ONLY accepts a single OID (node).</div>
- </script>
-
- <script type="text/html" data-help-name="snmp walker">
- <p>Simple SNMP oid walker fetcher. Triggered by any input.
- Fetches all nodes from this OID to the end of the table.</p>
- <p><code>msg.host</code> may contain the host.</p>
- <p><code>msg.community</code> may contain the community.</p>
- <p><code>msg.username</code> may contain the username. (V3 only)</p>
- <p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
- <p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
- <p><code>msg.oid</code> may contain the oid of a table to request.</p>
- <p>OID must be numeric. iso. is the same a 1. </p>
- <p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
- <p><b>Note</b>: This node does indeed "walk" down the tree. This is different behaviour to
- the typical snmpwalk command line app.</p>
- </script>
-
- <script type="text/javascript">
- RED.nodes.registerType('snmp walker', {
- category: 'network-input',
- color: "YellowGreen",
- defaults: {
- host: { value: "127.0.0.1" },
- version: { value: "1", required: true },
- timeout: { value: 5 },
- community: { value: "public" },
- auth: { value: "noAuthNoPriv", required: true },
- authprot: { value: "MD5", required: true },
- privprot: { value: "DES", required: true },
- oids: { value: "" },
- name: { value: "" }
- },
- credentials: {
- username: { type: "text" },
- authkey: { type: "password" },
- privkey: { type: "password" }
- },
- inputs: 1,
- outputs: 1,
- icon: "snmp.png",
- label: function () {
- return this.name || "snmp walker " + this.host;
- },
- labelStyle: function () {
- return this.name ? "node_label_italic" : "";
- },
- oneditprepare: function () {
- node_snmp_common.oneditprepare(this);
- }
- });
- </script>
|