Class: PacketGen::Header::RadioTap
- Defined in:
- lib/packetgen/header/dot11.rb
Overview
Radiotap header (see www.radiotap.org/)
Instance Attribute Summary collapse
- #body ⇒ Type::String
-
#length ⇒ Integer
16-bit RadioTap header length.
-
#pad ⇒ Integer
8-bit pad.
-
#present_flags ⇒ Integer
32-bit integer.
-
#radio_fields ⇒ Type::String
Concatenation of RadioTap fields.
-
#version ⇒ Integer
8-bit version.
Instance Method Summary collapse
-
#calc_length ⇒ Integer
Calculate header length.
-
#parse? ⇒ Boolean
Check version field.
-
#to_w(iface) ⇒ void
send RadioTap packet on wire.
Methods inherited from Base
bind, calculate_and_set_length, #header_id, inherited, #initialize, #ip_header, #ll_header
Methods included from PacketGen::Headerable
#added_to_packet, included, #method_name, #packet, #packet=, #protocol_name, #read, #to_s
Constructor Details
This class inherits a constructor from PacketGen::Header::Base
Instance Attribute Details
#body ⇒ Type::String
82 |
# File 'lib/packetgen/header/dot11.rb', line 82 define_attr :body, BinStruct::String |
#length ⇒ Integer
Returns 16-bit RadioTap header length.
73 |
# File 'lib/packetgen/header/dot11.rb', line 73 define_attr :length, BinStruct::Int16le, default: 8 |
#pad ⇒ Integer
Returns 8-bit pad.
70 |
# File 'lib/packetgen/header/dot11.rb', line 70 define_attr :pad, BinStruct::Int8, default: 0 |
#present_flags ⇒ Integer
Returns 32-bit integer.
76 |
# File 'lib/packetgen/header/dot11.rb', line 76 define_attr :present_flags, BinStruct::Int32le |
#radio_fields ⇒ Type::String
Returns concatenation of RadioTap fields.
79 |
# File 'lib/packetgen/header/dot11.rb', line 79 define_attr :radio_fields, BinStruct::String, builder: ->(h, t) { t.new(length_from: -> { h.length - 8 }) } |
#version ⇒ Integer
Returns 8-bit version.
67 |
# File 'lib/packetgen/header/dot11.rb', line 67 define_attr :version, BinStruct::Int8, default: 0 |
Instance Method Details
#calc_length ⇒ Integer
Calculate header length
93 94 95 |
# File 'lib/packetgen/header/dot11.rb', line 93 def calc_length self[:length].value = self.sz - self[:body].sz end |
#parse? ⇒ Boolean
Check version field
86 87 88 |
# File 'lib/packetgen/header/dot11.rb', line 86 def parse? version.zero? && (length >= 8) end |