packetgen 3.1.3 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/packetgen.rb +24 -2
- data/lib/packetgen/capture.rb +30 -24
- data/lib/packetgen/config.rb +2 -2
- data/lib/packetgen/deprecation.rb +33 -7
- data/lib/packetgen/header.rb +2 -9
- data/lib/packetgen/header/arp.rb +2 -2
- data/lib/packetgen/header/asn1_base.rb +2 -2
- data/lib/packetgen/header/base.rb +2 -4
- data/lib/packetgen/header/bootp.rb +3 -3
- data/lib/packetgen/header/dhcp.rb +2 -2
- data/lib/packetgen/header/dhcp/option.rb +2 -2
- data/lib/packetgen/header/dhcp/options.rb +2 -2
- data/lib/packetgen/header/dhcpv6.rb +12 -12
- data/lib/packetgen/header/dhcpv6/duid.rb +8 -4
- data/lib/packetgen/header/dhcpv6/option.rb +4 -4
- data/lib/packetgen/header/dhcpv6/options.rb +2 -2
- data/lib/packetgen/header/dhcpv6/relay.rb +2 -2
- data/lib/packetgen/header/dns.rb +9 -9
- data/lib/packetgen/header/dns/name.rb +2 -2
- data/lib/packetgen/header/dns/opt.rb +2 -2
- data/lib/packetgen/header/dns/option.rb +2 -2
- data/lib/packetgen/header/dns/qdsection.rb +2 -2
- data/lib/packetgen/header/dns/question.rb +35 -35
- data/lib/packetgen/header/dns/rr.rb +3 -3
- data/lib/packetgen/header/dns/rrsection.rb +2 -2
- data/lib/packetgen/header/dot11.rb +5 -13
- data/lib/packetgen/header/dot11/control.rb +5 -5
- data/lib/packetgen/header/dot11/data.rb +2 -2
- data/lib/packetgen/header/dot11/element.rb +16 -16
- data/lib/packetgen/header/dot11/management.rb +2 -2
- data/lib/packetgen/header/dot11/sub_mngt.rb +2 -12
- data/lib/packetgen/header/dot1q.rb +2 -2
- data/lib/packetgen/header/dot1x.rb +6 -6
- data/lib/packetgen/header/eap.rb +16 -16
- data/lib/packetgen/header/eap/fast.rb +2 -2
- data/lib/packetgen/header/eap/md5.rb +2 -2
- data/lib/packetgen/header/eap/tls.rb +2 -2
- data/lib/packetgen/header/eap/ttls.rb +2 -2
- data/lib/packetgen/header/eth.rb +8 -5
- data/lib/packetgen/header/gre.rb +2 -2
- data/lib/packetgen/header/http.rb +2 -0
- data/lib/packetgen/header/http/headers.rb +2 -2
- data/lib/packetgen/header/http/request.rb +5 -5
- data/lib/packetgen/header/http/response.rb +6 -6
- data/lib/packetgen/header/http/verbs.rb +2 -2
- data/lib/packetgen/header/icmp.rb +2 -2
- data/lib/packetgen/header/icmpv6.rb +2 -2
- data/lib/packetgen/header/igmp.rb +4 -4
- data/lib/packetgen/header/igmpv3.rb +3 -3
- data/lib/packetgen/header/igmpv3/group_record.rb +6 -6
- data/lib/packetgen/header/igmpv3/mq.rb +2 -2
- data/lib/packetgen/header/igmpv3/mr.rb +2 -2
- data/lib/packetgen/header/ip.rb +3 -5
- data/lib/packetgen/header/ip/addr.rb +7 -2
- data/lib/packetgen/header/ip/option.rb +4 -6
- data/lib/packetgen/header/ip/options.rb +3 -5
- data/lib/packetgen/header/ipv6.rb +2 -2
- data/lib/packetgen/header/ipv6/addr.rb +7 -2
- data/lib/packetgen/header/ipv6/extension.rb +2 -2
- data/lib/packetgen/header/ipv6/hop_by_hop.rb +3 -3
- data/lib/packetgen/header/llc.rb +2 -2
- data/lib/packetgen/header/mdns.rb +2 -2
- data/lib/packetgen/header/mld.rb +2 -2
- data/lib/packetgen/header/mldv2.rb +2 -2
- data/lib/packetgen/header/mldv2/mcast_address_record.rb +2 -2
- data/lib/packetgen/header/mldv2/mlq.rb +2 -2
- data/lib/packetgen/header/mldv2/mlr.rb +2 -2
- data/lib/packetgen/header/ospfv2.rb +9 -9
- data/lib/packetgen/header/ospfv2/db_description.rb +2 -2
- data/lib/packetgen/header/ospfv2/hello.rb +2 -2
- data/lib/packetgen/header/ospfv2/ls_ack.rb +2 -2
- data/lib/packetgen/header/ospfv2/ls_request.rb +2 -2
- data/lib/packetgen/header/ospfv2/ls_update.rb +2 -2
- data/lib/packetgen/header/ospfv2/lsa.rb +3 -5
- data/lib/packetgen/header/ospfv2/lsa_header.rb +6 -6
- data/lib/packetgen/header/ospfv3.rb +2 -2
- data/lib/packetgen/header/ospfv3/db_description.rb +2 -2
- data/lib/packetgen/header/ospfv3/hello.rb +2 -2
- data/lib/packetgen/header/ospfv3/ipv6_prefix.rb +2 -2
- data/lib/packetgen/header/ospfv3/ls_ack.rb +2 -2
- data/lib/packetgen/header/ospfv3/ls_request.rb +2 -2
- data/lib/packetgen/header/ospfv3/ls_update.rb +2 -2
- data/lib/packetgen/header/ospfv3/lsa.rb +3 -5
- data/lib/packetgen/header/ospfv3/lsa_header.rb +7 -7
- data/lib/packetgen/header/snmp.rb +31 -28
- data/lib/packetgen/header/tcp.rb +3 -3
- data/lib/packetgen/header/tcp/option.rb +3 -5
- data/lib/packetgen/header/tcp/options.rb +2 -2
- data/lib/packetgen/header/tftp.rb +6 -6
- data/lib/packetgen/header/udp.rb +3 -3
- data/lib/packetgen/headerable.rb +5 -4
- data/lib/packetgen/inject.rb +23 -0
- data/lib/packetgen/inspect.rb +24 -5
- data/lib/packetgen/packet.rb +76 -51
- data/lib/packetgen/pcap.rb +29 -0
- data/lib/packetgen/pcapng.rb +2 -2
- data/lib/packetgen/pcapng/block.rb +12 -12
- data/lib/packetgen/pcapng/epb.rb +3 -7
- data/lib/packetgen/pcapng/file.rb +134 -95
- data/lib/packetgen/pcapng/idb.rb +30 -30
- data/lib/packetgen/pcapng/shb.rb +25 -34
- data/lib/packetgen/pcapng/spb.rb +4 -8
- data/lib/packetgen/pcapng/unknown_block.rb +2 -2
- data/lib/packetgen/pcaprub_wrapper.rb +67 -0
- data/lib/packetgen/proto.rb +2 -2
- data/lib/packetgen/types.rb +2 -0
- data/lib/packetgen/types/abstract_tlv.rb +24 -6
- data/lib/packetgen/types/array.rb +5 -5
- data/lib/packetgen/types/cstring.rb +2 -2
- data/lib/packetgen/types/enum.rb +3 -2
- data/lib/packetgen/types/fields.rb +5 -7
- data/lib/packetgen/types/int.rb +3 -5
- data/lib/packetgen/types/int_string.rb +2 -2
- data/lib/packetgen/types/length_from.rb +3 -3
- data/lib/packetgen/types/oui.rb +2 -2
- data/lib/packetgen/types/string.rb +2 -2
- data/lib/packetgen/types/tlv.rb +2 -2
- data/lib/packetgen/utils.rb +2 -2
- data/lib/packetgen/utils/arp_spoofer.rb +2 -2
- data/lib/packetgen/version.rb +3 -3
- metadata +26 -50
- data/.gitignore +0 -13
- data/.rubocop.yml +0 -30
- data/.travis.yml +0 -19
- data/Gemfile +0 -4
- data/Rakefile +0 -21
- data/packetgen.gemspec +0 -36
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DHCPv6
|
@@ -55,7 +55,7 @@ module PacketGen
|
|
55
55
|
case options[:type]
|
56
56
|
when Integer
|
57
57
|
klass = Option.subclasses[options[:type]]
|
58
|
-
klass
|
58
|
+
klass&.new(options)
|
59
59
|
when String
|
60
60
|
if DHCPv6.const_defined?(options[:type])
|
61
61
|
klass = DHCPv6.const_get(options[:type])
|
@@ -95,7 +95,7 @@ module PacketGen
|
|
95
95
|
# Get a human-readable string for this option
|
96
96
|
# @return [String]
|
97
97
|
def to_human
|
98
|
-
str = "#{human_type}:"
|
98
|
+
str = +"#{human_type}:"
|
99
99
|
if respond_to?(:human_data) && !human_data.empty?
|
100
100
|
str << human_data
|
101
101
|
elsif !self[:data].nil?
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DHCPv6
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DHCPv6
|
data/lib/packetgen/header/dns.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
module PacketGen
|
10
10
|
module Header
|
11
11
|
# DNS: Domain Name Service
|
@@ -120,7 +120,7 @@ module PacketGen
|
|
120
120
|
|
121
121
|
# DNS opcodes
|
122
122
|
OPCODES = {
|
123
|
-
'query'
|
123
|
+
'query' => 0,
|
124
124
|
'iquery' => 1,
|
125
125
|
'status' => 2,
|
126
126
|
'notify' => 4,
|
@@ -129,13 +129,13 @@ module PacketGen
|
|
129
129
|
|
130
130
|
# DNS Response codes
|
131
131
|
RCODES = {
|
132
|
-
'ok'
|
133
|
-
'no-error'
|
134
|
-
'format-error'
|
135
|
-
'server-failure'
|
136
|
-
'name-error'
|
132
|
+
'ok' => 0,
|
133
|
+
'no-error' => 0,
|
134
|
+
'format-error' => 1,
|
135
|
+
'server-failure' => 2,
|
136
|
+
'name-error' => 3,
|
137
137
|
'not-implemented' => 4,
|
138
|
-
'refused'
|
138
|
+
'refused' => 5
|
139
139
|
}.freeze
|
140
140
|
|
141
141
|
# @!attribute id
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DNS
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
require_relative 'option'
|
9
9
|
|
10
10
|
module PacketGen
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DNS
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DNS
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DNS
|
@@ -13,44 +13,44 @@ module PacketGen
|
|
13
13
|
class Question < Types::Fields
|
14
14
|
# Ressource Record types
|
15
15
|
TYPES = {
|
16
|
-
'A'
|
17
|
-
'NS'
|
18
|
-
'MD'
|
19
|
-
'MF'
|
20
|
-
'CNAME'
|
21
|
-
'SOA'
|
22
|
-
'MB'
|
23
|
-
'MG'
|
24
|
-
'MR'
|
25
|
-
'NULL'
|
26
|
-
'WKS'
|
27
|
-
'PTR'
|
28
|
-
'HINFO'
|
29
|
-
'MINFO'
|
30
|
-
'MX'
|
31
|
-
'TXT'
|
32
|
-
'AAAA'
|
33
|
-
'SRV'
|
34
|
-
'NAPTR'
|
35
|
-
'KX'
|
36
|
-
'CERT'
|
37
|
-
'OPT'
|
38
|
-
'DS'
|
39
|
-
'RRSIG'
|
40
|
-
'NSEC'
|
41
|
-
'DNSKEY'
|
42
|
-
'TKEY'
|
43
|
-
'TSIG'
|
44
|
-
'*'
|
16
|
+
'A' => 1,
|
17
|
+
'NS' => 2,
|
18
|
+
'MD' => 3,
|
19
|
+
'MF' => 4,
|
20
|
+
'CNAME' => 5,
|
21
|
+
'SOA' => 6,
|
22
|
+
'MB' => 7,
|
23
|
+
'MG' => 8,
|
24
|
+
'MR' => 9,
|
25
|
+
'NULL' => 10,
|
26
|
+
'WKS' => 11,
|
27
|
+
'PTR' => 12,
|
28
|
+
'HINFO' => 13,
|
29
|
+
'MINFO' => 14,
|
30
|
+
'MX' => 15,
|
31
|
+
'TXT' => 16,
|
32
|
+
'AAAA' => 28,
|
33
|
+
'SRV' => 33,
|
34
|
+
'NAPTR' => 35,
|
35
|
+
'KX' => 36,
|
36
|
+
'CERT' => 37,
|
37
|
+
'OPT' => 41,
|
38
|
+
'DS' => 43,
|
39
|
+
'RRSIG' => 46,
|
40
|
+
'NSEC' => 47,
|
41
|
+
'DNSKEY' => 48,
|
42
|
+
'TKEY' => 249,
|
43
|
+
'TSIG' => 250,
|
44
|
+
'*' => 255
|
45
45
|
}.freeze
|
46
46
|
|
47
47
|
# Ressource Record classes
|
48
48
|
CLASSES = {
|
49
|
-
'IN'
|
50
|
-
'CH'
|
51
|
-
'HS'
|
49
|
+
'IN' => 1,
|
50
|
+
'CH' => 3,
|
51
|
+
'HS' => 4,
|
52
52
|
'NONE' => 254,
|
53
|
-
'*'
|
53
|
+
'*' => 255
|
54
54
|
}.freeze
|
55
55
|
|
56
56
|
# @!attribute name
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DNS
|
@@ -98,7 +98,7 @@ module PacketGen
|
|
98
98
|
def human_rrclass
|
99
99
|
if self[:name].dns.is_a? MDNS
|
100
100
|
str = self.class::CLASSES.key(self.rrclass & 0x7fff) || '0x%04x' % (self.rrclass & 0x7fff)
|
101
|
-
str += ' CACHE-FLUSH' if self.rrclass & 0x8000
|
101
|
+
str += ' CACHE-FLUSH' if (self.rrclass & 0x8000).positive?
|
102
102
|
str
|
103
103
|
else
|
104
104
|
self.class::CLASSES.key(self.rrclass) || '0x%04x' % self.rrclass
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This file is part of PacketGen
|
2
4
|
# See https://github.com/sdaubert/packetgen for more informations
|
3
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
4
6
|
# This program is published under MIT license.
|
5
7
|
|
6
|
-
# frozen_string_literal: true
|
7
|
-
|
8
8
|
module PacketGen
|
9
9
|
module Header
|
10
10
|
class DNS
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
require 'zlib'
|
10
10
|
|
11
11
|
module PacketGen
|
@@ -68,9 +68,7 @@ module PacketGen
|
|
68
68
|
# @param [String] iface interface name
|
69
69
|
# @return [void]
|
70
70
|
def to_w(iface)
|
71
|
-
|
72
|
-
pcap.inject self.to_s
|
73
|
-
pcap.close
|
71
|
+
Inject.inject(iface: iface, data: self)
|
74
72
|
end
|
75
73
|
end
|
76
74
|
self.add_class PPI
|
@@ -130,10 +128,7 @@ module PacketGen
|
|
130
128
|
# @param [String] iface interface name
|
131
129
|
# @return [void]
|
132
130
|
def to_w(iface)
|
133
|
-
|
134
|
-
PCAP_TIMEOUT)
|
135
|
-
pcap.inject self.to_s
|
136
|
-
pcap.close
|
131
|
+
Inject.inject(iface: iface, data: self)
|
137
132
|
end
|
138
133
|
end
|
139
134
|
self.add_class RadioTap
|
@@ -379,10 +374,7 @@ module PacketGen
|
|
379
374
|
# @param [String] iface interface name
|
380
375
|
# @return [void]
|
381
376
|
def to_w(iface)
|
382
|
-
|
383
|
-
PCAP_TIMEOUT)
|
384
|
-
pcap.inject self.to_s
|
385
|
-
pcap.close
|
377
|
+
Inject.inject(iface: iface, data: self)
|
386
378
|
end
|
387
379
|
|
388
380
|
# Callback called when a Dot11 header is added to a packet
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
module PacketGen
|
10
10
|
module Header
|
11
11
|
class Dot11
|
@@ -25,9 +25,9 @@ module PacketGen
|
|
25
25
|
class Control < Dot11
|
26
26
|
# Control subtypes
|
27
27
|
SUBTYPES = {
|
28
|
-
7
|
29
|
-
8
|
30
|
-
9
|
28
|
+
7 => 'Wrapper',
|
29
|
+
8 => 'Block Ack Request',
|
30
|
+
9 => 'Block Ack',
|
31
31
|
10 => 'PS-Poll',
|
32
32
|
11 => 'RTS',
|
33
33
|
12 => 'CTS',
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
module PacketGen
|
10
10
|
module Header
|
11
11
|
class Dot11
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
module PacketGen
|
10
10
|
module Header
|
11
11
|
class Dot11
|
@@ -22,20 +22,20 @@ module PacketGen
|
|
22
22
|
class Element
|
23
23
|
# Known element types
|
24
24
|
TYPES = {
|
25
|
-
0 =>
|
26
|
-
1 =>
|
27
|
-
2 =>
|
28
|
-
3 =>
|
29
|
-
4 =>
|
30
|
-
5 =>
|
31
|
-
6 =>
|
32
|
-
16 =>
|
33
|
-
42 =>
|
34
|
-
46 =>
|
35
|
-
47 =>
|
36
|
-
48 =>
|
37
|
-
50 =>
|
38
|
-
68 =>
|
25
|
+
0 => 'SSID',
|
26
|
+
1 => 'Rates',
|
27
|
+
2 => 'FHset',
|
28
|
+
3 => 'DSset',
|
29
|
+
4 => 'CFset',
|
30
|
+
5 => 'TIM',
|
31
|
+
6 => 'IBSSset',
|
32
|
+
16 => 'challenge',
|
33
|
+
42 => 'ERPinfo',
|
34
|
+
46 => 'QoS Cap.',
|
35
|
+
47 => 'ERPinfo',
|
36
|
+
48 => 'RSNinfo',
|
37
|
+
50 => 'ESRates',
|
38
|
+
68 => 'reserved',
|
39
39
|
221 => 'vendor'
|
40
40
|
}.freeze
|
41
41
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
module PacketGen
|
10
10
|
module Header
|
11
11
|
class Dot11
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
# This file is part of PacketGen
|
3
5
|
# See https://github.com/sdaubert/packetgen for more informations
|
4
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
5
7
|
# This program is published under MIT license.
|
6
8
|
|
7
|
-
# frozen_string_literal: true
|
8
|
-
|
9
9
|
module PacketGen
|
10
10
|
module Header
|
11
11
|
class Dot11
|
@@ -21,16 +21,6 @@ module PacketGen
|
|
21
21
|
# @return [Array<Element>]
|
22
22
|
define_field :elements, ArrayOfElements
|
23
23
|
|
24
|
-
# @return [String]
|
25
|
-
#def inspect
|
26
|
-
# str = super
|
27
|
-
# str << Inspect.dashed_line('Dot11 Elements', 2)
|
28
|
-
# @elements.each do |el|
|
29
|
-
# str << Inspect.shift_level(2) << el.to_human << "\n"
|
30
|
-
# end
|
31
|
-
# str
|
32
|
-
#end
|
33
|
-
|
34
24
|
# Add an {Element} to header
|
35
25
|
# @param [Integer,String] type element type
|
36
26
|
# @param [Object] value element value
|