racket2 1.0.9

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.
Files changed (89) hide show
  1. data/README +76 -0
  2. data/examples/arp-send +24 -0
  3. data/examples/arp-send2 +30 -0
  4. data/examples/cdp +39 -0
  5. data/examples/cdp-spew +52 -0
  6. data/examples/dhcp +42 -0
  7. data/examples/dhcp-spew +48 -0
  8. data/examples/dns +38 -0
  9. data/examples/egp +30 -0
  10. data/examples/hsrp +43 -0
  11. data/examples/hsrp_takeover +69 -0
  12. data/examples/icmp-recv +34 -0
  13. data/examples/icmp-spew +50 -0
  14. data/examples/icmpv6 +84 -0
  15. data/examples/icmpv6-spew +50 -0
  16. data/examples/igmpv1 +27 -0
  17. data/examples/igmpv2 +27 -0
  18. data/examples/igrp-send +25 -0
  19. data/examples/ipv6 +35 -0
  20. data/examples/ipv6-option +40 -0
  21. data/examples/ntp +38 -0
  22. data/examples/ntp2 +42 -0
  23. data/examples/sctp +32 -0
  24. data/examples/stp-send +21 -0
  25. data/examples/synflood +147 -0
  26. data/examples/tcp +43 -0
  27. data/examples/tcp2udp +65 -0
  28. data/examples/udp +46 -0
  29. data/examples/vrrp +34 -0
  30. data/examples/vtp +28 -0
  31. data/lib/racket.rb +4 -0
  32. data/lib/racket/l2.rb +30 -0
  33. data/lib/racket/l2/eightotwodotthree.rb +48 -0
  34. data/lib/racket/l2/ethernet.rb +62 -0
  35. data/lib/racket/l2/llc.rb +50 -0
  36. data/lib/racket/l2/misc.rb +67 -0
  37. data/lib/racket/l2/snap.rb +40 -0
  38. data/lib/racket/l2/vlan.rb +61 -0
  39. data/lib/racket/l2/vtp.rb +124 -0
  40. data/lib/racket/l3.rb +30 -0
  41. data/lib/racket/l3/arp.rb +63 -0
  42. data/lib/racket/l3/cdp.rb +85 -0
  43. data/lib/racket/l3/egp.rb +53 -0
  44. data/lib/racket/l3/ipv4.rb +132 -0
  45. data/lib/racket/l3/ipv6.rb +66 -0
  46. data/lib/racket/l3/misc.rb +165 -0
  47. data/lib/racket/l3/stp.rb +81 -0
  48. data/lib/racket/l4.rb +30 -0
  49. data/lib/racket/l4/gre.rb +65 -0
  50. data/lib/racket/l4/icmp.rb +295 -0
  51. data/lib/racket/l4/icmpv6.rb +460 -0
  52. data/lib/racket/l4/igmpv1.rb +79 -0
  53. data/lib/racket/l4/igmpv2.rb +76 -0
  54. data/lib/racket/l4/igrp.rb +138 -0
  55. data/lib/racket/l4/misc.rb +35 -0
  56. data/lib/racket/l4/sctp.rb +163 -0
  57. data/lib/racket/l4/tcp.rb +152 -0
  58. data/lib/racket/l4/udp.rb +81 -0
  59. data/lib/racket/l4/vrrp.rb +95 -0
  60. data/lib/racket/l5.rb +30 -0
  61. data/lib/racket/l5/bootp.rb +106 -0
  62. data/lib/racket/l5/dns.rb +110 -0
  63. data/lib/racket/l5/hsrp.rb +73 -0
  64. data/lib/racket/l5/misc.rb +35 -0
  65. data/lib/racket/l5/ntp.rb +59 -0
  66. data/lib/racket/misc.rb +30 -0
  67. data/lib/racket/misc/lv.rb +108 -0
  68. data/lib/racket/misc/misc.rb +61 -0
  69. data/lib/racket/misc/orderedhash.rb +63 -0
  70. data/lib/racket/misc/raw.rb +35 -0
  71. data/lib/racket/misc/tlv.rb +103 -0
  72. data/lib/racket/misc/vt.rb +114 -0
  73. data/lib/racket/racket.rb +164 -0
  74. data/lib/racket/racketpart.rb +66 -0
  75. data/test/l2/ts_ethernet.rb +22 -0
  76. data/test/l2/ts_misc.rb +23 -0
  77. data/test/l2/ts_vlan.rb +15 -0
  78. data/test/l3/ts_ipv4.rb +44 -0
  79. data/test/l3/ts_ipv6.rb +26 -0
  80. data/test/l3/ts_misc.rb +31 -0
  81. data/test/l4/ts_icmp.rb +38 -0
  82. data/test/l4/ts_tcp.rb +55 -0
  83. data/test/l4/ts_udp.rb +40 -0
  84. data/test/misc/ts_lv.rb +59 -0
  85. data/test/misc/ts_orderedhash.rb +33 -0
  86. data/test/misc/ts_tlv.rb +47 -0
  87. data/test/misc/ts_vt.rb +56 -0
  88. data/test/ts_all.rb +14 -0
  89. metadata +156 -0
@@ -0,0 +1,47 @@
1
+ # $Id: ts_tlv.rb 147 2009-12-13 02:45:09Z jhart $
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), "../..", "lib")
4
+
5
+ require 'test/unit'
6
+ require 'racket'
7
+
8
+ class TestTLV < Test::Unit::TestCase
9
+ def test_init
10
+ assert_nothing_raised() { Racket::Misc::TLV.new(2,4) }
11
+ end
12
+
13
+ def test_decode
14
+ t = Racket::Misc::TLV.new(4,2)
15
+ s = "\x08\x05\x0c\x23\x00\x0b\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\xff\x00\xba"
16
+ t.decode!(s)
17
+
18
+ assert_equal(t.type, 0x08050c23)
19
+ assert_equal(t.length, 11)
20
+ assert_equal(t.value, "spoofed.org")
21
+ assert_equal(t.rest, "\xff\x00\xba")
22
+
23
+ t2 = Racket::Misc::TLV.new(1,1,8)
24
+ s2 = "\x02\x01\xaa\xbb\xcc\xdd\xee\xff"
25
+ t2.decode!(s2)
26
+ assert_equal(t2.type, 2)
27
+ assert_equal(t2.length, 1)
28
+ assert_equal(t2.value, "\xaa\xbb\xcc\xdd\xee\xff")
29
+
30
+ t3 = Racket::Misc::TLV.new(1,1,8,false)
31
+ s3 = "\x02\x01\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
32
+ t3.decode!(s3)
33
+ assert_equal(t3.type, 2)
34
+ assert_equal(t3.length, 1)
35
+ assert_equal(t3.value, "\xaa\xbb\xcc\xdd\xee\xff\x11\x22")
36
+
37
+ end
38
+
39
+ def test_encode
40
+ t = Racket::Misc::TLV.new(4,2)
41
+ s = "\x08\x05\x0c\x23\x00\x0b\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\xff\xff"
42
+ t.decode!(s)
43
+ assert_equal(t.encode, s.slice(0, s.length - 2))
44
+ assert_equal("#{t}", s.slice(0, s.length - 2))
45
+ end
46
+ end
47
+ # vim: set ts=2 et sw=2:
@@ -0,0 +1,56 @@
1
+ # $Id: ts_vt.rb 129 2009-11-29 01:37:06Z jhart $
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), "../..", "lib")
4
+
5
+ require 'test/unit'
6
+ require 'racket'
7
+
8
+ class TestVT < Test::Unit::TestCase
9
+ def test_init
10
+ assert_nothing_raised() { Racket::Misc::VT.new(2) }
11
+ assert_nothing_raised() { Racket::Misc::VT.new(2,4,4,4,4,4,12,3) }
12
+ end
13
+
14
+ def test_decode
15
+ s1 = "\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\x00\x01\x02\x03\x04\xab\xcd\xef"
16
+ t1 = Racket::Misc::VT.new
17
+ t1.decode!(s1)
18
+ assert_equal(t1.value, "spoofed.org")
19
+ assert_equal(t1.types.size, 0)
20
+ assert_equal(t1.rest, "\x01\x02\x03\x04\xab\xcd\xef")
21
+
22
+ t2 = Racket::Misc::VT.new(4)
23
+ s2 = "\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\x00\x01\x02\x03\x04"
24
+ t2.decode!(s2)
25
+
26
+ assert_equal(t2.types[0], 0x01020304)
27
+ assert_equal(t2.value, "spoofed.org")
28
+ assert_equal(t2.rest, "")
29
+
30
+ t3 = Racket::Misc::VT.new(1,2,2,4)
31
+ s3 = "\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\x00\x01\x02\x03\x04\x05\xde\xad\xba\xbe\x11\xff"
32
+ t3.decode!(s3)
33
+
34
+ assert_equal(t3.types[0], 0x01)
35
+ assert_equal(t3.types[1], 0x0203)
36
+ assert_equal(t3.types[2], 0x0405)
37
+ assert_equal(t3.types[3], 0xdeadbabe)
38
+ assert_equal(t3.value, "spoofed.org")
39
+ assert_equal(t3.rest, "\x11\xff")
40
+ end
41
+
42
+ def test_encode
43
+ t1 = Racket::Misc::VT.new(4)
44
+ s1 = "\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\x00\x01\x02\x03\x04"
45
+ t1.decode!(s1)
46
+ assert_equal(t1.encode, s1)
47
+ assert_equal("#{t1}", s1)
48
+
49
+ t2 = Racket::Misc::VT.new(1,2,2,4)
50
+ s2 = "\x73\x70\x6f\x6f\x66\x65\x64\x2e\x6f\x72\x67\x00\x01\x02\x03\x04\x05\xde\xad\xba\xbe\xff\xff"
51
+ t2.decode!(s2)
52
+ assert_equal(t2.encode, s2.slice(0, s2.size - 2))
53
+ assert_equal("#{t2}", s2.slice(0, s2.size - 2))
54
+ end
55
+ end
56
+ # vim: set ts=2 et sw=2:
@@ -0,0 +1,14 @@
1
+ # $Id: ts_all.rb 90 2009-11-27 08:22:20Z jhart $
2
+
3
+ #require 'rubygems'
4
+
5
+ (2..5).each do |l|
6
+ Dir.glob(File.join(File.dirname(__FILE__) + "/l#{l}", '*.rb')).each do |f|
7
+ require f
8
+ end
9
+ end
10
+
11
+ Dir.glob(File.join(File.dirname(__FILE__) + "/misc", '*.rb')).each do |f|
12
+ require f
13
+ end
14
+ # vim: set ts=2 et sw=2:
metadata ADDED
@@ -0,0 +1,156 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: racket2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 5
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 9
10
+ version: 1.0.9
11
+ platform: ruby
12
+ authors:
13
+ - Jon Hart
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-12-13 00:00:00 Z
19
+ dependencies: []
20
+
21
+ description: Ruby Gem for reading and writing raw packets
22
+ email: jhart@spoofed.org
23
+ executables: []
24
+
25
+ extensions: []
26
+
27
+ extra_rdoc_files:
28
+ - README
29
+ files:
30
+ - examples/dhcp-spew
31
+ - examples/ipv6
32
+ - examples/egp
33
+ - examples/hsrp
34
+ - examples/icmpv6-spew
35
+ - examples/sctp
36
+ - examples/tcp
37
+ - examples/stp-send
38
+ - examples/igmpv2
39
+ - examples/dhcp
40
+ - examples/udp
41
+ - examples/vtp
42
+ - examples/ntp2
43
+ - examples/igrp-send
44
+ - examples/icmp-recv
45
+ - examples/cdp-spew
46
+ - examples/arp-send
47
+ - examples/synflood
48
+ - examples/arp-send2
49
+ - examples/icmpv6
50
+ - examples/ipv6-option
51
+ - examples/tcp2udp
52
+ - examples/vrrp
53
+ - examples/icmp-spew
54
+ - examples/igmpv1
55
+ - examples/ntp
56
+ - examples/hsrp_takeover
57
+ - examples/dns
58
+ - examples/cdp
59
+ - lib/racket.rb
60
+ - lib/racket/l2.rb
61
+ - lib/racket/l5/ntp.rb
62
+ - lib/racket/l5/dns.rb
63
+ - lib/racket/l5/hsrp.rb
64
+ - lib/racket/l5/bootp.rb
65
+ - lib/racket/l5/misc.rb
66
+ - lib/racket/l3.rb
67
+ - lib/racket/l2/snap.rb
68
+ - lib/racket/l2/llc.rb
69
+ - lib/racket/l2/ethernet.rb
70
+ - lib/racket/l2/misc.rb
71
+ - lib/racket/l2/eightotwodotthree.rb
72
+ - lib/racket/l2/vtp.rb
73
+ - lib/racket/l2/vlan.rb
74
+ - lib/racket/l3/egp.rb
75
+ - lib/racket/l3/ipv4.rb
76
+ - lib/racket/l3/arp.rb
77
+ - lib/racket/l3/cdp.rb
78
+ - lib/racket/l3/misc.rb
79
+ - lib/racket/l3/ipv6.rb
80
+ - lib/racket/l3/stp.rb
81
+ - lib/racket/l4.rb
82
+ - lib/racket/l4/igrp.rb
83
+ - lib/racket/l4/igmpv2.rb
84
+ - lib/racket/l4/igmpv1.rb
85
+ - lib/racket/l4/vrrp.rb
86
+ - lib/racket/l4/sctp.rb
87
+ - lib/racket/l4/icmp.rb
88
+ - lib/racket/l4/udp.rb
89
+ - lib/racket/l4/misc.rb
90
+ - lib/racket/l4/gre.rb
91
+ - lib/racket/l4/icmpv6.rb
92
+ - lib/racket/l4/tcp.rb
93
+ - lib/racket/racket.rb
94
+ - lib/racket/l5.rb
95
+ - lib/racket/misc.rb
96
+ - lib/racket/misc/raw.rb
97
+ - lib/racket/misc/tlv.rb
98
+ - lib/racket/misc/misc.rb
99
+ - lib/racket/misc/orderedhash.rb
100
+ - lib/racket/misc/lv.rb
101
+ - lib/racket/misc/vt.rb
102
+ - lib/racket/racketpart.rb
103
+ - test/l2/ts_vlan.rb
104
+ - test/l2/ts_misc.rb
105
+ - test/l2/ts_ethernet.rb
106
+ - test/ts_all.rb
107
+ - test/l3/ts_ipv6.rb
108
+ - test/l3/ts_misc.rb
109
+ - test/l3/ts_ipv4.rb
110
+ - test/l4/ts_tcp.rb
111
+ - test/l4/ts_udp.rb
112
+ - test/l4/ts_icmp.rb
113
+ - test/misc/ts_lv.rb
114
+ - test/misc/ts_orderedhash.rb
115
+ - test/misc/ts_vt.rb
116
+ - test/misc/ts_tlv.rb
117
+ - README
118
+ homepage: http://spoofed.org/files/racket/
119
+ licenses: []
120
+
121
+ post_install_message:
122
+ rdoc_options:
123
+ - -A rest,octets,hex_octets,unsigned,signed,text,rest
124
+ - -p
125
+ - -m
126
+ - README
127
+ - -W http://spoofed.org/files/racket/src/%s
128
+ require_paths:
129
+ - lib
130
+ required_ruby_version: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ hash: 3
136
+ segments:
137
+ - 0
138
+ version: "0"
139
+ required_rubygems_version: !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ hash: 3
145
+ segments:
146
+ - 0
147
+ version: "0"
148
+ requirements: []
149
+
150
+ rubyforge_project:
151
+ rubygems_version: 1.8.12
152
+ signing_key:
153
+ specification_version: 3
154
+ summary: Packet foo
155
+ test_files:
156
+ - test/ts_all.rb