packetgen 3.3.1 → 3.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -0
- data/README.md +7 -7
- data/lib/packetgen/capture.rb +2 -1
- data/lib/packetgen/config.rb +2 -1
- data/lib/packetgen/header/arp.rb +2 -1
- data/lib/packetgen/header/asn1_base.rb +2 -1
- data/lib/packetgen/header/base.rb +4 -3
- data/lib/packetgen/header/bootp.rb +2 -1
- data/lib/packetgen/header/dhcp/option.rb +2 -1
- data/lib/packetgen/header/dhcp/options.rb +2 -1
- data/lib/packetgen/header/dhcp.rb +2 -1
- data/lib/packetgen/header/dhcpv6/duid.rb +2 -1
- data/lib/packetgen/header/dhcpv6/option.rb +2 -1
- data/lib/packetgen/header/dhcpv6/options.rb +2 -1
- data/lib/packetgen/header/dhcpv6/relay.rb +2 -1
- data/lib/packetgen/header/dhcpv6.rb +2 -1
- data/lib/packetgen/header/dns/name.rb +2 -1
- data/lib/packetgen/header/dns/opt.rb +3 -2
- data/lib/packetgen/header/dns/option.rb +3 -2
- data/lib/packetgen/header/dns/qdsection.rb +2 -1
- data/lib/packetgen/header/dns/question.rb +2 -1
- data/lib/packetgen/header/dns/rr.rb +2 -1
- data/lib/packetgen/header/dns/rrsection.rb +2 -1
- data/lib/packetgen/header/dns.rb +3 -2
- data/lib/packetgen/header/dot11/control.rb +2 -1
- data/lib/packetgen/header/dot11/data.rb +4 -3
- data/lib/packetgen/header/dot11/element.rb +2 -1
- data/lib/packetgen/header/dot11/management.rb +2 -1
- data/lib/packetgen/header/dot11/sub_mngt.rb +2 -1
- data/lib/packetgen/header/dot11.rb +2 -1
- data/lib/packetgen/header/dot1q.rb +2 -1
- data/lib/packetgen/header/dot1x.rb +2 -1
- data/lib/packetgen/header/eap/fast.rb +2 -1
- data/lib/packetgen/header/eap/md5.rb +2 -1
- data/lib/packetgen/header/eap/tls.rb +3 -2
- data/lib/packetgen/header/eap/ttls.rb +3 -2
- data/lib/packetgen/header/eap.rb +3 -2
- data/lib/packetgen/header/eth.rb +3 -2
- data/lib/packetgen/header/gre.rb +2 -1
- data/lib/packetgen/header/http/headers.rb +4 -3
- data/lib/packetgen/header/http/request.rb +2 -1
- data/lib/packetgen/header/http/response.rb +2 -1
- data/lib/packetgen/header/http/verbs.rb +2 -1
- data/lib/packetgen/header/http.rb +2 -1
- data/lib/packetgen/header/icmp.rb +2 -1
- data/lib/packetgen/header/icmpv6.rb +2 -1
- data/lib/packetgen/header/igmp.rb +2 -1
- data/lib/packetgen/header/igmpv3/group_record.rb +2 -1
- data/lib/packetgen/header/igmpv3/mq.rb +2 -1
- data/lib/packetgen/header/igmpv3/mr.rb +2 -1
- data/lib/packetgen/header/igmpv3.rb +2 -1
- data/lib/packetgen/header/ip/addr.rb +2 -1
- data/lib/packetgen/header/ip/option.rb +3 -2
- data/lib/packetgen/header/ip/options.rb +2 -1
- data/lib/packetgen/header/ip.rb +3 -2
- data/lib/packetgen/header/ipv6/addr.rb +2 -1
- data/lib/packetgen/header/ipv6/extension.rb +2 -1
- data/lib/packetgen/header/ipv6/hop_by_hop.rb +2 -1
- data/lib/packetgen/header/ipv6.rb +2 -1
- data/lib/packetgen/header/llc.rb +2 -1
- data/lib/packetgen/header/mdns.rb +2 -1
- data/lib/packetgen/header/mld.rb +2 -1
- data/lib/packetgen/header/mldv2/mcast_address_record.rb +2 -1
- data/lib/packetgen/header/mldv2/mlq.rb +2 -1
- data/lib/packetgen/header/mldv2/mlr.rb +2 -1
- data/lib/packetgen/header/mldv2.rb +2 -1
- data/lib/packetgen/header/ospfv2/db_description.rb +2 -1
- data/lib/packetgen/header/ospfv2/hello.rb +2 -1
- data/lib/packetgen/header/ospfv2/ls_ack.rb +2 -1
- data/lib/packetgen/header/ospfv2/ls_request.rb +2 -1
- data/lib/packetgen/header/ospfv2/ls_update.rb +2 -1
- data/lib/packetgen/header/ospfv2/lsa.rb +2 -1
- data/lib/packetgen/header/ospfv2/lsa_header.rb +2 -1
- data/lib/packetgen/header/ospfv2.rb +2 -1
- data/lib/packetgen/header/ospfv3/db_description.rb +2 -1
- data/lib/packetgen/header/ospfv3/hello.rb +2 -1
- data/lib/packetgen/header/ospfv3/ipv6_prefix.rb +2 -1
- data/lib/packetgen/header/ospfv3/ls_ack.rb +2 -1
- data/lib/packetgen/header/ospfv3/ls_request.rb +2 -1
- data/lib/packetgen/header/ospfv3/ls_update.rb +2 -1
- data/lib/packetgen/header/ospfv3/lsa.rb +2 -1
- data/lib/packetgen/header/ospfv3/lsa_header.rb +2 -1
- data/lib/packetgen/header/ospfv3.rb +2 -1
- data/lib/packetgen/header/sctp/chunk.rb +547 -0
- data/lib/packetgen/header/sctp/error.rb +347 -0
- data/lib/packetgen/header/sctp/padded32.rb +34 -0
- data/lib/packetgen/header/sctp/parameter.rb +229 -0
- data/lib/packetgen/header/sctp.rb +96 -0
- data/lib/packetgen/header/snmp.rb +3 -2
- data/lib/packetgen/header/tcp/option.rb +2 -1
- data/lib/packetgen/header/tcp/options.rb +2 -1
- data/lib/packetgen/header/tcp.rb +3 -2
- data/lib/packetgen/header/tftp.rb +2 -1
- data/lib/packetgen/header/udp.rb +2 -1
- data/lib/packetgen/header.rb +4 -2
- data/lib/packetgen/headerable.rb +2 -1
- data/lib/packetgen/inject.rb +2 -1
- data/lib/packetgen/inspect.rb +2 -1
- data/lib/packetgen/packet.rb +4 -3
- data/lib/packetgen/pcap.rb +2 -1
- data/lib/packetgen/pcapng/block.rb +3 -2
- data/lib/packetgen/pcapng/epb.rb +2 -1
- data/lib/packetgen/pcapng/file.rb +2 -1
- data/lib/packetgen/pcapng/idb.rb +2 -1
- data/lib/packetgen/pcapng/shb.rb +2 -1
- data/lib/packetgen/pcapng/spb.rb +2 -1
- data/lib/packetgen/pcapng/unknown_block.rb +2 -1
- data/lib/packetgen/pcapng.rb +2 -1
- data/lib/packetgen/pcaprub_wrapper.rb +2 -1
- data/lib/packetgen/proto.rb +2 -1
- data/lib/packetgen/types/abstract_tlv.rb +53 -15
- data/lib/packetgen/types/array.rb +20 -3
- data/lib/packetgen/types/cstring.rb +2 -1
- data/lib/packetgen/types/enum.rb +3 -2
- data/lib/packetgen/types/fieldable.rb +3 -2
- data/lib/packetgen/types/fields.rb +8 -7
- data/lib/packetgen/types/int.rb +2 -1
- data/lib/packetgen/types/int_string.rb +2 -1
- data/lib/packetgen/types/length_from.rb +2 -1
- data/lib/packetgen/types/oui.rb +2 -1
- data/lib/packetgen/types/string.rb +2 -1
- data/lib/packetgen/types/tlv.rb +2 -1
- data/lib/packetgen/types.rb +2 -1
- data/lib/packetgen/unknown_packet.rb +3 -2
- data/lib/packetgen/utils/arp_spoofer.rb +4 -3
- data/lib/packetgen/utils.rb +2 -1
- data/lib/packetgen/version.rb +3 -2
- data/lib/packetgen.rb +2 -1
- metadata +22 -11
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# This file is part of PacketGen
|
4
|
-
# See https://github.com/
|
4
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
5
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
6
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
6
7
|
# This program is published under MIT license.
|
7
8
|
|
8
9
|
# rubocop:disable Metrics/ClassLength
|
@@ -236,7 +237,7 @@ module PacketGen
|
|
236
237
|
fields.delete name
|
237
238
|
@field_defs.delete name
|
238
239
|
undef_method name if method_defined?(name)
|
239
|
-
undef_method "#{name}=" if method_defined?("#{name}=")
|
240
|
+
undef_method :"#{name}=" if method_defined?(:"#{name}=")
|
240
241
|
end
|
241
242
|
|
242
243
|
# Update a previously defined field
|
@@ -309,7 +310,7 @@ module PacketGen
|
|
309
310
|
return if fields.nil?
|
310
311
|
|
311
312
|
fields.each do |field, size|
|
312
|
-
undef_method "#{field}="
|
313
|
+
undef_method :"#{field}="
|
313
314
|
undef_method(size == 1 ? "#{field}?" : field)
|
314
315
|
end
|
315
316
|
end
|
@@ -332,7 +333,7 @@ module PacketGen
|
|
332
333
|
# rubocop:enable Layout/LineContinuationLeadingSpace
|
333
334
|
end
|
334
335
|
|
335
|
-
define.delete_at(1) if instance_methods.include?
|
336
|
+
define.delete_at(1) if instance_methods.include?(:"#{name}=")
|
336
337
|
define.delete_at(0) if instance_methods.include? name
|
337
338
|
class_eval define.join("\n")
|
338
339
|
end
|
@@ -393,7 +394,7 @@ module PacketGen
|
|
393
394
|
end
|
394
395
|
|
395
396
|
def field_defs_property_from(field, property, options)
|
396
|
-
field_defs[field].send("#{property}=", options.delete(property)) if options.key?(property)
|
397
|
+
field_defs[field].send(:"#{property}=", options.delete(property)) if options.key?(property)
|
397
398
|
end
|
398
399
|
|
399
400
|
def size_from(args)
|
@@ -422,9 +423,9 @@ module PacketGen
|
|
422
423
|
initialize_optional field
|
423
424
|
end
|
424
425
|
|
425
|
-
self.class.bit_fields.
|
426
|
+
self.class.bit_fields.each_value do |hsh|
|
426
427
|
hsh.each_key do |bit_field|
|
427
|
-
self.send
|
428
|
+
self.send(:"#{bit_field}=", options[bit_field]) if options[bit_field]
|
428
429
|
end
|
429
430
|
end
|
430
431
|
end
|
data/lib/packetgen/types/int.rb
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
module PacketGen
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
module PacketGen
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
module PacketGen
|
data/lib/packetgen/types/oui.rb
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
module PacketGen
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
require 'forwardable'
|
data/lib/packetgen/types/tlv.rb
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
module PacketGen
|
data/lib/packetgen/types.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# This file is part of PacketGen
|
4
|
-
# See https://github.com/
|
4
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
5
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
6
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
6
7
|
# This program is published under MIT license.
|
7
8
|
|
8
9
|
module PacketGen
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
module PacketGen
|
@@ -52,7 +53,7 @@ module PacketGen
|
|
52
53
|
alias write to_f
|
53
54
|
|
54
55
|
# Read binary string
|
55
|
-
# @param [String]
|
56
|
+
# @param [String] binary_str
|
56
57
|
# @return [self]
|
57
58
|
def parse(binary_str, _first_header: nil)
|
58
59
|
@binary_str = PacketGen.force_binary(binary_str)
|
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# This file is part of PacketGen
|
4
|
-
# See https://github.com/
|
4
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
5
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
6
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
6
7
|
# This program is published under MIT license.
|
7
8
|
|
8
9
|
module PacketGen
|
@@ -97,7 +98,7 @@ module PacketGen
|
|
97
98
|
# Start spoofing on all targets added with {#add}.
|
98
99
|
# @return [void]
|
99
100
|
def start_all
|
100
|
-
@targets.
|
101
|
+
@targets.each_key do |target_ip|
|
101
102
|
activate target_ip
|
102
103
|
end
|
103
104
|
end
|
@@ -105,7 +106,7 @@ module PacketGen
|
|
105
106
|
# Stop spoofing on all targets.
|
106
107
|
# @return [void]
|
107
108
|
def stop_all
|
108
|
-
@targets.
|
109
|
+
@targets.each_key do |target_ip|
|
109
110
|
deactivate target_ip
|
110
111
|
end
|
111
112
|
end
|
data/lib/packetgen/utils.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# This file is part of PacketGen
|
4
|
-
# See https://github.com/
|
4
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
5
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
6
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
6
7
|
# This program is published under MIT license.
|
7
8
|
|
8
9
|
require_relative 'config'
|
data/lib/packetgen/version.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# This file is part of PacketGen
|
4
|
-
# See https://github.com/
|
4
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
5
5
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
6
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
6
7
|
# This program is published under MIT license.
|
7
8
|
|
8
9
|
# PacketGen is a network packet generator and analyzor.
|
@@ -10,5 +11,5 @@
|
|
10
11
|
# @author Sylvain Daubert
|
11
12
|
module PacketGen
|
12
13
|
# PacketGen version
|
13
|
-
VERSION = '3.3.
|
14
|
+
VERSION = '3.3.2'
|
14
15
|
end
|
data/lib/packetgen.rb
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is part of PacketGen
|
5
|
-
# See https://github.com/
|
5
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
6
6
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
7
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
7
8
|
# This program is published under MIT license.
|
8
9
|
|
9
10
|
require 'packetgen/version'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packetgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- LemonTree55
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: interfacez
|
@@ -44,19 +44,25 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.13'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 0.13.1
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
55
|
- - "~>"
|
53
56
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
57
|
+
version: '0.13'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.13.1
|
55
61
|
description: |
|
56
62
|
PacketGen is a network packet manipulation library. It allows reading, parsing
|
57
63
|
and sending network packets with fun.
|
58
64
|
email:
|
59
|
-
-
|
65
|
+
- lenontree@proton.me
|
60
66
|
executables:
|
61
67
|
- pgconsole
|
62
68
|
extensions: []
|
@@ -151,6 +157,11 @@ files:
|
|
151
157
|
- lib/packetgen/header/ospfv3/ls_update.rb
|
152
158
|
- lib/packetgen/header/ospfv3/lsa.rb
|
153
159
|
- lib/packetgen/header/ospfv3/lsa_header.rb
|
160
|
+
- lib/packetgen/header/sctp.rb
|
161
|
+
- lib/packetgen/header/sctp/chunk.rb
|
162
|
+
- lib/packetgen/header/sctp/error.rb
|
163
|
+
- lib/packetgen/header/sctp/padded32.rb
|
164
|
+
- lib/packetgen/header/sctp/parameter.rb
|
154
165
|
- lib/packetgen/header/snmp.rb
|
155
166
|
- lib/packetgen/header/tcp.rb
|
156
167
|
- lib/packetgen/header/tcp/option.rb
|
@@ -193,11 +204,11 @@ homepage:
|
|
193
204
|
licenses:
|
194
205
|
- MIT
|
195
206
|
metadata:
|
196
|
-
homepage_uri: https://github.com/
|
197
|
-
source_code_uri: https://github.com/
|
198
|
-
bug_tracker_uri: https://github.com/
|
207
|
+
homepage_uri: https://github.com/lemontree55/packetgen
|
208
|
+
source_code_uri: https://github.com/lemontree55/packetgen
|
209
|
+
bug_tracker_uri: https://github.com/lemontree55/packetgen/issues
|
199
210
|
documentation_uri: https://www.rubydoc.info/gems/packetgen
|
200
|
-
wiki_uri: https://github.com/
|
211
|
+
wiki_uri: https://github.com/lemontree55/packetgen/wiki
|
201
212
|
post_install_message:
|
202
213
|
rdoc_options:
|
203
214
|
- "--title"
|
@@ -212,7 +223,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
223
|
requirements:
|
213
224
|
- - ">="
|
214
225
|
- !ruby/object:Gem::Version
|
215
|
-
version: 2.
|
226
|
+
version: 2.7.0
|
216
227
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
228
|
requirements:
|
218
229
|
- - ">="
|