packetgen 3.3.0 → 3.3.2
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/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 +146 -56
- 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 +114 -13
- 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 +27 -16
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is part of PacketGen
|
|
4
|
+
# See https://github.com/lemontree55/packetgen for more informations
|
|
5
|
+
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
|
6
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
|
7
|
+
# This program is published under MIT license.
|
|
8
|
+
require 'digest/crc32c'
|
|
9
|
+
|
|
10
|
+
module PacketGen
|
|
11
|
+
module Header
|
|
12
|
+
# SCTP header ({https://tools.ietf.org/html/rfc9260 RFC 9260})
|
|
13
|
+
# 0 1 2 3
|
|
14
|
+
# 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
|
15
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
16
|
+
# | Source Port Number | Destination Port Number |
|
|
17
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
18
|
+
# | Verification Tag |
|
|
19
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
20
|
+
# | Checksum |
|
|
21
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
22
|
+
# | Chunk #1 |
|
|
23
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
24
|
+
# | ... |
|
|
25
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
26
|
+
# | Chunk #n |
|
|
27
|
+
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
28
|
+
#
|
|
29
|
+
# @author Sylvain Daubert
|
|
30
|
+
# @since 3.4.0
|
|
31
|
+
class SCTP < Base; end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
require_relative 'sctp/chunk'
|
|
36
|
+
require_relative 'udp'
|
|
37
|
+
|
|
38
|
+
module PacketGen
|
|
39
|
+
module Header
|
|
40
|
+
class SCTP < Base
|
|
41
|
+
# IP protocol number for SCTP
|
|
42
|
+
IP_PROTOCOL = 132
|
|
43
|
+
# Port number for SCTP over TCP (RFC 6951)
|
|
44
|
+
UDP_PORT = 9899
|
|
45
|
+
|
|
46
|
+
# @!attribute sport
|
|
47
|
+
# 16-bit TCP source port
|
|
48
|
+
# @return [Integer]
|
|
49
|
+
define_field :sport, Types::Int16
|
|
50
|
+
# @!attribute dport
|
|
51
|
+
# 16-bit TCP destination port
|
|
52
|
+
# @return [Integer]
|
|
53
|
+
define_field :dport, Types::Int16
|
|
54
|
+
# @!attribute verification_tag
|
|
55
|
+
# 32-bit verification tag
|
|
56
|
+
# @return [Integer]
|
|
57
|
+
define_field :verification_tag, Types::Int32
|
|
58
|
+
# @!attribute checksum
|
|
59
|
+
# 32-bit TCP checksum
|
|
60
|
+
# @return [Integer]
|
|
61
|
+
define_field :checksum, Types::Int32le
|
|
62
|
+
# @!attribute chunks
|
|
63
|
+
# List of chunks this packet transports
|
|
64
|
+
# @return [ArrayOfChunk]
|
|
65
|
+
define_field :chunks, ArrayOfChunk
|
|
66
|
+
|
|
67
|
+
# Compute SCTP checksum
|
|
68
|
+
def calc_checksum
|
|
69
|
+
self.checksum = 0
|
|
70
|
+
crc32c = Digest::CRC32c.new
|
|
71
|
+
crc32c << to_s
|
|
72
|
+
self.checksum = crc32c.checksum
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Compute SCTP chunks length
|
|
76
|
+
def calc_length
|
|
77
|
+
self.chunks.each(&:calc_length)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# @return [String]
|
|
81
|
+
def inspect
|
|
82
|
+
super do |attr|
|
|
83
|
+
next unless attr == :chunks
|
|
84
|
+
|
|
85
|
+
chunks.map(&:inspect).join
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
self.add_class SCTP
|
|
91
|
+
|
|
92
|
+
IP.bind SCTP, protocol: SCTP::IP_PROTOCOL
|
|
93
|
+
IPv6.bind SCTP, next: SCTP::IP_PROTOCOL
|
|
94
|
+
UDP.bind SCTP, dport: SCTP::UDP_PORT
|
|
95
|
+
end
|
|
96
|
+
end
|
|
@@ -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
|
|
@@ -13,7 +14,7 @@ module PacketGen
|
|
|
13
14
|
|
|
14
15
|
# Simple Network Management Protocol (SNMP)
|
|
15
16
|
#
|
|
16
|
-
# See https://github.com/
|
|
17
|
+
# See https://github.com/lemontree55/packetgen/wiki/SNMP
|
|
17
18
|
# @author Sylvain Daubert
|
|
18
19
|
# @since 2.0.0
|
|
19
20
|
class SNMP < ASN1Base
|
|
@@ -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
|
|
@@ -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 'option'
|
data/lib/packetgen/header/tcp.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
|
|
@@ -233,7 +234,7 @@ module PacketGen
|
|
|
233
234
|
def flags2string
|
|
234
235
|
flags = +''
|
|
235
236
|
%w[ns cwr ece urg ack psh rst syn fin].each do |fl|
|
|
236
|
-
flags << (send("flag_#{fl}?") ? fl[0].upcase : '.')
|
|
237
|
+
flags << (send(:"flag_#{fl}?") ? fl[0].upcase : '.')
|
|
237
238
|
end
|
|
238
239
|
|
|
239
240
|
flags
|
|
@@ -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
|
data/lib/packetgen/header/udp.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
|
data/lib/packetgen/header.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
|
|
@@ -91,8 +92,9 @@ require_relative 'header/arp'
|
|
|
91
92
|
require_relative 'header/ipv6'
|
|
92
93
|
require_relative 'header/icmpv6'
|
|
93
94
|
require_relative 'header/gre'
|
|
94
|
-
require_relative 'header/
|
|
95
|
+
require_relative 'header/sctp'
|
|
95
96
|
require_relative 'header/tcp'
|
|
97
|
+
require_relative 'header/udp'
|
|
96
98
|
require_relative 'header/eap'
|
|
97
99
|
require_relative 'header/dns'
|
|
98
100
|
require_relative 'header/asn1_base'
|
data/lib/packetgen/headerable.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
|
data/lib/packetgen/inject.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
|
require_relative 'pcaprub_wrapper'
|
|
8
9
|
|
data/lib/packetgen/inspect.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
|
data/lib/packetgen/packet.rb
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
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
|
+
# Copyright (C) 2024 LemonTree55 <lenontree@proton.me>
|
|
6
7
|
# Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net>
|
|
7
8
|
# This program is published under MIT license.
|
|
8
9
|
|
|
@@ -422,9 +423,9 @@ module PacketGen
|
|
|
422
423
|
return header unless arg.is_a? Hash
|
|
423
424
|
|
|
424
425
|
arg.each do |key, value|
|
|
425
|
-
raise ArgumentError, "unknown #{key} attribute for #{klass}" unless header.respond_to?
|
|
426
|
+
raise ArgumentError, "unknown #{key} attribute for #{klass}" unless header.respond_to?(:"#{key}=")
|
|
426
427
|
|
|
427
|
-
header.send
|
|
428
|
+
header.send(:"#{key}=", value)
|
|
428
429
|
end
|
|
429
430
|
|
|
430
431
|
header
|
data/lib/packetgen/pcap.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
|
require_relative 'pcaprub_wrapper'
|
|
8
9
|
|
|
@@ -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
|
|
@@ -65,7 +66,7 @@ module PacketGen
|
|
|
65
66
|
raise ArgumentError, "unknown endianness for #{self.class}" unless %i[little big].include?(endian)
|
|
66
67
|
|
|
67
68
|
@endian = endian
|
|
68
|
-
@fields.
|
|
69
|
+
@fields.each_value { |v| v.endian = endian if v.is_a?(Types::Int) }
|
|
69
70
|
endian
|
|
70
71
|
end
|
|
71
72
|
|
data/lib/packetgen/pcapng/epb.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
|
|
@@ -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
|
data/lib/packetgen/pcapng/idb.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
|
data/lib/packetgen/pcapng/shb.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
|
data/lib/packetgen/pcapng/spb.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
|
|
@@ -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
|
data/lib/packetgen/pcapng.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 'stringio'
|
|
@@ -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
|
require 'pcaprub'
|
|
8
9
|
|
data/lib/packetgen/proto.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 'socket'
|