Class: PacketGen::Header::SNMP
- Defined in:
- lib/packetgen/header/snmp.rb
Overview
Simple Network Management Protocol (SNMP)
Defined Under Namespace
Classes: Bulk, GetNextRequest, GetRequest, GetResponse, InformRequest, PDUs, Report, SetRequest, Trapv1, Trapv2, VarBind, VariableBindings
Constant Summary collapse
- UDP_PORT1 =
Agents listen to this port
161
- UDP_PORT2 =
Configuration sinks listen to this port
162
- PDU_GET =
rubocop:disable Naming/ConstantName
0
- PDU_NEXT =
1
- PDU_RESPONSE =
2
- PDU_SET =
3
- PDU_TRAPv1 =
4
- PDU_BULK =
5
- PDU_INFORM =
6
- PDU_TRAPv2 =
7
- PDU_REPORT =
8
- ERRORS =
rubocop:enable Naming/ConstantName
{ 'no_error' => 0, 'too_big' => 1, 'no_such_name' => 2, 'bad_value' => 3, 'read_only' => 4, 'generic_error' => 5, 'no_access' => 6, 'wrong_type' => 7, 'wrong_length' => 8, 'wrong_encoding' => 9, 'wrong_value' => 10, 'no_creation' => 11, 'inconsistent_value' => 12, 'ressource_unavailable' => 13, 'commit_failed' => 14, 'undo_failed' => 15, 'authorization_error' => 16, 'not_writable' => 17, 'inconsistent_name' => 18 }.freeze
Instance Method Summary collapse
- #added_to_packet(packet) ⇒ void private
-
#data ⇒ GetRequest
accessor to data payload.
-
#initialize(options = {}) ⇒ SNMP
constructor
A new instance of SNMP.
- #inspect ⇒ Object
-
#pdu ⇒ GetRequest, ...
shortcut to PDU.
Methods inherited from ASN1Base
define_attributes, known_headers, #read
Methods included from PacketGen::Headerable
included, #method_name, #packet, #packet=, #parse?, #protocol_name, #read
Constructor Details
#initialize(options = {}) ⇒ SNMP
Returns a new instance of SNMP.
262 263 264 265 266 267 268 |
# File 'lib/packetgen/header/snmp.rb', line 262 def initialize(={}) super data.chosen = [:chosen_pdu] if [:chosen_pdu] return unless [:pdu] data.root.value[data.chosen] = data.root.chosen_value.class.new([:pdu]) end |
Instance Method Details
#added_to_packet(packet) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method is used internally by PacketGen and should not be directly called
This method returns an undefined value.
303 304 305 306 307 308 |
# File 'lib/packetgen/header/snmp.rb', line 303 def added_to_packet(packet) return unless packet.is? 'UDP' return unless packet.udp.sport.zero? packet.udp.sport = packet.udp.dport end |
#data ⇒ GetRequest
accessor to data payload
272 273 274 |
# File 'lib/packetgen/header/snmp.rb', line 272 def data @elements[:data] end |
#inspect ⇒ Object
286 287 288 289 290 291 292 293 294 |
# File 'lib/packetgen/header/snmp.rb', line 286 def inspect str = super str << Inspect.shift_level str << if self[:data].chosen.nil? Inspect::FMT_ATTR % [self[:data].type, :data, ''] else inspect_data end end |
#pdu ⇒ GetRequest, ...
shortcut to PDU
278 279 280 281 282 283 284 |
# File 'lib/packetgen/header/snmp.rb', line 278 def pdu if data.chosen.nil? nil else data.root.chosen_value end end |