Class: PacketGen::Header::RadioTap
- Inherits:
-
Base
- Object
- Types::Fields
- Base
- PacketGen::Header::RadioTap
- Defined in:
- lib/packetgen/header/dot11.rb
Overview
Radiotap header
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.
Attributes inherited from Base
Instance Method Summary collapse
-
#parse? ⇒ Boolean
Check version field.
-
#read(str) ⇒ RadioTap
Self.
-
#to_w(iface) ⇒ void
send RadioTap packet on wire.
Methods inherited from Base
bind_header, #header_id, inherited, #ip_header, known_headers, #protocol_name
Methods inherited from Types::Fields
#[], #[]=, define_bit_fields_on, define_field, define_field_after, define_field_before, #fields, #force_binary, inherited, #initialize, #inspect, #sz, #to_h, #to_s
Constructor Details
This class inherits a constructor from PacketGen::Types::Fields
Instance Attribute Details
#body ⇒ Type::String
87 |
# File 'lib/packetgen/header/dot11.rb', line 87 define_field :body, Types::String |
#length ⇒ Integer
Returns 16-bit RadioTap header length.
78 |
# File 'lib/packetgen/header/dot11.rb', line 78 define_field :length, Types::Int16le |
#pad ⇒ Integer
Returns 8-bit pad.
75 |
# File 'lib/packetgen/header/dot11.rb', line 75 define_field :pad, Types::Int8, default: 0 |
#present_flags ⇒ Integer
Returns 32-bit integer.
81 |
# File 'lib/packetgen/header/dot11.rb', line 81 define_field :present_flags, Types::Int32le |
#radio_fields ⇒ Type::String
Returns concatenation of RadioTap fields.
84 |
# File 'lib/packetgen/header/dot11.rb', line 84 define_field :radio_fields, Types::String |
#version ⇒ Integer
Returns 8-bit version.
72 |
# File 'lib/packetgen/header/dot11.rb', line 72 define_field :version, Types::Int8, default: 0 |
Instance Method Details
#parse? ⇒ Boolean
Check version field
105 106 107 |
# File 'lib/packetgen/header/dot11.rb', line 105 def parse? version == 0 end |
#read(str) ⇒ RadioTap
Returns self.
91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/packetgen/header/dot11.rb', line 91 def read(str) return self if str.nil? force_binary str self[:version].read str[0, 1] self[:pad].read str[1, 1] self[:length].read str[2, 2] self[:present_flags].read str[4, 4] self[:radio_fields].read str[8, length - 8] self[:body].read str[length, str.size] self end |
#to_w(iface) ⇒ void
This method returns an undefined value.
send RadioTap packet on wire. Dot11 FCS trailer should be set.
112 113 114 115 116 |
# File 'lib/packetgen/header/dot11.rb', line 112 def to_w(iface) pcap = PCAPRUB::Pcap.open_live(iface, PCAP_SNAPLEN, PCAP_PROMISC, PCAP_TIMEOUT) pcap.inject self.to_s end |