redhound 0.2.0 → 1.0.1
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/CHANGELOG.md +16 -3
- data/Dockerfile +1 -1
- data/README.md +2 -2
- data/Rakefile +12 -1
- data/Steepfile +4 -0
- data/lib/redhound/analyzer.rb +19 -15
- data/lib/redhound/builder/packet_mreq.rb +56 -0
- data/lib/redhound/builder/socket.rb +35 -0
- data/lib/redhound/builder.rb +4 -0
- data/lib/redhound/command.rb +6 -1
- data/lib/redhound/l2/ether.rb +68 -0
- data/lib/redhound/l2/protocol.rb +33 -0
- data/lib/redhound/l2.rb +4 -0
- data/lib/redhound/l3/arp.rb +114 -0
- data/lib/redhound/l3/base.rb +49 -0
- data/lib/redhound/{header → l3}/ipv4.rb +27 -44
- data/lib/redhound/l3/ipv6.rb +69 -0
- data/lib/redhound/l3/protocol.rb +173 -0
- data/lib/redhound/l3/resolver.rb +30 -0
- data/lib/redhound/l3.rb +9 -0
- data/lib/redhound/l4/base.rb +31 -0
- data/lib/redhound/{header → l4}/icmp.rb +20 -26
- data/lib/redhound/l4/resolver.rb +28 -0
- data/lib/redhound/{header → l4}/udp.rb +19 -19
- data/lib/redhound/l4.rb +6 -0
- data/lib/redhound/receiver.rb +17 -5
- data/lib/redhound/resolver.rb +22 -0
- data/lib/redhound/source/socket.rb +18 -0
- data/lib/redhound/source.rb +3 -0
- data/lib/redhound/version.rb +2 -1
- data/lib/redhound/writer.rb +9 -2
- data/lib/redhound.rb +6 -3
- data/rbs_collection.lock.yaml +20 -0
- data/rbs_collection.yaml +17 -0
- data/sig/generated/redhound/analyzer.rbs +14 -0
- data/sig/generated/redhound/builder/packet_mreq.rbs +39 -0
- data/sig/generated/redhound/builder/socket.rbs +24 -0
- data/sig/generated/redhound/command.rbs +19 -0
- data/sig/generated/redhound/l2/ether.rbs +41 -0
- data/sig/generated/redhound/l2/protocol.rbs +15 -0
- data/sig/generated/redhound/l3/arp.rbs +57 -0
- data/sig/generated/redhound/l3/base.rbs +28 -0
- data/sig/generated/redhound/l3/ipv4.rbs +53 -0
- data/sig/generated/redhound/l3/ipv6.rbs +38 -0
- data/sig/generated/redhound/l3/protocol.rbs +16 -0
- data/sig/generated/redhound/l3/resolver.rbs +16 -0
- data/sig/generated/redhound/l4/base.rbs +19 -0
- data/sig/generated/redhound/l4/icmp.rbs +33 -0
- data/sig/generated/redhound/l4/resolver.rbs +16 -0
- data/sig/generated/redhound/l4/udp.rbs +36 -0
- data/sig/generated/redhound/receiver.rbs +19 -0
- data/sig/generated/redhound/resolver.rbs +11 -0
- data/sig/generated/redhound/source/socket.rbs +13 -0
- data/sig/generated/redhound/version.rbs +5 -0
- data/sig/generated/redhound/writer.rbs +25 -0
- metadata +48 -11
- data/lib/redhound/header/ether.rb +0 -67
- data/lib/redhound/header.rb +0 -6
- data/lib/redhound/packet_mreq.rb +0 -46
- data/lib/redhound/socket_builder.rb +0 -30
- data/sig/redhound.rbs +0 -4
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
path: ".gem_rbs_collection"
|
3
|
+
gems:
|
4
|
+
- name: fileutils
|
5
|
+
version: '0'
|
6
|
+
source:
|
7
|
+
type: stdlib
|
8
|
+
- name: rake
|
9
|
+
version: '13.0'
|
10
|
+
source:
|
11
|
+
type: git
|
12
|
+
name: ruby/gem_rbs_collection
|
13
|
+
revision: f83c613ed7d038c0031f25fcbcdf12603ba36e79
|
14
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
15
|
+
repo_dir: gems
|
16
|
+
- name: socket
|
17
|
+
version: '0'
|
18
|
+
source:
|
19
|
+
type: stdlib
|
20
|
+
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Download sources
|
2
|
+
sources:
|
3
|
+
- type: git
|
4
|
+
name: ruby/gem_rbs_collection
|
5
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
6
|
+
revision: main
|
7
|
+
repo_dir: gems
|
8
|
+
|
9
|
+
# You can specify local directories as sources also.
|
10
|
+
# - type: local
|
11
|
+
# path: path/to/your/local/repository
|
12
|
+
|
13
|
+
# A directory to install the downloaded RBSs
|
14
|
+
path: .gem_rbs_collection
|
15
|
+
|
16
|
+
gems:
|
17
|
+
- name: socket
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Generated from lib/redhound/analyzer.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class Analyzer
|
5
|
+
# @rbs (msg: String, count: Integer) -> void
|
6
|
+
def self.analyze: (msg: String, count: Integer) -> void
|
7
|
+
|
8
|
+
# @rbs (msg: String, count: Integer) -> void
|
9
|
+
def initialize: (msg: String, count: Integer) -> void
|
10
|
+
|
11
|
+
# @rbs () -> void
|
12
|
+
def analyze: () -> void
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Generated from lib/redhound/builder/packet_mreq.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
module Builder
|
5
|
+
class PacketMreq
|
6
|
+
PACKET_MR_PROMISC: ::Integer
|
7
|
+
|
8
|
+
# @rbs (ifname: String) -> void
|
9
|
+
def initialize: (ifname: String) -> void
|
10
|
+
|
11
|
+
# see: https://man7.org/linux/man-pages/man7/packet.7.html
|
12
|
+
# struct packet_mreq {
|
13
|
+
# int mr_ifindex; /* interface index */
|
14
|
+
# unsigned short mr_type; /* action */
|
15
|
+
# unsigned short mr_alen; /* address length */
|
16
|
+
# unsigned char mr_address[8]; /* physical-layer address */
|
17
|
+
# };
|
18
|
+
# @rbs () -> String
|
19
|
+
def build: () -> String
|
20
|
+
|
21
|
+
# @rbs () -> String
|
22
|
+
def mr_ifindex: () -> String
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
# @rbs () -> Integer?
|
27
|
+
def index: () -> Integer?
|
28
|
+
|
29
|
+
# @rbs () -> String
|
30
|
+
def mr_type: () -> String
|
31
|
+
|
32
|
+
# @rbs () -> String
|
33
|
+
def mr_alen: () -> String
|
34
|
+
|
35
|
+
# @rbs () -> String
|
36
|
+
def mr_address: () -> String
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Generated from lib/redhound/builder/socket.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
module Builder
|
5
|
+
class Socket
|
6
|
+
SOL_PACKET: ::Integer
|
7
|
+
|
8
|
+
PACKET_ADD_MEMBERSHIP: ::Integer
|
9
|
+
|
10
|
+
ETH_P_ALL: ::Integer
|
11
|
+
|
12
|
+
PACKED_ETH_P_ALL: untyped
|
13
|
+
|
14
|
+
# @rbs (ifname: String) -> Redhound::Source::Socket
|
15
|
+
def self.build: (ifname: String) -> Redhound::Source::Socket
|
16
|
+
|
17
|
+
# @rbs (ifname: String) -> void
|
18
|
+
def initialize: (ifname: String) -> void
|
19
|
+
|
20
|
+
# @rbs () -> Redhound::Source::Socket
|
21
|
+
def build: () -> Redhound::Source::Socket
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated from lib/redhound/command.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class Command
|
5
|
+
# @rbs () -> void
|
6
|
+
def initialize: () -> void
|
7
|
+
|
8
|
+
# @rbs (Array[untyped] argv) -> void
|
9
|
+
def run: (Array[untyped] argv) -> void
|
10
|
+
|
11
|
+
# @rbs (Array[untyped] argv) -> void
|
12
|
+
def parse: (Array[untyped] argv) -> void
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
# @rbs () -> void
|
17
|
+
def list_interfaces: () -> void
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Generated from lib/redhound/l2/ether.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L2
|
5
|
+
class Ether
|
6
|
+
attr_reader type: Protocol
|
7
|
+
|
8
|
+
# @rbs (bytes: Array[Integer], count: Integer) -> Redhound::L2::Ether
|
9
|
+
def self.generate: (bytes: Array[Integer], count: Integer) -> Redhound::L2::Ether
|
10
|
+
|
11
|
+
# @rbs (bytes: Array[Integer], count: Integer) -> void
|
12
|
+
def initialize: (bytes: Array[Integer], count: Integer) -> void
|
13
|
+
|
14
|
+
# @rbs () -> Integer
|
15
|
+
def size: () -> Integer
|
16
|
+
|
17
|
+
# @rbs () -> Redhound::L2::Ether
|
18
|
+
def generate: () -> Redhound::L2::Ether
|
19
|
+
|
20
|
+
# @rbs () -> void
|
21
|
+
def dump: () -> void
|
22
|
+
|
23
|
+
# @rbs () -> String
|
24
|
+
def to_s: () -> String
|
25
|
+
|
26
|
+
# @rbs () -> bool
|
27
|
+
def supported_type?: () -> bool
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
# @rbs () -> String
|
32
|
+
def dhost: () -> String
|
33
|
+
|
34
|
+
# @rbs () -> String
|
35
|
+
def shost: () -> String
|
36
|
+
|
37
|
+
# @rbs (Array[Integer] type) -> Integer
|
38
|
+
def hex_type: (Array[Integer] type) -> Integer
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Generated from lib/redhound/l2/protocol.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L2
|
5
|
+
class Protocol
|
6
|
+
PROTO_TABLE: ::Hash[untyped, untyped]
|
7
|
+
|
8
|
+
# @rbs (protocol: Integer) -> void
|
9
|
+
def initialize: (protocol: Integer) -> void
|
10
|
+
|
11
|
+
# @rbs () -> String
|
12
|
+
def to_s: () -> String
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Generated from lib/redhound/l3/arp.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L3
|
5
|
+
class Arp < Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> Redhound::L3::Arp
|
7
|
+
def self.generate: (bytes: Array[Integer]) -> Redhound::L3::Arp
|
8
|
+
|
9
|
+
# @rbs (bytes: Array[Integer]) -> void
|
10
|
+
def initialize: (bytes: Array[Integer]) -> void
|
11
|
+
|
12
|
+
# @rbs () -> Redhound::L3::Arp
|
13
|
+
def generate: () -> Redhound::L3::Arp
|
14
|
+
|
15
|
+
# @rbs () -> Integer
|
16
|
+
def arp_size: () -> Integer
|
17
|
+
|
18
|
+
# @rbs () -> Integer
|
19
|
+
def size: () -> Integer
|
20
|
+
|
21
|
+
# @rbs () -> String
|
22
|
+
def to_s: () -> String
|
23
|
+
|
24
|
+
# @rbs () -> bool
|
25
|
+
def supported_protocol?: () -> bool
|
26
|
+
|
27
|
+
# @rbs () -> String?
|
28
|
+
def protocol: () -> String?
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
# @rbs () -> Integer
|
33
|
+
def htype: () -> Integer
|
34
|
+
|
35
|
+
# @rbs () -> Integer
|
36
|
+
def ptype: () -> Integer
|
37
|
+
|
38
|
+
# @rbs () -> Integer
|
39
|
+
def oper: () -> Integer
|
40
|
+
|
41
|
+
# @rbs () -> String
|
42
|
+
def sha: () -> String
|
43
|
+
|
44
|
+
# @rbs () -> String
|
45
|
+
def spa: () -> String
|
46
|
+
|
47
|
+
# @rbs () -> String
|
48
|
+
def tha: () -> String
|
49
|
+
|
50
|
+
# @rbs () -> String
|
51
|
+
def tpa: () -> String
|
52
|
+
|
53
|
+
# @rbs () -> Redhound::L3::Base?
|
54
|
+
def generate_l3: () -> Redhound::L3::Base?
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Generated from lib/redhound/l3/base.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L3
|
5
|
+
class Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> Redhound::L3::Base
|
7
|
+
def self.generate: (bytes: Array[Integer]) -> Redhound::L3::Base
|
8
|
+
|
9
|
+
# @rbs (bytes: Array[Integer]) -> void
|
10
|
+
def initialize: (bytes: Array[Integer]) -> void
|
11
|
+
|
12
|
+
# @rbs () -> Redhound::L3::Base
|
13
|
+
def generate: () -> Redhound::L3::Base
|
14
|
+
|
15
|
+
# @rbs () -> void
|
16
|
+
def dump: () -> void
|
17
|
+
|
18
|
+
# @rbs () -> Integer
|
19
|
+
def size: () -> Integer
|
20
|
+
|
21
|
+
# @rbs () -> bool
|
22
|
+
def supported_protocol?: () -> bool
|
23
|
+
|
24
|
+
# @rbs () -> Protocol
|
25
|
+
def protocol: () -> Protocol
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Generated from lib/redhound/l3/ipv4.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L3
|
5
|
+
class Ipv4 < Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> Redhound::L3::Ipv4
|
7
|
+
def self.generate: (bytes: Array[Integer]) -> Redhound::L3::Ipv4
|
8
|
+
|
9
|
+
attr_reader protocol: Protocol
|
10
|
+
|
11
|
+
# @rbs (bytes: Array[Integer]) -> void
|
12
|
+
def initialize: (bytes: Array[Integer]) -> void
|
13
|
+
|
14
|
+
# @rbs () -> Redhound::L3::Ipv4
|
15
|
+
def generate: () -> Redhound::L3::Ipv4
|
16
|
+
|
17
|
+
# @rbs () -> Integer
|
18
|
+
def size: () -> Integer
|
19
|
+
|
20
|
+
# @rbs () -> String
|
21
|
+
def to_s: () -> String
|
22
|
+
|
23
|
+
# @rbs () -> bool
|
24
|
+
def supported_protocol?: () -> bool
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
# @rbs () -> Integer
|
29
|
+
def version: () -> Integer
|
30
|
+
|
31
|
+
# @rbs () -> Integer
|
32
|
+
def ihl: () -> Integer
|
33
|
+
|
34
|
+
# @rbs () -> Integer
|
35
|
+
def tot_len: () -> Integer
|
36
|
+
|
37
|
+
# @rbs () -> Integer
|
38
|
+
def id: () -> Integer
|
39
|
+
|
40
|
+
# @rbs () -> Integer
|
41
|
+
def frag_off: () -> Integer
|
42
|
+
|
43
|
+
# @rbs () -> Integer
|
44
|
+
def check: () -> Integer
|
45
|
+
|
46
|
+
# @rbs () -> String
|
47
|
+
def saddr: () -> String
|
48
|
+
|
49
|
+
# @rbs () -> String
|
50
|
+
def daddr: () -> String
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Generated from lib/redhound/l3/ipv6.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L3
|
5
|
+
class Ipv6 < Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> Redhound::L3::Ipv6
|
7
|
+
def self.generate: (bytes: Array[Integer]) -> Redhound::L3::Ipv6
|
8
|
+
|
9
|
+
attr_reader protocol: Protocol
|
10
|
+
|
11
|
+
# @rbs (bytes: Array[Integer]) -> void
|
12
|
+
def initialize: (bytes: Array[Integer]) -> void
|
13
|
+
|
14
|
+
# @rbs () -> Integer
|
15
|
+
def size: () -> Integer
|
16
|
+
|
17
|
+
# @rbs () -> Redhound::L3::Ipv6
|
18
|
+
def generate: () -> Redhound::L3::Ipv6
|
19
|
+
|
20
|
+
# @rbs () -> String
|
21
|
+
def to_s: () -> String
|
22
|
+
|
23
|
+
# @rbs () -> bool
|
24
|
+
def supported_protocol?: () -> bool
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
# @rbs () -> Integer
|
29
|
+
def payload_length: () -> Integer
|
30
|
+
|
31
|
+
# @rbs () -> Integer
|
32
|
+
def saddr: () -> Integer
|
33
|
+
|
34
|
+
# @rbs () -> Integer
|
35
|
+
def daddr: () -> Integer
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/redhound/l3/protocol.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L3
|
5
|
+
class Protocol
|
6
|
+
# refs: https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml#protocol-numbers-1
|
7
|
+
PROTO_TABLE: untyped
|
8
|
+
|
9
|
+
# @rbs (protocol: Integer) -> void
|
10
|
+
def initialize: (protocol: Integer) -> void
|
11
|
+
|
12
|
+
# @rbs () -> String
|
13
|
+
def to_s: () -> String
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/redhound/l3/resolver.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L3
|
5
|
+
class Resolver
|
6
|
+
# @rbs (bytes: Array[Integer], l2: Redhound::L2::Ether) -> Redhound::L3::Base?
|
7
|
+
def self.resolve: (bytes: Array[Integer], l2: Redhound::L2::Ether) -> Redhound::L3::Base?
|
8
|
+
|
9
|
+
# @rbs (bytes: Array[Integer], l2: Redhound::L2::Ether) -> void
|
10
|
+
def initialize: (bytes: Array[Integer], l2: Redhound::L2::Ether) -> void
|
11
|
+
|
12
|
+
# @rbs () -> Redhound::L3::Base?
|
13
|
+
def resolve: () -> Redhound::L3::Base?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated from lib/redhound/l4/base.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L4
|
5
|
+
class Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> Redhound::L4::Base
|
7
|
+
def self.generate: (bytes: Array[Integer]) -> Redhound::L4::Base
|
8
|
+
|
9
|
+
# @rbs (bytes: Array[Integer]) -> void
|
10
|
+
def initialize: (bytes: Array[Integer]) -> void
|
11
|
+
|
12
|
+
# @rbs () -> Redhound::L4::Base
|
13
|
+
def generate: () -> Redhound::L4::Base
|
14
|
+
|
15
|
+
# @rbs () -> void
|
16
|
+
def dump: () -> void
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Generated from lib/redhound/l4/icmp.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L4
|
5
|
+
class Icmp < Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> void
|
7
|
+
def initialize: (bytes: Array[Integer]) -> void
|
8
|
+
|
9
|
+
# @rbs () -> Redhound::L4::Icmp
|
10
|
+
def generate: () -> Redhound::L4::Icmp
|
11
|
+
|
12
|
+
# @rbs () -> Integer
|
13
|
+
def size: () -> Integer
|
14
|
+
|
15
|
+
# @rbs () -> String
|
16
|
+
def to_s: () -> String
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
# @rbs () -> Integer
|
21
|
+
def check: () -> Integer
|
22
|
+
|
23
|
+
# @rbs () -> Integer
|
24
|
+
def id: () -> Integer
|
25
|
+
|
26
|
+
# @rbs () -> Integer
|
27
|
+
def seq: () -> Integer
|
28
|
+
|
29
|
+
# @rbs () -> String
|
30
|
+
def data: () -> String
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/redhound/l4/resolver.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L4
|
5
|
+
class Resolver
|
6
|
+
# @rbs (bytes: Array[Integer], l3: Redhound::L3::Base) -> Redhound::L4::Base?
|
7
|
+
def self.resolve: (bytes: Array[Integer], l3: Redhound::L3::Base) -> Redhound::L4::Base?
|
8
|
+
|
9
|
+
# @rbs (bytes: Array[Integer], l3: Redhound::L3::Base) -> void
|
10
|
+
def initialize: (bytes: Array[Integer], l3: Redhound::L3::Base) -> void
|
11
|
+
|
12
|
+
# @rbs () -> Redhound::L4::Base?
|
13
|
+
def resolve: () -> Redhound::L4::Base?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Generated from lib/redhound/l4/udp.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class L4
|
5
|
+
class Udp < Base
|
6
|
+
# @rbs (bytes: Array[Integer]) -> void
|
7
|
+
def initialize: (bytes: Array[Integer]) -> void
|
8
|
+
|
9
|
+
# @rbs () -> Redhound::L4::Udp
|
10
|
+
def generate: () -> Redhound::L4::Udp
|
11
|
+
|
12
|
+
# @rbs () -> Integer
|
13
|
+
def size: () -> Integer
|
14
|
+
|
15
|
+
# @rbs () -> String
|
16
|
+
def to_s: () -> String
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
# @rbs () -> Integer
|
21
|
+
def sport: () -> Integer
|
22
|
+
|
23
|
+
# @rbs () -> Integer
|
24
|
+
def dport: () -> Integer
|
25
|
+
|
26
|
+
# @rbs () -> Integer
|
27
|
+
def len: () -> Integer
|
28
|
+
|
29
|
+
# @rbs () -> Integer
|
30
|
+
def check: () -> Integer
|
31
|
+
|
32
|
+
# @rbs () -> String
|
33
|
+
def data: () -> String
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Generated from lib/redhound/receiver.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class Receiver
|
5
|
+
# @rbs (ifname: String, filename: String) -> void
|
6
|
+
def self.run: (ifname: String, filename: String) -> void
|
7
|
+
|
8
|
+
# @rbs (ifname: String, filename: String) -> void
|
9
|
+
def initialize: (ifname: String, filename: String) -> void
|
10
|
+
|
11
|
+
# @rbs () -> void
|
12
|
+
def run: () -> void
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
# @rbs () -> Integer
|
17
|
+
def increment: () -> Integer
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Generated from lib/redhound/resolver.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class Resolver
|
5
|
+
# @rbs (ifname: String) -> void
|
6
|
+
def self.resolve: (ifname: String) -> void
|
7
|
+
|
8
|
+
# @rbs (ifname: String) -> Redhound::Source::Socket
|
9
|
+
def resolve: (ifname: String) -> Redhound::Source::Socket
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Generated from lib/redhound/source/socket.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
module Source
|
5
|
+
class Socket
|
6
|
+
# @rbs (socket: ::Socket) -> void
|
7
|
+
def initialize: (socket: ::Socket) -> void
|
8
|
+
|
9
|
+
# @rbs (Integer size) -> [String, Addrinfo]
|
10
|
+
def next_packet: (Integer size) -> [ String, Addrinfo ]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Generated from lib/redhound/writer.rb with RBS::Inline
|
2
|
+
|
3
|
+
module Redhound
|
4
|
+
class Writer
|
5
|
+
# @rbs (filename: String) -> void
|
6
|
+
def initialize: (filename: String) -> void
|
7
|
+
|
8
|
+
# @rbs () -> void
|
9
|
+
def start: () -> void
|
10
|
+
|
11
|
+
# @rbs (msg: String) -> void
|
12
|
+
def write: (msg: String) -> void
|
13
|
+
|
14
|
+
# @rbs () -> void
|
15
|
+
def stop: () -> void
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
# @rbs () -> String
|
20
|
+
def file_header: () -> String
|
21
|
+
|
22
|
+
# @rbs (Time timestamp, Integer captured_length, Integer original_length) -> String
|
23
|
+
def packet_record: (Time timestamp, Integer captured_length, Integer original_length) -> String
|
24
|
+
end
|
25
|
+
end
|