whois 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/CHANGELOG.rdoc +34 -0
  2. data/{License.txt → LICENSE.rdoc} +6 -1
  3. data/Manifest +53 -0
  4. data/README.rdoc +142 -0
  5. data/Rakefile +67 -0
  6. data/data/ip6_del_list +47 -0
  7. data/data/ip_del_list +226 -0
  8. data/data/make_ip6_del.pl +38 -0
  9. data/data/make_ip_del.pl +25 -0
  10. data/data/make_tld_serv.pl +22 -0
  11. data/data/tld_serv_list +366 -0
  12. data/lib/whois.rb +29 -155
  13. data/lib/whois/client.rb +57 -0
  14. data/lib/whois/definitions/ipv4.rb +210 -0
  15. data/lib/whois/definitions/ipv4.txt +209 -0
  16. data/lib/whois/definitions/ipv6.rb +32 -0
  17. data/lib/whois/definitions/ipv6.txt +32 -0
  18. data/lib/whois/definitions/tlds.rb +354 -0
  19. data/lib/whois/definitions/tlds.txt +354 -0
  20. data/lib/whois/errors.rb +70 -0
  21. data/lib/whois/server.rb +206 -0
  22. data/lib/whois/server/adapters/afilias.rb +36 -0
  23. data/lib/whois/server/adapters/arpa.rb +53 -0
  24. data/lib/whois/server/adapters/base.rb +67 -0
  25. data/lib/whois/server/adapters/formatted.rb +31 -0
  26. data/lib/whois/server/adapters/none.rb +31 -0
  27. data/lib/whois/server/adapters/not_implemented.rb +31 -0
  28. data/lib/whois/server/adapters/pir.rb +37 -0
  29. data/lib/whois/server/adapters/standard.rb +31 -0
  30. data/lib/whois/server/adapters/verisign.rb +36 -0
  31. data/lib/whois/server/adapters/web.rb +32 -0
  32. data/lib/whois/version.rb +27 -5
  33. data/lib/whois/whois.rb +191 -0
  34. data/tasks/server.rake +108 -0
  35. data/test/adapters/afilias_test.rb +26 -0
  36. data/test/adapters/none_test.rb +22 -0
  37. data/test/adapters/not_implemented_test.rb +16 -0
  38. data/test/adapters/pir_test.rb +26 -0
  39. data/test/adapters/standard_test.rb +23 -0
  40. data/test/adapters/verisign_test.rb +26 -0
  41. data/test/adapters/web_test.rb +17 -0
  42. data/test/client_test.rb +69 -0
  43. data/test/deprecated_test.rb +52 -0
  44. data/test/server_test.rb +59 -0
  45. data/test/test_helper.rb +32 -0
  46. data/test/testcases/referrals/afilias.bz.txt +40 -0
  47. data/test/testcases/referrals/crsnic.com.txt +210 -0
  48. data/test/testcases/referrals/niccc.cc.txt +59 -0
  49. data/test/testcases/referrals/pir.org.txt +84 -0
  50. data/test/testcases/responses/it.txt +52 -0
  51. data/test/whois_test.rb +10 -0
  52. data/utils/bm_shell_vs_pure.rb +14 -0
  53. data/utils/tlds.txt +318 -0
  54. data/whois.gemspec +41 -0
  55. metadata +137 -36
  56. data/CHANGELOG +0 -45
  57. data/EXAMPLES +0 -122
  58. data/NOTES +0 -47
  59. data/README +0 -36
  60. data/lib/whois/data/ipv4.yaml +0 -201
  61. data/lib/whois/data/ipv6.yaml +0 -33
  62. data/lib/whois/server/server.rb +0 -125
  63. data/test/example.rb +0 -110
  64. data/test/example.rbc +0 -0
  65. data/test/test_whois.rb +0 -176
@@ -0,0 +1,34 @@
1
+ = Changelog
2
+
3
+
4
+ == 0.5.0
5
+
6
+ * FIXED: Whois#whois defined as instance method but modules can't have instances!
7
+
8
+ * FIXED: Whois::Server::Adapters::Verisign adapter always use "whois.crsnic.net" regardless the adapter set in the server definition.
9
+
10
+ * FIXED: Outdated .tv definition: .tv whois server has become a thin server (closes #261).
11
+
12
+ * FIXED: Outdated .ae definition (closes #270).
13
+
14
+ * ADDED: Support for IPv4 and IPv6 (closes #265).
15
+
16
+ * ADDED: Compatibility with existing GEM Whois 0.4.2 (closes #266).
17
+
18
+ * ADDED: Deprecation warning for all the features that will be removed in Whois 0.6.0 (closes #266).
19
+
20
+ * ADDED: Default timeout for any Whois query run from the client interface (closes #269).
21
+
22
+
23
+ == Release 0.1.1
24
+
25
+ * FIXED: Server#guess should raise ServerNotFound when query is not recognized.
26
+
27
+ * FIXED: ServerError should inherits from Error and not StandardError.
28
+
29
+ * CHANGED: Removed the Kernel#whois method because fights with many implementations of missing_method. Moved the method under the Whois namespace.
30
+
31
+
32
+ == Release 0.1.0
33
+
34
+ * First release
@@ -1,4 +1,8 @@
1
- Copyright (c) 2007 Cyril Mougel
1
+ = License
2
+
3
+ (The MIT License)
4
+
5
+ Copyright (c) 2009 Simone Carletti <weppos@weppos.net>
2
6
 
3
7
  Permission is hereby granted, free of charge, to any person obtaining
4
8
  a copy of this software and associated documentation files (the
@@ -18,3 +22,4 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
22
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
23
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
24
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
+
@@ -0,0 +1,53 @@
1
+ CHANGELOG.rdoc
2
+ data/ip6_del_list
3
+ data/ip_del_list
4
+ data/make_ip6_del.pl
5
+ data/make_ip_del.pl
6
+ data/make_tld_serv.pl
7
+ data/tld_serv_list
8
+ lib/whois/client.rb
9
+ lib/whois/definitions/ipv4.rb
10
+ lib/whois/definitions/ipv4.txt
11
+ lib/whois/definitions/ipv6.rb
12
+ lib/whois/definitions/ipv6.txt
13
+ lib/whois/definitions/tlds.rb
14
+ lib/whois/definitions/tlds.txt
15
+ lib/whois/errors.rb
16
+ lib/whois/server/adapters/afilias.rb
17
+ lib/whois/server/adapters/arpa.rb
18
+ lib/whois/server/adapters/base.rb
19
+ lib/whois/server/adapters/formatted.rb
20
+ lib/whois/server/adapters/none.rb
21
+ lib/whois/server/adapters/not_implemented.rb
22
+ lib/whois/server/adapters/pir.rb
23
+ lib/whois/server/adapters/standard.rb
24
+ lib/whois/server/adapters/verisign.rb
25
+ lib/whois/server/adapters/web.rb
26
+ lib/whois/server.rb
27
+ lib/whois/version.rb
28
+ lib/whois/whois.rb
29
+ lib/whois.rb
30
+ LICENSE.rdoc
31
+ Manifest
32
+ Rakefile
33
+ README.rdoc
34
+ tasks/server.rake
35
+ test/adapters/afilias_test.rb
36
+ test/adapters/none_test.rb
37
+ test/adapters/not_implemented_test.rb
38
+ test/adapters/pir_test.rb
39
+ test/adapters/standard_test.rb
40
+ test/adapters/verisign_test.rb
41
+ test/adapters/web_test.rb
42
+ test/client_test.rb
43
+ test/deprecated_test.rb
44
+ test/server_test.rb
45
+ test/test_helper.rb
46
+ test/testcases/referrals/afilias.bz.txt
47
+ test/testcases/referrals/crsnic.com.txt
48
+ test/testcases/referrals/niccc.cc.txt
49
+ test/testcases/referrals/pir.org.txt
50
+ test/testcases/responses/it.txt
51
+ test/whois_test.rb
52
+ utils/bm_shell_vs_pure.rb
53
+ utils/tlds.txt
@@ -0,0 +1,142 @@
1
+ = Whois
2
+
3
+ Whois is a pure Ruby WHOIS client.
4
+ It is a os-independent library and doesn't require external C libraries or GEMS: it is a 100% Ruby software with all the advantages and disadvantages that it involves.
5
+
6
+ This software was developed to power RoboDomain[http://www.robodomain.com] and, despite it has been using in a production environment since July 2009, it should not be considered production-ready yet. It is currently in its beta stage.
7
+
8
+ An extensive test suite is available to verify the library correctness but you must be aware that registrant might change Whois interfaces without notice and at any time causing queries to specific hosts to stop working.
9
+
10
+
11
+ == Features
12
+
13
+ * Written in pure Ruby without any additional dependency
14
+ * Flexible and extensible with custom server
15
+ * Support for ipv6, ipv4 and top level domain whois queries
16
+ * Object oriented design
17
+ * Compatible with older Whois version (Whois 0.4.2, see below)
18
+
19
+
20
+ == Requirements
21
+
22
+ * Ruby >= 1.8.6 (not tested with previous versions)
23
+
24
+ Whois has been {successfully tested}[http://code.simonecarletti.com/wiki/whois/Platforms] against the following Ruby platforms:
25
+
26
+ * Ruby 1.8.6 / 1.8.7 / 1.9.1
27
+ * MacRuby 0.4
28
+ * Ruby Enterprise Edition
29
+
30
+ Do you run any other Ruby platform or version? Are you experiencing any problem? Join our {discussion group}[http://groups.google.com/group/ruby-whois].
31
+
32
+
33
+ == Installation
34
+
35
+ This library is intended to be installed via the
36
+ RubyGems[http://rubyforge.org/projects/rubygems/] system.
37
+
38
+ $ gem install whois
39
+
40
+ You might need administrator privileges on your system to install it.
41
+
42
+
43
+ == Getting Started
44
+
45
+ Whois provides the ability to get whois information for hostnames, ipv4 and ipv6 ip addresses. The client is smart enough to guess the best whois server according to given query, send the request and return the response.
46
+
47
+ Checkout the following examples:
48
+
49
+ # Domain Whois
50
+ w = Whois::Client.new
51
+ w.query("google.com")
52
+ # => whois response for google.com
53
+
54
+ # IPv4 Whois
55
+ w = Whois::Client.new
56
+ w.query("74.125.67.100")
57
+ # => whois response for 74.125.67.100
58
+
59
+ # IPv6 Whois
60
+ w = Whois::Client.new
61
+ w.query("2001:db8::1428:57ab")
62
+ # => whois response for 2001:db8::1428:57ab
63
+
64
+ The query method is stateless. For this reason, you can safely re-use the same client instance for multiple queries.
65
+
66
+ w = Whois::Client.new
67
+ w.query("google.com")
68
+ w.query("74.125.67.100")
69
+ w.query("2001:db8::1428:57ab")
70
+ w.query("google.it")
71
+
72
+
73
+ == Documentation
74
+
75
+ More documentation to come. Please be patient, this library is under active development.
76
+
77
+
78
+ == Acknowledgments
79
+
80
+ First of all, I would like to express my most sincere thanks to Cyril Mougel, the author of the first Ruby Whois GEM that has been available since 2007. Cyril has been kind enough to yield me the privilege of using the RubyForge Whois project and the Whois package name to publish this library.
81
+ To express all my gratitude, the Release 0.5.0 of the new Ruby Whois is 100% compatible with Cyril's Whois (as of release 0.4.2).
82
+
83
+ Whois is largely inspired by other notable Whois projects, most of all the Debian Whois library written and mainained by Marco D'Itri. Other good ideas and design decisions come from the PERL Net::DRI package.
84
+
85
+ I would lie if I say I'm completely unaware of the other Ruby Whois projects. Before starting this Ruby Whois library I deeply investigated the available resources and, despite none of them was a good candidate for a refactoring, some of them expose a really cool API.
86
+ They didn't directly influence this library or any design decision, but they have been a really interesting code-reading.
87
+
88
+ The parser architecture (yet to come) has been inspired by the PHPWhois[http://phpwhois.sourceforge.net/] project. The authors puts lot of effort to create whois-specific parsers normalizing the different responses in a single tree-based structure. So far, this is the only one opensource project that offers such this feature in all the programming language ecosystem.
89
+
90
+ Despite I spent weeks reading source code from the available whois libraries, Ruby Whois has been built from scratch trying to focus on long-term maintainability and flexibility and cannot be considered a Ruby port of any of other existing Whois libraries.
91
+
92
+
93
+ == Notice for users of Whois 0.4.2 (or previous version)
94
+
95
+ As of release 0.5.0, the Whois GEM has been completely rewritten. As I explained in the Acknowledgment section, Cyril Mougel (the author of the original Whois package) yield me the privilege to use the Whois RubyForge project for my new Whois client.
96
+
97
+ My Whois client provides all the features offered by Cyril's library, with some nice additions like the ability to get top level domain query information. All existing users won't be affected by this change since the new Whois library comes with a compatibility adapter that translates all the requests from the deprecated interface to the new one.
98
+
99
+ The adapter will be removed in a future version so make sure to check your application for deprecation warnings and fix them before upgrading to a newest release that doesn't belong to the 0.5.x series.
100
+
101
+ Ruby Whois 0.4.2 is released under the MIT license.
102
+
103
+ Copyright (c) 2007 by Cyril Mougel (cyril.mougel@gmail.com)
104
+
105
+
106
+ == Credits
107
+
108
+ Author:: {Simone Carletti}[http://www.simonecarletti.com/] <weppos@weppos.net>
109
+ First Whois Version:: {Cyril Mougel}[http://blog.shingara.fr/] <cyril.mougel@gmail.com>
110
+
111
+
112
+ == FeedBack and Bug reports
113
+
114
+ If you use this library and find yourself missing any functionality I have missed, please {let me know}[mailto:weppos@weppos.net].
115
+
116
+ Bug reports and Feature suggestions {are welcomed}[http://code.simonecarletti.com/projects/whois/issues].
117
+
118
+
119
+ == Resources
120
+
121
+ * {Homepage}[http://code.simonecarletti.com/whois]
122
+ * {GitHub}[http://github.com/weppos/whois]
123
+ * {RubyForge}[http://rubyforge.org/projects/whois/]
124
+ * {Discussion Group}[http://groups.google.com/group/ruby-whois]
125
+
126
+
127
+ == Changelog
128
+
129
+ See the CHANGELOG.rdoc file for details.
130
+
131
+
132
+ == Roadmap
133
+
134
+ * Implement intelligent Whois response parsing
135
+
136
+ For more details visit the {roadmap page}[http://code.simonecarletti.com/projects/roadmap/whois].
137
+
138
+
139
+ == License
140
+
141
+ Copyright (c) 2009 Simone Carletti, Whois is released under the MIT license.
142
+
@@ -0,0 +1,67 @@
1
+ $:.unshift(File.dirname(__FILE__) + "/lib")
2
+
3
+ require 'rubygems'
4
+ require 'rake'
5
+ require 'echoe'
6
+ require 'whois'
7
+
8
+
9
+ # Common package properties
10
+ PKG_NAME = ENV['PKG_NAME'] || Whois::GEM
11
+ PKG_VERSION = ENV['PKG_VERSION'] || Whois::VERSION
12
+ PKG_FILES = FileList.new("{lib,test}/**/*.rb") do |files|
13
+ files.include %w(README.rdoc CHANGELOG.rdoc LICENSE.rdoc)
14
+ files.include %w(Rakefile)
15
+ end
16
+ RUBYFORGE_PROJECT = 'whois'
17
+
18
+ if ENV['SNAPSHOT'].to_i == 1
19
+ PKG_VERSION << "." << Time.now.utc.strftime("%Y%m%d%H%M%S")
20
+ end
21
+
22
+
23
+ Echoe.new(PKG_NAME, PKG_VERSION) do |p|
24
+ p.author = "Simone Carletti"
25
+ p.email = "weppos@weppos.net"
26
+ p.summary = "An intelligent pure Ruby WHOIS client."
27
+ p.url = "http://code.simonecarletti.com/whois"
28
+ p.project = RUBYFORGE_PROJECT
29
+ p.description = <<-EOD
30
+ WWW::Delicious is an intelligent WHOIS client written in pure Ruby. \
31
+ It enables you to query registry data for ipv4, ipv6 and top level domains.
32
+ EOD
33
+
34
+ p.need_zip = true
35
+ p.rdoc_pattern = /^(lib|CHANGELOG.rdoc|README.rdoc)/
36
+
37
+ p.development_dependencies += ["rake ~>0.8",
38
+ "echoe ~>3.1",
39
+ "mocha ~>0.9"]
40
+ #p.add_development_dependency "rake", "~>0.8.0"
41
+ #p.add_development_dependency "echoe", "~>3.1.0"
42
+ #p.add_development_dependency "mocha", "~>0.9.0"
43
+
44
+ p.rcov_options = ["--main << README.rdoc -x Rakefile -x mocha -x rcov"]
45
+
46
+ end
47
+
48
+
49
+ desc "Open an irb session preloaded with this library"
50
+ task :console do
51
+ sh "irb -rubygems -I lib -r whois.rb"
52
+ end
53
+
54
+ begin
55
+ require 'code_statistics'
56
+ desc "Show library's code statistics"
57
+ task :stats do
58
+ CodeStatistics.new(["Whois", "lib"],
59
+ ["Tests", "test"]).to_s
60
+ end
61
+ rescue LoadError
62
+ puts "CodeStatistics (Rails) is not available"
63
+ end
64
+
65
+ Dir["tasks/**/*.rake"].each do |file|
66
+ load(file)
67
+ end
@@ -0,0 +1,47 @@
1
+ # http://www.iana.org/assignments/ipv6-unicast-address-assignments
2
+ # The parser is very simple-minded and wants the two first components of
3
+ # addresses. It does not deal with networks == 0 or > 24 bit.
4
+
5
+ 2001:0000::/32 teredo
6
+ 2001:0200::/23 apnic
7
+ 2001:0400::/23 arin
8
+ 2001:0600::/23 ripe
9
+ 2001:0800::/22 ripe
10
+ 2001:0C00::/22 apnic
11
+ # contains 2001:1000::/23, not allocated
12
+ 2001:1000::/22 lacnic
13
+ 2001:1400::/22 ripe
14
+ 2001:1800::/23 arin
15
+ 2001:1A00::/23 ripe
16
+ 2001:1C00::/22 ripe
17
+ # contains 2001:3C00::/22, reserved for RIPE but not allocated
18
+ 2001:2000::/19 ripe
19
+ 2001:4000::/23 ripe
20
+ 2001:4200::/23 afrinic
21
+ 2001:4400::/23 apnic
22
+ 2001:4600::/23 ripe
23
+ 2001:4800::/23 arin
24
+ 2001:4A00::/23 ripe
25
+ # contains 2001:4E00::/23, not allocated
26
+ 2001:4C00::/22 ripe
27
+
28
+ 2001:5000::/20 ripe
29
+
30
+ 2001:8000::/18 apnic
31
+
32
+ # 6to4 is special-cased
33
+ 2002:0000::/16 6to4
34
+
35
+ 2003:0000::/18 ripe
36
+
37
+ 2400:0000::/20 whois.nic.or.kr
38
+ 2400:0000::/12 apnic
39
+ 2600:0000::/12 arin
40
+ 2610:0000::/23 arin
41
+ 2620:0000::/23 arin
42
+ 2800:0000::/12 lacnic
43
+ 2A00:0000::/12 ripe
44
+ 2C00:0000::/12 afrinic
45
+
46
+ 3FFE:0000::/16 6bone
47
+
@@ -0,0 +1,226 @@
1
+ # WARNING! Netblocks 128.0.0.0/2, 192.0.0.0/8, 196.0.0.0/8 and 198.0.0.0/8
2
+ # contain historical allocations now scattered among all the RIRs.
3
+ # Do not even try submitting such networks for inclusion in this list
4
+ # unless they are very big and contains multiple assignments to different
5
+ # customers documented in the whois database.
6
+ #
7
+ # http://www.iana.org/assignments/ipv4-address-space
8
+ #
9
+ 24.132.0.0/14 ripe
10
+ 41.0.0.0/8 afrinic
11
+ 43.0.0.0/8 v6nic
12
+ # whois -r -K -h whois.apnic.net -i admin-c IM76-AP
13
+ 59.0.0.0/11 whois.nic.or.kr
14
+ 58.0.0.0/7 apnic
15
+ 61.72.0.0/13 whois.nic.or.kr
16
+ 61.80.0.0/14 whois.nic.or.kr
17
+ 61.84.0.0/15 whois.nic.or.kr
18
+ 61.112.0.0/12 whois.nic.ad.jp
19
+ 61.192.0.0/12 whois.nic.ad.jp # => 61.207.255.255
20
+ 61.208.0.0/13 whois.nic.ad.jp # => 61.215.255.255
21
+ 60.0.0.0/7 apnic
22
+ 62.0.0.0/8 ripe
23
+ 77.0.0.0/8 ripe
24
+ 78.0.0.0/7 ripe
25
+ 80.0.0.0/4 ripe # => 95.255.255.255
26
+ 96.0.0.0/6 arin # => 99.255.255.255
27
+ 108.0.0.0/8 arin
28
+ 109.0.0.0/8 ripe
29
+ 110.0.0.0/7 apnic
30
+ 96.0.0.0/4 UNALLOCATED # => 112.215.255.255
31
+ 118.32.0.0/11 whois.nic.or.kr
32
+ 119.192.0.0/11 whois.nic.or.kr
33
+ 115.0.0.0/12 whois.nic.or.kr
34
+ 115.16.0.0/13 whois.nic.or.kr
35
+ 112.0.0.0/5 apnic
36
+ 121.128.0.0/10 whois.nic.or.kr
37
+ 125.128.0.0/11 whois.nic.or.kr
38
+ 120.0.0.0/6 apnic
39
+ 124.0.0.0/7 apnic
40
+ 126.0.0.0/8 apnic
41
+ 0.0.0.0/1 arin # all other A class addresses are managed by ARIN
42
+ 133.0.0.0/8 whois.nic.ad.jp
43
+ 139.20.0.0/14 ripe
44
+ 139.24.0.0/14 ripe
45
+ 139.28.0.0/15 ripe
46
+ 141.0.0.0/10 ripe
47
+ 141.64.0.0/12 ripe
48
+ 141.80.0.0/14 ripe
49
+ 141.84.0.0/15 ripe
50
+ 145.0.0.0/8 ripe
51
+ 146.48.0.0/16 ripe
52
+ 149.202.0.0/15 ripe
53
+ 149.204.0.0/16 ripe
54
+ 149.206.0.0/15 ripe
55
+ 149.208.0.0/12 ripe
56
+ 149.224.0.0/12 ripe
57
+ 149.240.0.0/13 ripe
58
+ 149.248.0.0/14 ripe
59
+ 150.183.0.0/16 whois.nic.or.kr
60
+ 150.254.0.0/16 ripe
61
+ 151.0.0.0/10 ripe
62
+ 151.64.0.0/11 ripe
63
+ 151.96.0.0/14 ripe
64
+ 151.100.0.0/16 ripe
65
+ 155.232.0.0/13 afrinic
66
+ 155.240.0.0/16 afrinic
67
+ 160.216.0.0/14 ripe
68
+ 160.220.0.0/16 ripe
69
+ 160.44.0.0/14 ripe
70
+ 160.48.0.0/12 ripe
71
+ 160.115.0.0/16 afrinic
72
+ 160.116.0.0/14 afrinic
73
+ 160.120.0.0/14 afrinic
74
+ 160.124.0.0/16 afrinic
75
+ 163.156.0.0/14 ripe
76
+ 163.160.0.0/12 ripe
77
+ 163.195.0.0/16 afrinic
78
+ 163.196.0.0/14 afrinic
79
+ 163.200.0.0/14 afrinic
80
+ 164.0.0.0/11 ripe
81
+ 164.32.0.0/13 ripe
82
+ 164.40.0.0/16 ripe
83
+ 164.128.0.0/12 ripe
84
+ 164.146.0.0/15 afrinic
85
+ 164.148.0.0/14 afrinic
86
+ 165.143.0.0/16 afrinic
87
+ 165.144.0.0/14 afrinic
88
+ 165.148.0.0/15 afrinic
89
+ 169.208.0.0/12 apnic
90
+ 171.16.0.0/12 ripe
91
+ 171.32.0.0/15 ripe
92
+ 178.0.0.0/8 ripe
93
+ 180.0.0.0/8 lacnic
94
+ 183.0.0.0/8 lacnic
95
+ # 175 -> 185 reserved
96
+ 186.0.0.0/7 lacnic
97
+ 188.0.0.0/8 ripe # transferred from ARIN to to RIPE
98
+ 189.0.0.0/8 lacnic
99
+ 190.0.0.0/8 lacnic
100
+ ## All other B class addresses are supposed to be allocated by ARIN
101
+ ## We know that many of them are not, but they can't all be listed here
102
+ 128.0.0.0/2 arin
103
+
104
+ ## The C classes space is cleanly delegated and the data here should be complete
105
+ 192.71.0.0/16 ripe
106
+ 192.72.253.0/24 arin
107
+ 192.72.254.0/24 arin # how annoying...
108
+ 192.72.0.0/16 apnic
109
+ 192.106.0.0/16 ripe
110
+ 192.114.0.0/15 ripe
111
+ 192.116.0.0/15 ripe
112
+ 192.118.0.0/16 ripe
113
+ 192.162.0.0/16 ripe
114
+ 192.164.0.0/14 ripe
115
+ 192.0.0.0/8 arin # the swamp
116
+ 193.0.0.0/8 ripe
117
+ 194.0.0.0/7 ripe
118
+ 196.0.0.0/7 afrinic
119
+ 198.0.0.0/7 arin
120
+
121
+ 200.17.0.0/16 whois.nic.br
122
+ 200.18.0.0/15 whois.nic.br
123
+ 200.20.0.0/16 whois.nic.br
124
+ 200.96.0.0/13 whois.nic.br
125
+ 200.128.0.0/9 whois.nic.br
126
+ 200.0.0.0/7 lacnic
127
+ 202.11.0.0/16 whois.nic.ad.jp
128
+ 202.13.0.0/16 whois.nic.ad.jp
129
+ 202.15.0.0/16 whois.nic.ad.jp
130
+ 202.16.0.0/14 whois.nic.ad.jp
131
+ 202.20.128.0/17 whois.nic.or.kr
132
+ 202.23.0.0/16 whois.nic.ad.jp
133
+ 202.24.0.0/15 whois.nic.ad.jp
134
+ 202.26.0.0/16 whois.nic.ad.jp
135
+ 202.30.0.0/15 whois.nic.or.kr
136
+ 202.32.0.0/14 whois.nic.ad.jp
137
+ 202.48.0.0/16 whois.nic.ad.jp
138
+ 202.39.128.0/17 twnic
139
+ 202.208.0.0/12 whois.nic.ad.jp
140
+ 202.224.0.0/11 whois.nic.ad.jp # => 202.255.255.255
141
+ 203.0.0.0/10 apnic
142
+ 203.66.0.0/16 twnic
143
+ 203.69.0.0/16 twnic
144
+ 203.74.0.0/15 twnic
145
+ 203.136.0.0/14 whois.nic.ad.jp
146
+ 203.140.0.0/15 whois.nic.ad.jp
147
+ 203.178.0.0/15 whois.nic.ad.jp
148
+ 203.180.0.0/14 whois.nic.ad.jp
149
+ 203.224.0.0/11 whois.nic.or.kr # => 203.255.255.255
150
+ 202.0.0.0/7 apnic
151
+ 204.0.0.0/14 rwhois.gin.ntt.net # rwhois too
152
+ 204.0.0.0/6 arin
153
+ 208.0.0.0/7 arin
154
+ 209.94.192.0/19 lacnic
155
+ 210.59.128.0/17 twnic
156
+ 210.61.0.0/16 twnic
157
+ 210.62.252.0/22 twnic
158
+ 210.65.0.0/16 twnic
159
+ 210.71.128.0/16 twnic
160
+ 210.90.0.0/15 whois.nic.or.kr
161
+ 210.92.0.0/14 whois.nic.or.kr
162
+ 210.96.0.0/11 whois.nic.or.kr # => 210.127.255.255
163
+ 210.128.0.0/11 whois.nic.ad.jp
164
+ 210.160.0.0/12 whois.nic.ad.jp
165
+ 210.178.0.0/15 whois.nic.or.kr
166
+ 210.180.0.0/14 whois.nic.or.kr
167
+ 210.188.0.0/14 whois.nic.ad.jp
168
+ 210.196.0.0/14 whois.nic.ad.jp
169
+ 210.204.0.0/14 whois.nic.or.kr
170
+ 210.216.0.0/13 whois.nic.or.kr # => 210.223.255.255
171
+ 210.224.0.0/12 whois.nic.ad.jp # => 210.239.255.255
172
+ # some more TWNIC blocks are scattered here
173
+ 210.240.0.0/16 twnic
174
+ 210.241.0.0/15 twnic
175
+ 210.241.224.0/19 twnic
176
+ 210.242.0.0/15 twnic
177
+ 210.248.0.0/13 whois.nic.ad.jp
178
+ 211.0.0.0/12 whois.nic.ad.jp
179
+ 211.16.0.0/14 whois.nic.ad.jp
180
+ 211.20.0.0/15 twnic
181
+ 211.22.0.0/16 twnic
182
+ 211.32.0.0/11 whois.nic.or.kr # => 211.63.255.255
183
+ 211.75.0.0/16 twnic
184
+ 211.72.0.0/16 twnic
185
+ 211.104.0.0/13 whois.nic.or.kr
186
+ 211.112.0.0/13 whois.nic.or.kr # => 211.119.255.255
187
+ 211.120.0.0/13 whois.nic.ad.jp
188
+ 211.128.0.0/13 whois.nic.ad.jp
189
+ 211.168.0.0/13 whois.nic.or.kr
190
+ 211.176.0.0/12 whois.nic.or.kr
191
+ 211.192.0.0/10 whois.nic.or.kr # => 211.255.255.255
192
+ 210.0.0.0/7 apnic
193
+ 213.154.32.0/19 afrinic
194
+ 213.154.64.0/19 afrinic
195
+ 212.0.0.0/7 ripe
196
+ 214.0.0.0/7 arin # DoD
197
+ 216.0.0.0/8 arin
198
+ 217.0.0.0/8 ripe
199
+ 218.36.0.0/14 whois.nic.or.kr
200
+ 218.40.0.0/13 whois.nic.ad.jp
201
+ 218.48.0.0/13 whois.nic.or.kr
202
+ 219.96.0.0/11 whois.nic.ad.jp
203
+ 218.144.0.0/12 whois.nic.or.kr
204
+ 218.160.0.0/12 twnic
205
+ 218.216.0.0/13 whois.nic.ad.jp
206
+ 218.224.0.0/13 whois.nic.ad.jp
207
+ 218.232.0.0/13 whois.nic.or.kr
208
+ 219.240.0.0/15 whois.nic.or.kr
209
+ 219.248.0.0/13 whois.nic.or.kr
210
+ 218.0.0.0/7 apnic
211
+ 220.64.0.0/11 whois.nic.or.kr
212
+ 220.96.0.0/14 whois.nic.ad.jp
213
+ 220.103.0.0/16 whois.nic.or.kr
214
+ 220.104.0.0/13 whois.nic.ad.jp
215
+ 220.149.0.0/16 whois.nic.or.kr
216
+ 221.138.0.0/13 whois.nic.or.kr
217
+ 221.144.0.0/12 whois.nic.or.kr
218
+ 221.160.0.0/13 whois.nic.or.kr
219
+ 222.96.0.0/12 whois.nic.or.kr
220
+ 222.112.0.0/13 whois.nic.or.kr
221
+ 222.120.0.0/15 whois.nic.or.kr
222
+ 222.122.0.0/16 whois.nic.or.kr
223
+ 222.232.0.0/13 whois.nic.or.kr
224
+ 223.0.0.0/8 UNALLOCATED # returned from APNIC to IANA
225
+ 220.0.0.0/6 apnic
226
+ # that's all... here starts the multicast space