line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
#=============================================================================== |
2
|
|
|
|
|
|
|
# PODNAME: Net::IP::Identifier::Plugin::ColoCrossing |
3
|
|
|
|
|
|
|
# ABSTRACT: identify ColoCrossing (AS36352) owned IP addresses |
4
|
|
|
|
|
|
|
# |
5
|
|
|
|
|
|
|
# AUTHOR: Reid Augustin (REID) |
6
|
|
|
|
|
|
|
# EMAIL: reid@hellosix.com |
7
|
|
|
|
|
|
|
# CREATED: Sun Oct 12 19:33:06 PDT 2014 |
8
|
|
|
|
|
|
|
#=============================================================================== |
9
|
|
|
|
|
|
|
|
10
|
1
|
|
|
1
|
|
28
|
use 5.008; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
33
|
|
11
|
1
|
|
|
1
|
|
5
|
use strict; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
35
|
|
12
|
1
|
|
|
1
|
|
3
|
use warnings; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
38
|
|
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
package Net::IP::Identifier::Plugin::ColoCrossing; |
15
|
|
|
|
|
|
|
|
16
|
1
|
|
|
1
|
|
5
|
use Role::Tiny::With; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
175
|
|
17
|
|
|
|
|
|
|
with qw( Net::IP::Identifier_Role ); |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
our $VERSION = '0.111'; # VERSION |
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
sub new { |
22
|
1
|
|
|
1
|
1
|
2
|
my ($class, %opts) = @_; |
23
|
|
|
|
|
|
|
|
24
|
1
|
|
|
|
|
2
|
my $self = {}; |
25
|
1
|
|
33
|
|
|
7
|
bless $self, (ref $class || $class); |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
# List of known ColoCrossing (AS36352) IP blocks as of May 2015 |
28
|
1
|
|
|
|
|
5
|
$self->ips( |
29
|
|
|
|
|
|
|
# 37 Network Blocks |
30
|
|
|
|
|
|
|
'23.94.0.0/15', |
31
|
|
|
|
|
|
|
'65.99.193.0/24', |
32
|
|
|
|
|
|
|
'65.99.246.0/24', |
33
|
|
|
|
|
|
|
'66.225.194.0/23', |
34
|
|
|
|
|
|
|
'66.225.198.0/24', |
35
|
|
|
|
|
|
|
# extending 66.225.231.0/24 to include 66.225.232.0/24 |
36
|
|
|
|
|
|
|
'66.225.231.0-66.225.232.255', |
37
|
|
|
|
|
|
|
'69.31.134.0/24', |
38
|
|
|
|
|
|
|
'72.249.94.0/24', |
39
|
|
|
|
|
|
|
'72.249.124.0/24', |
40
|
|
|
|
|
|
|
'75.102.10.0/24', |
41
|
|
|
|
|
|
|
'75.102.27.0/24', |
42
|
|
|
|
|
|
|
'75.102.34.0/24', |
43
|
|
|
|
|
|
|
'75.102.38.0/23', |
44
|
|
|
|
|
|
|
'75.127.0.0/20', |
45
|
|
|
|
|
|
|
'96.8.112.0/20', |
46
|
|
|
|
|
|
|
'104.168.0.0/17', |
47
|
|
|
|
|
|
|
'107.172.0.0/14', |
48
|
|
|
|
|
|
|
'108.174.48.0/20', |
49
|
|
|
|
|
|
|
'172.245.0.0/16', |
50
|
|
|
|
|
|
|
'192.3.0.0/16', |
51
|
|
|
|
|
|
|
'192.210.128.0/17', |
52
|
|
|
|
|
|
|
'192.227.128.0/17', |
53
|
|
|
|
|
|
|
'198.12.64.0/18', |
54
|
|
|
|
|
|
|
'198.23.128.0/17', |
55
|
|
|
|
|
|
|
'198.46.128.0/17', |
56
|
|
|
|
|
|
|
'198.144.176.0/20', |
57
|
|
|
|
|
|
|
'199.21.112.0/22', |
58
|
|
|
|
|
|
|
'199.188.100.0/22', |
59
|
|
|
|
|
|
|
# extending 205.234.152.0/24 to include 205.234.153.0/24 |
60
|
|
|
|
|
|
|
'205.234.152.0/23', |
61
|
|
|
|
|
|
|
'205.234.159.0/24', |
62
|
|
|
|
|
|
|
'205.234.203.0/24', |
63
|
|
|
|
|
|
|
'206.123.95.0/24', |
64
|
|
|
|
|
|
|
'206.217.128.0/20', |
65
|
|
|
|
|
|
|
'207.210.239.0/24', |
66
|
|
|
|
|
|
|
'216.246.49.0/24', |
67
|
|
|
|
|
|
|
# extending 216.246.108.0/24 to include 216.246.109.0/24 |
68
|
|
|
|
|
|
|
'216.246.108.0/23', |
69
|
|
|
|
|
|
|
'2607:9d00::/32', |
70
|
|
|
|
|
|
|
); |
71
|
1
|
|
|
|
|
7
|
return $self; |
72
|
|
|
|
|
|
|
} |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
sub name { |
75
|
3
|
|
|
3
|
0
|
11
|
return 'ColoCrossing'; |
76
|
|
|
|
|
|
|
} |
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
1; |
79
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
__END__ |