├── .gitignore ├── README.md ├── analysis ├── configs │ ├── config.txt │ └── hypergiant-headers.txt ├── extract_hypergiant_off-net_certs.py ├── extract_hypergiant_on-net_certs.py ├── extract_results.py ├── extract_valid_certs.py ├── find_offnets.py ├── lib │ ├── __init__.py │ └── helpers.py ├── map_hypergiants_headers.py ├── parse_rapid7_headers.py └── rapid7 │ ├── api_keys.txt │ ├── download_rapid7.py │ ├── files_get_more.txt │ ├── files_got.txt │ ├── files_to_get.txt │ └── study_info.json ├── datasets ├── README.md ├── apnic_population_estimates │ ├── 2017_10.json │ ├── 2019-11.json │ ├── 2020_11.json │ └── README.md ├── asn_names │ └── asn-names.txt ├── country_to_continent │ └── country_to_continent.txt ├── headers │ ├── http │ │ └── http_80_filenames.txt │ └── https │ │ └── https_443_filenames.txt ├── hypergiants │ ├── 2013_10_hypergiants_asns.json │ ├── 2014_01_hypergiants_asns.json │ ├── 2014_04_hypergiants_asns.json │ ├── 2014_07_hypergiants_asns.json │ ├── 2014_10_hypergiants_asns.json │ ├── 2015_01_hypergiants_asns.json │ ├── 2015_04_hypergiants_asns.json │ ├── 2015_07_hypergiants_asns.json │ ├── 2015_10_hypergiants_asns.json │ ├── 2016_01_hypergiants_asns.json │ ├── 2016_04_hypergiants_asns.json │ ├── 2016_07_hypergiants_asns.json │ ├── 2016_10_hypergiants_asns.json │ ├── 2017_01_hypergiants_asns.json │ ├── 2017_04_hypergiants_asns.json │ ├── 2017_07_hypergiants_asns.json │ ├── 2017_10_hypergiants_asns.json │ ├── 2018_01_hypergiants_asns.json │ ├── 2018_04_hypergiants_asns.json │ ├── 2018_07_hypergiants_asns.json │ ├── 2018_10_hypergiants_asns.json │ ├── 2019_01_hypergiants_asns.json │ ├── 2019_04_hypergiants_asns.json │ ├── 2019_07_hypergiants_asns.json │ ├── 2019_10_hypergiants_asns.json │ ├── 2019_11_hypergiants_asns.json │ ├── 2020_01_hypergiants_asns.json │ ├── 2020_04_hypergiants_asns.json │ ├── 2020_07_hypergiants_asns.json │ ├── 2020_10_hypergiants_asns.json │ ├── 2020_11_hypergiants_asns.json │ ├── 2021_01_hypergiants_asns.json │ ├── 2021_04_hypergiants_asns.json │ └── README.md ├── ip_to_as │ └── README.md ├── organization_info │ ├── 20191001.as-org2info.txt │ ├── README.md │ └── index.html ├── tld_suffixes │ ├── README.md │ └── suffixes.txt └── tls_scans │ ├── README.md │ ├── active │ └── README.md │ ├── ccadb │ ├── cert_hashes_ccadb.txt │ └── cert_hashes_pems_ccadb.txt │ └── rapid7 │ ├── certificates │ ├── more_ssl_certificates_non_443_filenames.txt │ ├── ssl_certificates_https_443_filenames.txt │ └── ssl_certificates_https_non_443_filenames.txt │ └── hosts │ └── ssl_certificates_https_443_hosts_filenames.txt ├── meta-analysis ├── country_coverage.py ├── explore_results.py └── group_by_continent.py └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.DS_STORE 3 | -------------------------------------------------------------------------------- /analysis/configs/config.txt: -------------------------------------------------------------------------------- 1 | {"hypergiant-keyword" : "google", "hypergiant-ases-key" : "google"} 2 | {"hypergiant-keyword" : "facebook", "hypergiant-ases-key" : "facebook"} 3 | {"hypergiant-keyword" : "netflix", "hypergiant-ases-key" : "netflix"} 4 | {"hypergiant-keyword" : "akamai", "hypergiant-ases-key" : "akamai"} 5 | {"hypergiant-keyword" : "alibaba", "hypergiant-ases-key" : "alibaba"} 6 | {"hypergiant-keyword" : "yahoo", "hypergiant-ases-key" : "yahoo"} 7 | {"hypergiant-keyword" : "apple", "hypergiant-ases-key" : "apple"} 8 | {"hypergiant-keyword" : "cdnetworks", "hypergiant-ases-key" : "cdnetworks"} 9 | {"hypergiant-keyword" : "limelight", "hypergiant-ases-key" : "limelight"} 10 | {"hypergiant-keyword" : "microsoft", "hypergiant-ases-key" : "microsoft"} 11 | {"hypergiant-keyword" : "chinacache", "hypergiant-ases-key" : "cdnetworks"} 12 | {"hypergiant-keyword" : "amazon", "hypergiant-ases-key" : "amazon"} 13 | {"hypergiant-keyword" : "bitgravity", "hypergiant-ases-key" : "bitgravity"} 14 | {"hypergiant-keyword" : "cachefly", "hypergiant-ases-key" : "cachefly"} 15 | {"hypergiant-keyword" : "cloudflare", "hypergiant-ases-key" : "cloudflare"} 16 | {"hypergiant-keyword" : "disney", "hypergiant-ases-key" : "disney"} 17 | {"hypergiant-keyword" : "highwinds", "hypergiant-ases-key" : "highwinds"} 18 | {"hypergiant-keyword" : "hulu", "hypergiant-ases-key" : "hulu"} 19 | {"hypergiant-keyword" : "incapsula", "hypergiant-ases-key" : "incapsula"} 20 | {"hypergiant-keyword" : "cdn77", "hypergiant-ases-key" : "cdn77"} 21 | {"hypergiant-keyword" : "twitter", "hypergiant-ases-key" : "twitter"} 22 | {"hypergiant-keyword" : "fastly", "hypergiant-ases-key" : "fastly"} -------------------------------------------------------------------------------- /analysis/configs/hypergiant-headers.txt: -------------------------------------------------------------------------------- 1 | # Match logic below. All comparisons are case-insensitive. 2 | # 1. If the header_name and header_value do not end with a *, then 3 | # an a match is performed against both. 4 | # 2. If the header_value is empty or whitespace, then look for a match on 5 | # of header_name. 6 | # 3. If the header_value ends with a *, then check if the test value starts 7 | # with that string. 8 | # 4. If the header_name ends with a *, then check if the test header name starts 9 | # with that string. 10 | # Format: 11 | #network,header_name,header_value 12 | Akamai,Server,AkamaiGhost 13 | Akamai,Server,Ghost 14 | Akamai,Server,AkamaiNetStorage 15 | Alibaba,server,tengine* 16 | Alibaba,Eagleid, 17 | Alibaba,Server,AliyunOSS* 18 | Amazon,x-amz-id2, 19 | Amazon,x-amz-request-id, 20 | Amazon,server,AmazonS3 21 | Amazon,server,awselb* 22 | Amazon,X-Amz-Cf-Id, 23 | Amazon,X-Amz-Cf-Pop, 24 | Amazon,X-Cache,Hit from cloudfront 25 | Amazon,x-amzn-RequestId, 26 | Apple,CDNUUID, 27 | Cdnetworks,Server,PWS/* 28 | Cloudflare,Server,Cloudflare 29 | Cloudflare,cf-cache-status, 30 | Cloudflare,cf-ray, 31 | Cloudflare,cf-request-id, 32 | Facebook,Server,proxygen* 33 | Facebook,X-FB-Debug, 34 | Facebook,X-FB-TRIP-ID, 35 | Fastly,X-Served-By,cache-* 36 | Google,Server,gws 37 | Google,Server,gvs* 38 | Google,Server,gvs 1.0 39 | Google,X-Google-Security-Signals, 40 | Google,X_FW_Edge, 41 | Google,X_FW_Cache, 42 | Hulu,X-Hulu-Request-Id, 43 | Hulu,X-HULU-NGINX, 44 | Incapsula,X-CDN,Incapsula 45 | Limelight,Server,EdgePrism* 46 | Limelight,X-LLID, 47 | LinkedIn,x-li-fabric, 48 | LinkedIn,x-li-pop, 49 | LinkedIn,x-li-proto, 50 | LinkedIn,x-li-static-content, 51 | LinkedIn,x-li-uuid, 52 | Microsoft,X-MSEdge-Ref, 53 | Microsoft,X-SharePointHealthScore, 54 | Microsoft,SPRequestGuid, 55 | Microsoft,MicrosoftSharePointTeamServices, 56 | Netflix,X-Netflix.*, 57 | Netflix,X-TCP-Info, 58 | Netflix,Access-Control-Expose-Headers,X-TCP-Info 59 | Twitter,Server,tsa_a 60 | Verizon,Server,ECacc* 61 | -------------------------------------------------------------------------------- /analysis/extract_hypergiant_off-net_certs.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import socket 4 | import pprint 5 | import argparse 6 | 7 | from anytree import Node 8 | from lib.helpers import load_ip_to_as_mapping, createPath, load_config_file, load_hypergiant_ases, process_configuration_file 9 | 10 | 11 | def load_tld_suffixes(file_path_suffixes="../datasets/tld_suffixes/suffixes.txt"): 12 | suffixes = dict() 13 | try: 14 | with open(file_path_suffixes, 'rt') as f: 15 | for line in f: 16 | if "!" in line or "//" in line: 17 | continue 18 | if line[0] == "*": 19 | suffixes[line[2:].rstrip()] = None 20 | else: 21 | suffixes[line.rstrip()] = None 22 | except: 23 | print("Couldn't load/process TLD suffixes file \"{}\"".format(file_path_suffixes)) 24 | return None 25 | return suffixes 26 | 27 | 28 | def is_hostname(dns_name): 29 | try: 30 | socket.inet_aton(dns_name) 31 | return False 32 | except socket.error as e: 33 | return True 34 | 35 | 36 | def createFilePaths(filePathToStoreResults): 37 | if not os.path.exists(filePathToStoreResults): 38 | os.makedirs(filePathToStoreResults) 39 | 40 | 41 | def calc_TLD_plus_one(dns_name, suffixes): 42 | dns_name = dns_name.lstrip('*.') 43 | if '/' in dns_name: 44 | dns_name = dns_name.replace('/', '') 45 | # If not a valid dns_name skip it 46 | if '.' not in dns_name: 47 | return None, None 48 | # Split domain name to parts 49 | domain_name_fragmented = dns_name.split('.') 50 | # Construct TLD+1 key (e.g '.google.com' -> 'com.google') 51 | tld_plus_one = domain_name_fragmented[-1] + '.' + domain_name_fragmented[-2] 52 | tld_plus_one_check_suffix = domain_name_fragmented[-2] + '.' + domain_name_fragmented[-1] 53 | if tld_plus_one_check_suffix in suffixes: 54 | if len(domain_name_fragmented) > 3: 55 | tld_plus_one = domain_name_fragmented[-1] + '.' + domain_name_fragmented[-2] + '.' + domain_name_fragmented[-3] 56 | domain_name_fragmented[-2] = domain_name_fragmented[-1] + '.' + domain_name_fragmented[-2] 57 | del domain_name_fragmented[-1] 58 | else: 59 | return None, None 60 | 61 | return tld_plus_one, domain_name_fragmented 62 | 63 | 64 | def generate_on_net_fingerprints(on_net_folder, suffixes): 65 | files = os.listdir(on_net_folder) 66 | dns_names_per_hg = dict() 67 | if on_net_folder[-1] != '/': 68 | on_net_folder += '/' 69 | for file in files: 70 | if '.txt' in file: 71 | hg_keyword = file.split('.')[0] 72 | if hg_keyword not in dns_names_per_hg: 73 | dns_names_per_hg[hg_keyword] = dict() 74 | 75 | with open(on_net_folder + file, 'rt') as f: 76 | for line in f: 77 | data = json.loads(line) 78 | if 'dns_names' in data: 79 | for dns_name in data['dns_names']: 80 | if is_hostname(dns_name): 81 | # Exclude cases where dns_name is not a hostname but an IP 82 | tld_plus_one, domain_name_fragmented = calc_TLD_plus_one(dns_name, suffixes) 83 | dns_names_per_hg[hg_keyword][tld_plus_one] = None 84 | return dns_names_per_hg 85 | 86 | 87 | def process_off_nets(inputFile, ip_to_as, dns_names_per_hg, hg_asn_to_hg_keywords, tld_suffixes, filePathToStoreResults): 88 | openFiles_l = dict() 89 | hg_keywords_l = {v for v_list in hg_asn_to_hg_keywords.values() for v in v_list} 90 | for hg_keyword in hg_keywords_l: 91 | filePath = filePathToStoreResults + hg_keyword + ".txt" 92 | openFiles_l[hg_keyword] = open(filePath, 'wt') 93 | 94 | with open(inputFile, 'rt') as f: 95 | for line in f: 96 | data = json.loads(line) 97 | 98 | for ip in data: 99 | asns = list() 100 | try: 101 | asns = ip_to_as[ip] 102 | except: 103 | pass 104 | 105 | if len(asns) > 0: 106 | if 'subject' in data[ip]: 107 | if 'organization' in data[ip]['subject']: 108 | organization_value = "" 109 | for item in data[ip]['subject']['organization']: 110 | if item is not None: 111 | organization_value += item.lower() + " " 112 | for hg_keyword in hg_keywords_l: 113 | if hg_keyword in organization_value: 114 | 115 | #Check if is an on-net of hypergiant 116 | is_on_net = False 117 | for asn in asns: 118 | if asn in hg_asn_to_hg_keywords: 119 | if hg_keyword in hg_asn_to_hg_keywords[asn]: 120 | is_on_net = True 121 | 122 | if is_on_net == False: 123 | for dns_name in data[ip]['dns_names']: 124 | allDNS_names_match = True 125 | tld_plus_one, domain_name_fragmented = calc_TLD_plus_one(dns_name, tld_suffixes) 126 | if tld_plus_one not in dns_names_per_hg[hg_keyword]: 127 | allDNS_names_match = False 128 | 129 | if allDNS_names_match == True: 130 | storeJSON = { 131 | "ip" : ip, 132 | "ASN" : asns[0], 133 | "dns_names" : data[ip]['dns_names'], 134 | "subject:organization" : organization_value 135 | } 136 | openFiles_l[hg_keyword].write("{}\n".format(json.dumps(storeJSON))) 137 | for file in openFiles_l: 138 | openFiles_l[file].close() 139 | 140 | 141 | if __name__ == '__main__': 142 | parser = argparse.ArgumentParser(description='Process hypergiant off-net certificates.') 143 | 144 | parser.add_argument('-s', '--hypergiantASesFile', 145 | help='The input hypergiant ASes file.', 146 | type=str, 147 | required=True), 148 | parser.add_argument('-i', '--inputFile', 149 | type=str, 150 | help="The input certificates file.", 151 | required=True) 152 | parser.add_argument('-c', '--configFile', 153 | type=str, 154 | help="The input configuration file.", 155 | required=True) 156 | parser.add_argument('-o', '--on_netsFolder', 157 | type=str, 158 | help="The input on-nets folder.", 159 | required=True) 160 | parser.add_argument('-a', '--ipToASFile', 161 | type=str, 162 | help="The input IP-to-AS file.", 163 | required=True) 164 | 165 | args = parser.parse_args() 166 | 167 | filePathToStoreResults = "/".join(args.inputFile.split("/")[:-1]) + "/candidate_off-nets/" 168 | createPath(filePathToStoreResults) 169 | 170 | tld_suffixes = load_tld_suffixes() 171 | if tld_suffixes is None: 172 | exit() 173 | 174 | ip_to_as = load_ip_to_as_mapping(args.ipToASFile) 175 | if ip_to_as is None: 176 | exit() 177 | 178 | # Load the Hypergiant ASes 179 | hg_ases = load_hypergiant_ases(args.hypergiantASesFile) 180 | if hg_ases is None: 181 | exit() 182 | 183 | # Load the config file 184 | configuration_input = load_config_file(args.configFile) 185 | if configuration_input is None: 186 | exit() 187 | 188 | # Check if config file is valid and return a map between HG ASes and HG keywords 189 | hg_asn_to_hg_keywords = process_configuration_file(configuration_input, hg_ases) 190 | if hg_asn_to_hg_keywords is None: 191 | exit() 192 | 193 | # Learn the on-net Fingerprints for each HG 194 | dns_names_per_hg = generate_on_net_fingerprints(args.on_netsFolder, tld_suffixes) 195 | 196 | # Find the Off-nets of each HG 197 | process_off_nets(args.inputFile, ip_to_as, dns_names_per_hg, hg_asn_to_hg_keywords, tld_suffixes, filePathToStoreResults) 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | -------------------------------------------------------------------------------- /analysis/extract_hypergiant_on-net_certs.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import pprint 4 | import argparse 5 | import pytricia 6 | 7 | from lib.helpers import load_ip_to_as_mapping, createPath, load_config_file, load_hypergiant_ases, process_configuration_file 8 | 9 | 10 | def process_ee_certs(inputFile, ip_to_as, hg_asn_to_hg_keywords, filePathToStoreResults): 11 | openFiles_l = dict() 12 | hg_keywords_l = {v for v_list in hg_asn_to_hg_keywords.values() for v in v_list} 13 | for hg_keyword in hg_keywords_l: 14 | filePath = filePathToStoreResults + hg_keyword + ".txt" 15 | openFiles_l[hg_keyword] = open(filePath, 'wt') 16 | 17 | with open(inputFile, 'rt') as f: 18 | for line in f: 19 | data = json.loads(line) 20 | 21 | for ip in data: 22 | asns = list() 23 | try: 24 | asns = ip_to_as[ip] 25 | except: 26 | pass 27 | 28 | keywords_matched = None 29 | foundASN = None 30 | # Iterate over all ASNs of the IP-to-AS mapping (MOAS) 31 | for asn in asns: 32 | # Check if the ASN match to any of the hypergiant ASes 33 | if asn in hg_asn_to_hg_keywords: 34 | keywords_matched = hg_asn_to_hg_keywords[asn] 35 | foundASN = asn 36 | break 37 | 38 | if keywords_matched is not None: 39 | if 'subject' in data[ip]: 40 | if 'organization' in data[ip]['subject']: 41 | organization_value = "" 42 | for item in data[ip]['subject']['organization']: 43 | if item is not None: 44 | organization_value += item.lower() + " " 45 | for keyword in keywords_matched: 46 | if keyword in organization_value: 47 | storeJSON = { 48 | "ip" : ip, 49 | "ASN" : foundASN, 50 | "dns_names" : data[ip]['dns_names'], 51 | "subject:organization" : organization_value 52 | } 53 | openFiles_l[keyword].write("{}\n".format(json.dumps(storeJSON))) 54 | 55 | for file in openFiles_l: 56 | openFiles_l[file].close() 57 | 58 | 59 | if __name__ == '__main__': 60 | parser = argparse.ArgumentParser(description='Process hypergiant on-net certificates.') 61 | 62 | parser.add_argument('-s', '--hypergiantASesFile', 63 | help='The input hypergiant ASes file.', 64 | type=str, 65 | required=True) 66 | parser.add_argument('-i', '--inputFile', 67 | type=str, 68 | help="The input file with EE certificates.", 69 | required=True) 70 | parser.add_argument('-c', '--configFile', 71 | type=str, 72 | help="The input configuration file.", 73 | required=True) 74 | parser.add_argument('-a', '--ipToASFile', 75 | type=str, 76 | help="The input IP-to-AS file.", 77 | required=True) 78 | 79 | args = parser.parse_args() 80 | 81 | # Create on-nets folder 82 | filePathToStoreResults = "/".join(args.inputFile.split("/")[:-1]) + "/on-nets/" 83 | createPath(filePathToStoreResults) 84 | 85 | # Load the IP-to-AS mapping 86 | ip_to_as = load_ip_to_as_mapping(args.ipToASFile) 87 | 88 | # Load the Hypergiant ASes 89 | hg_ases = load_hypergiant_ases(args.hypergiantASesFile) 90 | if hg_ases is None: 91 | exit() 92 | 93 | # Load the config file 94 | configuration_input = load_config_file(args.configFile) 95 | if configuration_input is None: 96 | exit() 97 | 98 | # Check if config file is valid and return a map between HG ASes and HG keywords 99 | hg_asn_to_hg_keywords = process_configuration_file(configuration_input, hg_ases) 100 | if hg_asn_to_hg_keywords is None: 101 | exit() 102 | 103 | process_ee_certs(args.inputFile, ip_to_as, hg_asn_to_hg_keywords, filePathToStoreResults) 104 | 105 | 106 | -------------------------------------------------------------------------------- /analysis/extract_valid_certs.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import pprint 4 | import hashlib 5 | import argparse 6 | import binascii 7 | import datetime 8 | 9 | from datetime import timezone 10 | from lib.helpers import createPath 11 | 12 | week = 60*60*24*7 13 | 14 | # Load the active scan dataset 15 | def load_active_scan_files(folderPath): 16 | files_l = list() 17 | folders = os.listdir(folderPath) 18 | for folder in folders: 19 | if 'b_' not in folder: 20 | continue 21 | files = os.listdir(folderPath + "/" + folder) 22 | for file in files: 23 | if 'certs.txt' == file: 24 | filepath = folderPath + folder + "/" + file 25 | files_l.append(filepath) 26 | return files_l 27 | 28 | 29 | def hash_cert(pem): 30 | pem_to_hash = pem.replace('\n','').replace('-----BEGIN CERTIFICATE-----','').replace('-----END CERTIFICATE-----','') 31 | pem_to_hash += "=" * ((4 - len(pem_to_hash) % 4) % 4) 32 | pem_decode = binascii.a2b_base64(pem_to_hash) 33 | hash_object = hashlib.sha1(pem_decode) 34 | return hash_object.hexdigest(), pem_to_hash 35 | 36 | 37 | def parse_date(value): 38 | if 'T' in value: 39 | return datetime.datetime.strptime(value.split('T')[0], '%Y-%m-%d').replace(tzinfo=timezone.utc).timestamp() 40 | else: 41 | return datetime.datetime.strptime(value.split(' ')[0], '%Y-%m-%d').replace(tzinfo=timezone.utc).timestamp() 42 | 43 | 44 | def is_expired(not_after, not_before, snapshot_date_timestamp): 45 | if snapshot_date_timestamp <= (not_after + week) and (not_before - week) <= snapshot_date_timestamp: 46 | return False 47 | else: 48 | return True 49 | 50 | 51 | def is_valid_cert(certificates_l, ccadb_hashes, snapshot_timestamp): 52 | # Check if root certificate in ccadb 53 | if 'pem' in certificates_l[-1]: 54 | certHashed, rawPem = hash_cert(certificates_l[-1]['pem']) 55 | if certHashed not in ccadb_hashes: 56 | return None 57 | 58 | ee_cert = None 59 | for certificate in certificates_l: 60 | if 'not_before' in certificate and 'not_after' in certificate: 61 | if is_expired(parse_date(certificate['not_after']), parse_date(certificate['not_before']), snapshot_timestamp): 62 | return None 63 | 64 | if 'basic_constraints' in certificate: 65 | if 'is_ca' in certificate['basic_constraints']: 66 | if certificate['basic_constraints']['is_ca'] == False: 67 | if 'dns_names' in certificate: 68 | if len(certificate['dns_names']) > 0: 69 | if 'is_self_signed' in certificate: 70 | if certificate['is_self_signed'] == False: 71 | ee_cert = certificate 72 | return ee_cert 73 | 74 | 75 | def process_active_scan_data(files, ccadb_hashes, snapshot_timestamp, resultPath): 76 | count = 0 77 | total_files = len(files_l) 78 | 79 | fileToWrite = open(resultPath + "/ee_certs.txt", 'wt') 80 | 81 | for file in files_l: 82 | count += 1 83 | print("Processing {0}/{1} file \"{2}\"".format(count, total_files, file)) 84 | 85 | with open(file, 'rt') as f: 86 | for line in f: 87 | try: 88 | data = json.loads(line.rstrip()) 89 | except: 90 | print("Couldn't load line {}".format(line)) 91 | continue 92 | 93 | for ip in data: 94 | if 'certificates' in data[ip]: 95 | ee_cert = is_valid_cert(data[ip]['certificates'], ccadb_hashes, snapshot_timestamp) 96 | if ee_cert is not None: 97 | fileToWrite.write("{}\n".format(json.dumps({ ip : ee_cert }))) 98 | fileToWrite.close() 99 | 100 | 101 | def process_rapid7_scan_data(files, ccadb_hashes, snapshot_timestamp, resultPath): 102 | count = 0 103 | total_files = len(files_l) 104 | 105 | fileToWrite = open(resultPath + "/ee_certs.txt", 'wt') 106 | 107 | with open(file, 'rt') as f: 108 | for line in f: 109 | try: 110 | data = json.loads(line.rstrip()) 111 | except: 112 | print("Couldn't load line {}".format(line)) 113 | continue 114 | 115 | for ip in data: 116 | if 'certificates' in data[ip]: 117 | ee_cert = is_valid_cert(data[ip]['certificates'], ccadb_hashes, snapshot_timestamp) 118 | if ee_cert is not None: 119 | fileToWrite.write("{}\n".format(json.dumps({ ip : ee_cert }))) 120 | fileToWrite.close() 121 | 122 | 123 | def load_ccadb_hashes(filePath="../datasets/tls_scans/ccadb/cert_hashes_ccadb.txt"): 124 | ccadb_hashes = dict() 125 | with open(filePath, 'rt') as f: 126 | for line in f: 127 | ccadb_hashes[line.rstrip()] = None 128 | return ccadb_hashes 129 | 130 | 131 | if __name__ == '__main__': 132 | parser = argparse.ArgumentParser(description='Extract End-Entity (EE) certificates.') 133 | parser.add_argument('-d', '--date', 134 | help='Date of snapshot to parse. (Date format: DD-MM-YYYY)', 135 | type=str, 136 | required=True) 137 | parser.add_argument('-t', '--dataType', 138 | help="The input data source.", 139 | type=str, 140 | choices=['rapid7', 'active'], 141 | required=True) 142 | parser.add_argument('-i', '--inputFolder', 143 | type=str, 144 | help="The input folder path.", 145 | required=True) 146 | 147 | args = parser.parse_args() 148 | 149 | resultPath = "results/" + args.dataType + "_" + args.date 150 | createPath(resultPath) 151 | 152 | ccadb_hashes = load_ccadb_hashes() 153 | snapshot_timestamp = datetime.datetime.strptime(args.date, '%d-%m-%Y').replace(tzinfo=timezone.utc).timestamp() 154 | 155 | if args.dataType == "active": 156 | files_l = load_active_scan_files(args.inputFolder) 157 | process_active_scan_data(files_l, ccadb_hashes, snapshot_timestamp, resultPath) 158 | 159 | elif args.dataType == "rapid7": 160 | process_rapid7_scan_data(args.inputFolder) 161 | 162 | else: 163 | pass 164 | 165 | 166 | -------------------------------------------------------------------------------- /analysis/find_offnets.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import gzip 4 | import argparse 5 | 6 | from lib.helpers import createPath 7 | 8 | def load_header_fingerprints(filename): 9 | returnDict = dict() 10 | try: 11 | with gzip.open(filename, 'rt') as f: 12 | for line in f: 13 | line_splitted = line.rstrip().split('\t') 14 | returnDict[line_splitted[0]] = line_splitted[1].lower() 15 | except: 16 | print("Couldn't load/process TLD suffixes file \"{}\"".format(filename)) 17 | return None 18 | return returnDict 19 | 20 | 21 | def process_offnets(folderName, http_fingerprints, https_fingerprints, filePathToStoreResults): 22 | files = os.listdir(folderName) 23 | hg_keywords_l = list() 24 | for file in files: 25 | if '.txt' in file: 26 | hg_keywords_l.append(file.split('.')[0]) 27 | 28 | for hg_keyword in hg_keywords_l: 29 | storeData = dict() 30 | 31 | with open(folderName + hg_keyword + ".txt", 'rt') as f: 32 | for line in f: 33 | data = json.loads(line) 34 | 35 | if data['ip'] in http_fingerprints and data['ip'] in https_fingerprints: 36 | if hg_keyword == http_fingerprints[data['ip']]: 37 | if data['ASN'] not in storeData: 38 | storeData[data['ASN']] = list() 39 | storeData[data['ASN']].append(data['ip']) 40 | 41 | print("Inferred \"{0}\" off-nets in {1} ASes".format(hg_keyword, len(storeData))) 42 | with open(filePathToStoreResults + hg_keyword + ".txt", 'wt') as f: 43 | json.dump(storeData, f) 44 | 45 | 46 | if __name__ == '__main__': 47 | parser = argparse.ArgumentParser(description='Find off-nets per hypergiant.') 48 | 49 | parser.add_argument('-o', '--off_netsFolder', 50 | help='The input on-nets folder.', 51 | type=str, 52 | required=True), 53 | parser.add_argument('-http', '--http_fingerprints', 54 | type=str, 55 | help="The input file with the HTTP fingerprints.", 56 | required=True) 57 | parser.add_argument('-https', '--https_fingerprints', 58 | type=str, 59 | help="The input file with the HTTP fingerprints.", 60 | required=True) 61 | 62 | args = parser.parse_args() 63 | 64 | 65 | filePathToStoreResults = "/".join(args.off_netsFolder.split("/")[:-2]) + "/off-nets/" 66 | createPath(filePathToStoreResults) 67 | 68 | http_fingerprints = load_header_fingerprints(args.http_fingerprints) 69 | if http_fingerprints is None: 70 | exit() 71 | 72 | https_fingerprints = load_header_fingerprints(args.https_fingerprints) 73 | if https_fingerprints is None: 74 | exit() 75 | 76 | process_offnets(args.off_netsFolder, http_fingerprints, https_fingerprints, filePathToStoreResults) -------------------------------------------------------------------------------- /analysis/lib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pgigis/sigcomm2021-hypergiants-offnets/692b778c419e7fee4ce6aef529123ed64f0db347/analysis/lib/__init__.py -------------------------------------------------------------------------------- /analysis/lib/helpers.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import pytricia 4 | 5 | # Load the IP-to-AS mapping file 6 | def load_ip_to_as_mapping(filename): 7 | pyt = pytricia.PyTricia() 8 | try: 9 | with open(filename, 'rt') as f: 10 | data = json.load(f) 11 | for prefix in data: 12 | pyt[prefix] = data[prefix] 13 | except: 14 | print("Couldn't load/process IP-to-AS mapping file \"{}\"".format(filename)) 15 | return None 16 | return pyt 17 | 18 | 19 | # Create path 20 | def createPath(path): 21 | if not os.path.exists(path): 22 | os.makedirs(path) 23 | 24 | 25 | # Load and the config file 26 | def load_config_file(configFile): 27 | hg_keyword_to_hg_ases_key = dict() 28 | try: 29 | with open(configFile, 'rt') as f: 30 | for line in f: 31 | data = json.loads(line.rstrip()) 32 | hg_keyword_to_hg_ases_key[data['hypergiant-keyword']] = data['hypergiant-ases-key'] 33 | except: 34 | print("Couldn't load/process config file \"{}\"".format(configFile)) 35 | return None 36 | return hg_keyword_to_hg_ases_key 37 | 38 | 39 | def load_hypergiant_ases(filename): 40 | hg_ases = dict() 41 | try: 42 | with open(filename, 'rt') as f: 43 | data = json.load(f) 44 | for hypergiant in data: 45 | hg_ases[hypergiant] = data[hypergiant]['asns'] 46 | except: 47 | print("Couldn't load \"{}\".".format(filePath)) 48 | return None 49 | 50 | return hg_ases 51 | 52 | 53 | def process_configuration_file(configuration_input, hg_ases): 54 | # Check if for all keywords, a hypergiant-ases-key in the hypergiant ASes file. 55 | for input_ in configuration_input: 56 | if configuration_input[input_] not in hg_ases: 57 | print("-> hypergiant-ases-key \"{}\" not found.".format(configuration_input[input_] )) 58 | print("Available \"hypergiant-ases-key\" keys:\n{}".format(list(hg_ases.keys()))) 59 | return None 60 | 61 | hg_asn_to_hg_keywords = dict() 62 | for hg_keyword in configuration_input: 63 | for ASN in hg_ases[configuration_input[hg_keyword]]: 64 | if int(ASN) not in hg_asn_to_hg_keywords: 65 | hg_asn_to_hg_keywords[int(ASN)] = set() 66 | hg_asn_to_hg_keywords[int(ASN)].add(hg_keyword) 67 | 68 | return hg_asn_to_hg_keywords -------------------------------------------------------------------------------- /analysis/map_hypergiants_headers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | import sys 3 | from fileinput import input 4 | import radix # pip install py-radix or ppy-radix for pure python version 5 | import io 6 | import struct 7 | import socket 8 | import json 9 | 10 | class HeaderMapper: 11 | 12 | def __init__(self): 13 | self.distinct_headers, self.exact_headers, self.value_substr, self.name_substr = get_header_filters() 14 | 15 | def map(self, header_name, header_value): 16 | 17 | header = '%s:%s' % (header_name, header_value) 18 | 19 | if header_name in self.distinct_headers: 20 | return self.distinct_headers[header_name] 21 | elif header in self.exact_headers: 22 | return self.exact_headers[header] 23 | 24 | for value_sub, value_net in self.value_substr.items(): 25 | if header.startswith(value_sub): 26 | return value_net 27 | 28 | for name_sub,name_net in self.name_substr.items(): 29 | if header_name.startswith(name_sub): 30 | return name_net 31 | 32 | return None 33 | 34 | 35 | def load_asn_names(filename="../datasets/asn_names/asn-names.txt"): 36 | d = {} 37 | try: 38 | with open(filename, 'r') as f: 39 | for line in f: 40 | line = line.strip() 41 | chunks = line.split() 42 | 43 | asn = chunks[0] 44 | name = ' '.join(chunks[1:]) 45 | name = name.replace(',', ';') 46 | 47 | d[asn] = name 48 | except: 49 | print("Couldn't load/process TLD suffixes file \"{}\"".format(file_path_suffixes)) 50 | return None 51 | return d 52 | 53 | 54 | def isPublicASN(asn_int): 55 | # From RFC1930, RFC7607, RFC6793, RFC5398, RFC6996, RFC7300, RFC4893 56 | return asn_int != 0 and asn_int != 23456 and asn_int != 4294967295 and \ 57 | not(64496 <= asn_int and asn_int <= 131071) and \ 58 | not(4200000000 <= asn_int and asn_int <= 4294967294) 59 | 60 | 61 | def isPublicIPv4Prefix(prefix): 62 | ip,_ = prefix.split('/') 63 | return isPublicIPv4Address(ip) 64 | 65 | 66 | def isPublicIPv4Address(ip): 67 | return isPublicIPv4AddressInt(dottedQuadToNum(ip)) 68 | 69 | 70 | def isPublicIPv4AddressInt(asInt): 71 | return not(0 <= asInt and asInt < 16777216) and \ 72 | not(167772160 <= asInt and asInt < 184549376) and \ 73 | not(1681915904 <= asInt and asInt < 1686110208) and \ 74 | not(2130706432 <= asInt and asInt < 2147483648) and \ 75 | not(2851995648 <= asInt and asInt < 2852061184) and \ 76 | not(2886729728 <= asInt and asInt < 2887778304) and \ 77 | not(3221225472 <= asInt and asInt < 3221225728) and \ 78 | not(3221225984 <= asInt and asInt < 3221226240) and \ 79 | not(3232235520 <= asInt and asInt < 3232301056) and \ 80 | not(3222405120 <= asInt and asInt < 3222536192) and \ 81 | not(3325256704 <= asInt and asInt < 3325256960) and \ 82 | not(3227017984 <= asInt and asInt < 3227018240) and \ 83 | not(3405803776 <= asInt and asInt < 3405804032) and \ 84 | not(3758096384 <= asInt) 85 | 86 | 87 | def dottedQuadToNum(ip): 88 | "convert decimal dotted quad string to long integer" 89 | return struct.unpack('>L',socket.inet_aton(ip))[0] 90 | 91 | 92 | def get_header_filters(): 93 | distinct_headers = {} 94 | exact_headers = {} 95 | value_substr = {} 96 | name_substr = {} 97 | 98 | with open('configs/hypergiant-headers.txt', 'r') as f: 99 | for line in f: 100 | line = line.strip() 101 | 102 | if line.startswith('#'): 103 | continue 104 | 105 | chunks = line.split(',') 106 | network = chunks[0] 107 | header_name = chunks[1].lower() 108 | header_name = header_name.replace('-', '_') 109 | 110 | header_value = chunks[2].lower() 111 | 112 | if header_name.endswith('*'): 113 | name_substr[header_name[:-1]] = network 114 | if not header_value: # if no header value 115 | distinct_headers[header_name] = network 116 | elif header_value.endswith('*'): 117 | nostar = header_value[:-1] 118 | tmp = header_name + ":" + nostar 119 | value_substr[tmp] = network 120 | else: 121 | tmp = header_name + ":" + header_value 122 | exact_headers[tmp] = network 123 | 124 | return distinct_headers, exact_headers, value_substr, name_substr 125 | 126 | 127 | def main(): 128 | asn_names = load_asn_names() 129 | if asn_names is None: 130 | exit() 131 | 132 | mapper = HeaderMapper() 133 | 134 | for line in input(): 135 | 136 | line = line.strip() 137 | 138 | chunks = line.split('\t') 139 | 140 | if len(chunks) == 1: 141 | continue 142 | 143 | if len(chunks) != 2: 144 | sys.stderr.write('Error parsing line %s\n' % line) 145 | continue 146 | 147 | ip, headers_str = chunks 148 | 149 | network = None 150 | header_match = None 151 | 152 | headers = headers_str.split('|') 153 | 154 | 155 | for header in headers: 156 | header = header.lower() 157 | 158 | colon_index = header.find(':') 159 | if colon_index == -1: 160 | continue 161 | 162 | name = header[0:colon_index] 163 | value = header[colon_index+1:] 164 | 165 | network = mapper.map(name, value) 166 | if network: 167 | header_match = header 168 | break 169 | 170 | if network: 171 | print('%s\t%s\t%s' % (ip,network,header_match)) 172 | 173 | if __name__ == '__main__': 174 | main() 175 | -------------------------------------------------------------------------------- /analysis/parse_rapid7_headers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | from base64 import b64decode 3 | from fileinput import input 4 | from json import loads 5 | import sys 6 | 7 | ignore_header_list = ["Date", "Cache-Control", "Content-Length", "Content-Type", "Expires", "Connection", "Transfer-Encoding", "X-AspNet-Version", 8 | "Mime-Version", "Accept-Ranges", "ETag", "Last-Modified", "Pragma", "X-Content-Type-Options", "Content-Encoding", 9 | "Status", "WWW-Authenticate", "Referrer-Policy", "Content-Language", "X-Frame-Options", "Keep-Alive", "Retry-After", 10 | "Access-Control-Allow-Headers", "Access-Control-Allow-Methods", "Access-Control-Allow-Credentials", "Age", 11 | "X-XSS-Protection", "Strict-Transport-Security", "Proxy-Authenticate", "P3P", "Content-Security-Policy", "Authentication" 12 | "Access-Control-Allow-Origin: *", "Vary: Accept-Encoding", "X-Powered-By: ASP.NET", "X-Squid-Error: ERR_INVALID_URL 0", "X-Redirect-By: WordPress", "X-Powered-By: Nginx", "Vary: User-Agent,Accept-Encoding", "X-UA-Compatible: IE=Edge", "Timing-Allow-Origin: *", "Server:Microsoft-HTTPAPI/2.0", "X-UA-Compatible:IE=EmulateIE7", "Vary: Accept-Encoding,User-Agent", 13 | "X-Permitted-Cross-Domain-Policies: none", "Location: /404.html", "Vary: Cookie,Accept-Encoding", "Location: /weblogin.htm", "X-Proxy-Cache: MISS", "X-Squid-Error: ERR_ACCESS_DENIED 0", 14 | "location: error.php"] 15 | 16 | ignore_header_prefixes = ("Server: Microsoft-IIS", "X-Powered-By: PHP", "Server: nginx", "Server: Apache", "Server: squid", "Server: lighttpd", "Server: Microsoft-HTTPAPI") 17 | 18 | 19 | def main(): 20 | ignore = set([i.lower() for i in ignore_header_list]) 21 | 22 | for line in input(): 23 | try: 24 | json_str = line.strip() 25 | json_obj = loads(json_str) 26 | 27 | base64_response = json_obj['data'] 28 | ip = json_obj['ip'] 29 | 30 | if not ip or '.' not in ip: 31 | continue 32 | 33 | response_str = b64decode(base64_response).decode('iso-8859-1') 34 | 35 | start_of_html = response_str.find('\r\n\r\n') 36 | 37 | if start_of_html == -1: 38 | continue 39 | 40 | headers_str = response_str[0:start_of_html] 41 | 42 | headers = headers_str.split('\r\n') 43 | header_list = [] 44 | for i in range(1, len(headers)): 45 | header = headers[i] 46 | 47 | colon_index = header.find(':') 48 | if colon_index == -1: 49 | continue 50 | 51 | header_name = header[0:colon_index] 52 | header_value = header[colon_index+1:] 53 | 54 | header_name = header_name.strip() 55 | header_value = header_value.strip() 56 | 57 | if header_name and header_value and header_name not in ignore and header_name.lower() not in ignore and header.lower() not in ignore and not header.startswith(ignore_header_prefixes): 58 | header_value = ' '.join(header_value.split()) # get rid of any whitespace 59 | header_list.append("%s:%s" % (header_name, header_value)) 60 | 61 | header_out = '|'.join(header_list) 62 | print("%s\t%s" % (ip, header_out)) 63 | 64 | except: 65 | sys.stderr.write('Error parsing line %s\n' % line) 66 | 67 | 68 | main() -------------------------------------------------------------------------------- /analysis/rapid7/api_keys.txt: -------------------------------------------------------------------------------- 1 | e1b2acc6-f3c2-49bb-af22-07b231eb83a4 2 | cfc5c9ba-dcbc-467b-af8c-231a61c11299 3 | 60e8054e-a679-49b5-93f3-0655f567194b 4 | d312781e-284b-43c3-949f-3e0859598a1f 5 | 0eb787ca-291d-46b2-a4ec-7d48461e57d8 6 | 413b8053-873b-453c-ad19-e99d2b020441 7 | 0a3cf543-9735-453a-a6f3-eb8a83c99515 -------------------------------------------------------------------------------- /analysis/rapid7/files_got.txt: -------------------------------------------------------------------------------- 1 | 2018-05-01-1525132861-https_get_top1m_certs.gz 2 | 2019-08-01-1564617958-https_get_top1m_certs.gz 3 | 2019-10-01-1569888411-https_get_top1m_certs.gz 4 | 2020-04-01-1585754523-https_get_top1m_certs.gz 5 | 2020-10-01-1601510824-https_get_top1m_certs.gz 6 | 2020-11-29-1606684697-https_get_2083_certs.gz 7 | 2020-11-30-1606774027-https_get_55443_certs.gz 8 | 2020-12-01-1606848557-https_get_8010_certs.gz 9 | 2020-12-01-1606861714-https_get_12443_certs.gz 10 | 2020-12-02-1606872649-https_get_7443_certs.gz 11 | 2020-12-02-1606879584-https_get_1443_certs.gz 12 | 2020-12-02-1606915202-https_get_4343_certs.gz 13 | 2020-12-03-1606957931-https_get_4433_certs.gz 14 | 2020-12-03-1606977098-https_get_6984_certs.gz 15 | 2020-12-03-1607021055-https_get_4434_certs.gz 16 | 2020-12-05-1607136809-https_get_30443_certs.gz 17 | 2020-12-05-1607189341-https_get_7548_certs.gz 18 | 2020-12-07-1607353656-https_get_16993_certs.gz 19 | 2020-12-07-1607364066-https_get_44443_certs.gz 20 | 2020-12-13-1607869818-https_get_7443_certs.gz 21 | 2020-12-13-1607878825-https_get_7550_certs.gz 22 | 2020-12-13-1607891361-https_get_8009_certs.gz 23 | 2020-12-14-1607907985-https_get_443_certs.gz 24 | 2020-12-17-1608224010-https_get_2087_certs.gz 25 | 2020-12-17-1608232025-https_get_8090_certs.gz 26 | 2020-12-17-1608245913-https_get_7002_certs.gz 27 | 2020-12-18-1608276049-https_get_12443_certs.gz 28 | 2020-12-18-1608284485-https_get_44443_certs.gz 29 | 2020-12-18-1608301676-https_get_5001_certs.gz 30 | 2020-12-18-1608322752-https_get_10443_certs.gz 31 | 2020-12-19-1608366150-https_get_55443_certs.gz 32 | 2020-12-19-1608371136-https_get_8181_certs.gz 33 | 2020-12-19-1608372641-https_get_9043_certs.gz 34 | 2020-12-25-1608859118-https_get_2087_certs.gz 35 | 2020-12-25-1608885198-https_get_2443_certs.gz 36 | 2020-12-25-1608892732-https_get_2083_certs.gz 37 | 2020-12-25-1608902901-https_get_3001_certs.gz 38 | 2020-12-25-1608929245-https_get_7548_certs.gz 39 | 2020-12-26-1608955098-https_get_4443_certs.gz 40 | 2020-12-26-1608996424-https_get_50880_certs.gz 41 | 2020-12-26-1609002634-https_get_8090_certs.gz 42 | 2020-12-26-1609018374-https_get_9043_certs.gz 43 | 2020-12-26-1609020481-https_get_60443_certs.gz 44 | 2020-12-27-1609028224-https_get_7550_certs.gz 45 | 2020-12-27-1609039352-https_get_50443_certs.gz 46 | 2020-12-27-1609048094-https_get_55443_certs.gz 47 | 2020-12-27-1609053784-https_get_8443_certs.gz 48 | 2020-12-27-1609066725-https_get_11443_certs.gz 49 | 2020-12-27-1609073560-https_get_30443_certs.gz 50 | 2020-12-27-1609074365-https_get_44443_certs.gz 51 | 2021-01-01-1609459562-https_get_top1m_certs.gz 52 | 2021-01-08-1610078596-https_get_1443_certs.gz 53 | 2021-01-08-1610086182-https_get_4433_certs.gz 54 | 2021-01-08-1610100478-https_get_2083_certs.gz 55 | 2021-01-09-1610183472-https_get_7550_certs.gz 56 | 2021-01-09-1610193087-https_get_4434_certs.gz 57 | 2021-01-09-1610228854-https_get_8090_certs.gz 58 | 2021-01-10-1610241922-https_get_8010_certs.gz 59 | 2021-01-10-1610252584-https_get_11443_certs.gz 60 | 2021-01-10-1610256077-https_get_12443_certs.gz 61 | 2021-01-10-1610258793-https_get_44443_certs.gz 62 | 2021-01-10-1610274989-https_get_40443_certs.gz 63 | 2021-01-10-1610282474-https_get_4444_certs.gz 64 | 2021-01-11-1610327088-https_get_443_certs.gz 65 | 2021-01-22-1611277019-https_get_1443_certs.gz 66 | 2021-01-22-1611319130-https_get_2083_certs.gz 67 | 2021-01-22-1611323707-https_get_2443_certs.gz 68 | 2021-01-22-1611355398-https_get_8009_certs.gz 69 | 2021-01-23-1611360818-https_get_8090_certs.gz 70 | 2021-01-23-1611380660-https_get_8443_certs.gz 71 | 2021-01-23-1611381627-https_get_4434_certs.gz 72 | 2021-01-23-1611406260-https_get_4443_certs.gz 73 | 2021-01-23-1611436306-https_get_60443_certs.gz 74 | 2021-01-23-1611436732-https_get_9443_certs.gz 75 | 2021-01-23-1611437181-https_get_16993_certs.gz 76 | 2021-01-24-1611447493-https_get_5443_certs.gz 77 | 2021-01-24-1611455054-https_get_7550_certs.gz 78 | 2021-01-24-1611480379-https_get_49592_certs.gz 79 | 2021-02-03-1612336248-https_get_6984_certs.gz 80 | 2021-02-05-1612548540-https_get_2087_certs.gz 81 | 2021-02-05-1612558831-https_get_1443_certs.gz 82 | 2021-02-06-1612572514-https_get_4343_certs.gz 83 | 2021-02-06-1612584985-https_get_7002_certs.gz 84 | 2021-02-06-1612597649-https_get_8002_certs.gz 85 | 2021-02-06-1612621364-https_get_9443_certs.gz 86 | 2021-02-06-1612631873-https_get_2443_certs.gz 87 | 2021-02-06-1612655209-https_get_55443_certs.gz 88 | 2021-02-07-1612660158-https_get_60443_certs.gz 89 | 2021-02-07-1612670322-https_get_8984_certs.gz 90 | 2021-02-07-1612675246-https_get_8090_certs.gz 91 | 2021-02-07-1612683208-https_get_49592_certs.gz 92 | 2021-02-07-1612689395-https_get_30443_certs.gz 93 | 2021-02-07-1612694487-https_get_5001_certs.gz 94 | 2021-02-07-1612717055-https_get_8181_certs.gz 95 | 2021-02-07-1612722290-https_get_8010_certs.gz 96 | 2021-02-07-1612732646-https_get_12443_certs.gz 97 | 2021-02-07-1612741761-https_get_11443_certs.gz 98 | 2021-02-08-1612746307-https_get_443_certs.gz 99 | 2021-02-19-1613733068-https_get_4343_certs.gz 100 | 2021-02-19-1613761942-https_get_2087_certs.gz 101 | 2021-02-20-1613785477-https_get_4434_certs.gz 102 | 2021-02-20-1613794690-https_get_8009_certs.gz 103 | 2021-02-20-1613801448-https_get_4433_certs.gz 104 | 2021-02-20-1613830948-https_get_7002_certs.gz 105 | 2021-02-20-1613856894-https_get_7550_certs.gz 106 | 2021-02-21-1613865905-https_get_8984_certs.gz 107 | 2021-02-21-1613889618-https_get_7443_certs.gz 108 | 2021-02-21-1613909429-https_get_7548_certs.gz 109 | 2021-02-21-1613915534-https_get_40443_certs.gz 110 | 2021-02-21-1613933201-https_get_9043_certs.gz 111 | 2021-02-22-1613956019-https_get_443_certs.gz 112 | 2021-02-22-1614001048-https_get_49592_certs.gz 113 | 2021-02-22-1614007649-https_get_16993_certs.gz 114 | 2021-02-22-1614037793-https_get_30443_certs.gz 115 | 2021-03-01-1614583767-https_get_top1m_certs.gz 116 | 2021-03-06-1615026176-https_get_2443_certs.gz 117 | 2021-03-06-1615056721-https_get_4343_certs.gz 118 | 2021-03-06-1615064195-https_get_1443_certs.gz 119 | 2021-03-06-1615072853-https_get_7443_certs.gz 120 | 2021-03-07-1615119437-https_get_3001_certs.gz 121 | 2021-03-07-1615150207-https_get_11443_certs.gz 122 | 2021-03-07-1615156619-https_get_7550_certs.gz 123 | 2021-03-08-1615165621-https_get_443_certs.gz 124 | 2021-03-08-1615185855-https_get_7002_certs.gz 125 | 2021-03-08-1615212378-https_get_8443_certs.gz 126 | 2021-03-08-1615232990-https_get_16993_certs.gz 127 | 2021-03-08-1615240739-https_get_44443_certs.gz 128 | 2021-03-08-1615246776-https_get_5001_certs.gz 129 | 2021-03-09-1615248888-https_get_40443_certs.gz 130 | 2021-03-09-1615255895-https_get_50443_certs.gz 131 | 2021-03-20-1616199983-https_get_1443_certs.gz 132 | 2021-03-20-1616250849-https_get_7443_certs.gz 133 | 2021-03-20-1616259564-https_get_8010_certs.gz 134 | 2021-03-20-1616280561-https_get_7550_certs.gz 135 | 2021-03-21-1616285967-https_get_4343_certs.gz 136 | 2021-03-21-1616294746-https_get_4443_certs.gz 137 | 2021-03-21-1616314152-https_get_8009_certs.gz 138 | 2021-03-21-1616327771-https_get_5443_certs.gz 139 | 2021-03-21-1616357113-https_get_12443_certs.gz 140 | 2021-03-22-1616372110-https_get_49592_certs.gz 141 | 2021-03-22-1616418406-https_get_10443_certs.gz 142 | 2021-04-01-1617260491-https_get_top1m_certs.gz 143 | 2021-04-02-1617337165-https_get_2087_certs.gz 144 | 2021-04-02-1617377372-https_get_4343_certs.gz 145 | 2021-04-02-1617378661-https_get_4434_certs.gz 146 | 2021-04-02-1617379704-https_get_4443_certs.gz 147 | 2021-04-03-1617418576-https_get_4433_certs.gz 148 | 2021-04-03-1617427621-https_get_16993_certs.gz 149 | 2021-04-03-1617434213-https_get_11443_certs.gz 150 | 2021-04-03-1617436841-https_get_40443_certs.gz 151 | 2021-04-03-1617446490-https_get_55443_certs.gz 152 | 2021-04-03-1617449335-https_get_30443_certs.gz 153 | 2021-04-03-1617453944-https_get_60443_certs.gz 154 | 2021-04-03-1617457226-https_get_4444_certs.gz 155 | 2021-04-03-1617462077-https_get_7002_certs.gz 156 | 2021-04-03-1617468295-https_get_7443_certs.gz 157 | 2021-04-03-1617493149-https_get_50443_certs.gz 158 | 2021-04-04-1617504179-https_get_10443_certs.gz 159 | 2021-04-04-1617511520-https_get_8181_certs.gz 160 | 2021-04-04-1617522692-https_get_8984_certs.gz 161 | 2021-04-04-1617525352-https_get_12443_certs.gz 162 | 2021-04-04-1617531397-https_get_8090_certs.gz 163 | 2021-04-05-1617611137-https_get_443_certs.gz 164 | 2021-04-16-1618544402-https_get_3001_certs.gz 165 | 2021-04-16-1618551967-https_get_2087_certs.gz 166 | 2021-04-16-1618557941-https_get_2083_certs.gz 167 | 2021-04-16-1618588328-https_get_2443_certs.gz 168 | 2021-04-16-1618597930-https_get_4443_certs.gz 169 | 2021-04-16-1618604355-https_get_4433_certs.gz 170 | 2021-04-17-1618647807-https_get_4434_certs.gz 171 | 2021-04-17-1618653429-https_get_8002_certs.gz 172 | 2021-04-17-1618680702-https_get_8009_certs.gz 173 | 2021-04-17-1618681304-https_get_10443_certs.gz 174 | 2021-04-17-1618688265-https_get_40443_certs.gz 175 | 2021-04-17-1618697458-https_get_50443_certs.gz 176 | 2021-04-18-1618708683-https_get_8090_certs.gz 177 | 2021-04-18-1618732557-https_get_8443_certs.gz 178 | 2021-04-18-1618750253-https_get_60443_certs.gz 179 | 2021-04-19-1618794424-https_get_443_certs.gz -------------------------------------------------------------------------------- /datasets/README.md: -------------------------------------------------------------------------------- 1 | # Datasets 2 | 3 | ## Historical Datasets 4 | Due to the size of the datasets, we provide [here](https://liveuclac-my.sharepoint.com/:f:/g/personal/ucabpgk_ucl_ac_uk/Eim32GoBUgVOoLolQCYbbyMBSf-PiNBbOzuQl52n3Xm94w?e=7GOz5l) an OneDrive directory, that contains additional datasets used in this work. Access password is: ```sigcomm2021-476``` 5 | 6 | For our longitudinal analysis, we used TLS certificate scans and HTTP(S) headers, derived from the [Rapid7 - Open Data](https://opendata.rapid7.com) platform. 7 | 8 | To access the historical datasets of Rapid7 Open Data platform you need to apply for an account. 9 | ```Data access is free to Practitioners, Academics, and Researchers.``` 10 | 11 | To create an account on the Rapid7 Opendata platform visit: 12 | https://opendata.rapid7.com/sonar.ssl/ 13 | 14 | Then, search "Gain Unlimited Access to Our Datasets" (located close to the bottom of the page) and click on "Create a free account". 15 | To fully reproduce our findings, you will need to gain access to the following datasets. 16 | * SSL Certificates 17 | * More SSL Certificates (non-443) 18 | * HTTP GET Responses 19 | * HTTPS GET Responses 20 | 21 | ### How to download a file from Rapid7 Open Data platform 22 | At first, you need to create an account and create an API key. 23 | 24 | After this, by using the following command, you can request a download link from Rapid7. (Note: The link is only valid for a few hours.) 25 | ``` 26 | curl -H "X-Api-Key: XXX" https://us.api.insight.rapid7.com/opendata/studies///download/ 27 | ``` 28 | To successfully execute the above command, you will need an API key, the dataset name (e.g., sonar.http or sonar.https) and the download file name (e.g., 2019-11-18-1574121404-http_get_80.json.gz). 29 | 30 | Then, you can receive a download link and by using the example below, you can resume the download, if it is interrupted, and will work even if you use a new URL. 31 | ``` 32 | curl -L -o 2019-11-18-1574121404-http_get_80.json.gz -C - https://f002.backblazeb2.com/file/rapid7-opendata/sonar.http/2019-11-18-1574121404-http_get_80.json.gz?Authorization=30023402023 33 | ``` 34 | 35 | The official Rapid7 Open Data API documentation is [here](https://opendata.rapid7.com/apihelp/). 36 | 37 | 38 | ## TLS/SSL scans 39 | In this work, we used three different sources of TLS/SSL scans (Rapid7 - Open Data, Censys, Active Scan). 40 | 41 | ### Rapid7 42 | The TLS/SSL scans that we used in our longitudinal analysis can be found [here](https://opendata.rapid7.com/sonar.ssl/). In our study, we used the HTTPS GET requests on port-443. More specifically, in our analysis we use the ```_hosts``` and ```_certs``` files. 43 | 44 | According to the Rapid7 dataset [documentation](https://opendata.rapid7.com/sonar.ssl/): 45 | 46 | > The ```_hosts``` files provide mapping between the IPs/endpoints and the fingerprint of the X.509 certificate presented. 47 | > The ```_certs``` file provides a mapping of the net new certificates from a given study and the corresponding fingerprint. 48 | 49 | In our analysis, we had to download all ```_certs``` available to construct a global mapping between fingerprints and the raw certificates in PEM format. 50 | Moreover, we found that some fingerprints were not present in the related to HTTPS GET port-443 files, and consequently we downloaded all ```_certs``` of both available TLS/SSL certificate datasets ([SSL Certificates](https://opendata.rapid7.com/sonar.ssl/) and [More SSL Certificates (non-443)](https://opendata.rapid7.com/sonar.moressl/)). We list exactly which files we used, in order to construct the mapping between fingerprints and raw certificates [here-1](https://github.com/pgigis/sigcomm2021-offnets-artifacts/blob/master/datasets/tls_scans/rapid7/certificates/ssl_certificates_https_443_filenames.txt), [here-2](https://github.com/pgigis/sigcomm2021-offnets-artifacts/blob/master/datasets/tls_scans/rapid7/certificates/more_ssl_certificates_non_443_filenames.txt) and [here-3](https://github.com/pgigis/sigcomm2021-offnets-artifacts/blob/master/datasets/tls_scans/rapid7/certificates/ssl_certificates_https_non_443_filenames.txt). 51 | 52 | How to proccess Rapid7 scans: 53 | 54 | After you obtain all ```_certs``` files, you have to create a mapping file between fingerprints/hashes and the raw PEM certificates. 55 | 56 | The desired file should be formatted as follows: 57 | ``` 58 | Fingerprint-1, Raw-PEM-1 59 | Fingerprint-2, Raw-PEM-2 60 | Fingerprint-3, Raw-PEM-3 61 | ``` 62 | 63 | Then, you will need to transform the raw PEM certificate entries to JSON formatted entries. To do this efficiently, we modified the Certigo tool to take as input a file formatted as previously described. 64 | 65 | You can find our custom Certigo version [here](https://github.com/pgigis/certigo). 66 | 67 | To run the tool, execute the following command: 68 | ``` 69 | ./certigo dump -j -f PEM -w ../pems.txt > translated.txt 70 | ``` 71 | 72 | This will generate a file in the following format: 73 | ``` 74 | Fingerprint-1, JSON-CERTIFICATE-1 75 | Fingerprint-2, JSON-CERTIFICATE-1 76 | Fingerprint-3, JSON-CERTIFICATE-1 77 | ``` 78 | 79 | Using this file, you can process the hosts files and map an IP address with to the corresponding JSON formatted certificate. 80 | 81 | 82 | 83 | ### Censys 84 | We applied for a research account to the [Censys](https://censys.io/) platflorm and used the Google's BigQuery platform to retrieve TLS/SSL scans. You can read more on how to obtain Research access to the Censys platform [here](https://support.censys.io/hc/en-us/articles/360038761891-Research-Access-to-Censys-Data). 85 | 86 | Here is an query example that was used to retrieve TLS data: 87 | ``` 88 | select c.ip, d.parsed.names, d.parsed.subject_dn 89 | from `censys-io.ipv4_public.20191119` c inner join `censys-io.certificates_public.certificates` d on d.parsed.fingerprint_sha256 = c.p443.https.tls.certificate.parsed.fingerprint_sha256 90 | ``` 91 | 92 | ### Active Scan (Certigo) 93 | Except from the passive TLS scanning datasets, we also conducted in Nov. 2019 an active scan using the [Certigo](https://github.com/square/certigo) tool. 94 | 95 | The active scan dataset can be found [here](https://liveuclac-my.sharepoint.com/:f:/g/personal/ucabpgk_ucl_ac_uk/Ekb_VbFdQghCntUHh98v-NoBdnSdS_XAh6859ME1RCLDpQ?e=jFeGnZ). Access password is: ```sigcomm2021-476``` 96 | 97 | Please, copy the contents of the OneDrive folder in the ```tls_scans/active``` folder. 98 | 99 | ### HTTP headers 100 | The HTTP GET Responses that we used in our analysis can be found [here](https://github.com/pgigis/sigcomm2021-offnets-artifacts/blob/master/datasets/headers/http/http_80_filenames.txt). 101 | 102 | ### HTTPS headers 103 | The HTTPS GET Responses that we used in our analysis can be found [here](https://github.com/pgigis/sigcomm2021-offnets-artifacts/blob/master/datasets/headers/https/https_443_filenames.txt). 104 | 105 | 106 | ## IP-to-AS Mapping 107 | The IP-to-AS mappings that we used in this work can be found [here](https://liveuclac-my.sharepoint.com/:f:/g/personal/ucabpgk_ucl_ac_uk/EujvVAp0lqBBpY-EgY5IZSgBLTgoxv7xwtRW92YGe9hDLA?e=2iSwLV). Access password is: ```sigcomm2021-476``` 108 | 109 | Please, copy the contents of the OneDrive folder in the ```ip_to_as``` folder. 110 | 111 | 112 | ## User population per ASN data 113 | APNIC conducts measurement campaigns and publishes the related results on a daily basis. We download daily snapshots and we keep only the ASes that have been present in the dataset for at least 25% of each month (one week) to avoid misinferences. The snapshots that we used can be found in the ```apnic_population_estimates``` folder. 114 | 115 | 116 | ## Hypergiant ASes 117 | The hypergiant ASes across time can be found in ```hypergiants``` folder. 118 | 119 | 120 | ## AS-to-Organization info 121 | This dataset is provided by [CAIDA](https://www.caida.org). 122 | You can download the datasets [here](https://publicdata.caida.org/datasets/as-organizations/). 123 | 124 | You need to download only files ending with ".as-org2info.txt.gz". 125 | 126 | 127 | -------------------------------------------------------------------------------- /datasets/apnic_population_estimates/README.md: -------------------------------------------------------------------------------- 1 | ## User population per ASN data. 2 | The source of these data can be found [here](https://stats.labs.apnic.net/aspop). 3 | -------------------------------------------------------------------------------- /datasets/country_to_continent/country_to_continent.txt: -------------------------------------------------------------------------------- 1 | A1,-- 2 | A2,-- 3 | AD,EU 4 | AE,AS 5 | AF,AS 6 | AG,NA 7 | AI,NA 8 | AL,EU 9 | AM,AS 10 | AN,NA 11 | AO,AF 12 | AP,AS 13 | AQ,AN 14 | AR,SA 15 | AS,OC 16 | AT,EU 17 | AU,OC 18 | AW,NA 19 | AX,EU 20 | AZ,AS 21 | BA,EU 22 | BB,NA 23 | BD,AS 24 | BE,EU 25 | BF,AF 26 | BG,EU 27 | BH,AS 28 | BI,AF 29 | BJ,AF 30 | BL,NA 31 | BM,NA 32 | BN,AS 33 | BO,SA 34 | BR,SA 35 | BS,NA 36 | BT,AS 37 | BV,AN 38 | BW,AF 39 | BY,EU 40 | BZ,NA 41 | CA,NA 42 | CC,AS 43 | CD,AF 44 | CF,AF 45 | CG,AF 46 | CH,EU 47 | CI,AF 48 | CK,OC 49 | CL,SA 50 | CM,AF 51 | CN,AS 52 | CO,SA 53 | CR,NA 54 | CU,NA 55 | CV,AF 56 | CX,AS 57 | CY,AS 58 | CZ,EU 59 | DE,EU 60 | DJ,AF 61 | DK,EU 62 | DM,NA 63 | DO,NA 64 | DZ,AF 65 | EC,SA 66 | EE,EU 67 | EG,AF 68 | EH,AF 69 | ER,AF 70 | ES,EU 71 | ET,AF 72 | EU,EU 73 | FI,EU 74 | FJ,OC 75 | FK,SA 76 | FM,OC 77 | FO,EU 78 | FR,EU 79 | FX,EU 80 | GA,AF 81 | GB,EU 82 | GD,NA 83 | GE,AS 84 | GF,SA 85 | GG,EU 86 | GH,AF 87 | GI,EU 88 | GL,NA 89 | GM,AF 90 | GN,AF 91 | GP,NA 92 | GQ,AF 93 | GR,EU 94 | GS,AN 95 | GT,NA 96 | GU,OC 97 | GW,AF 98 | GY,SA 99 | HK,AS 100 | HM,AN 101 | HN,NA 102 | HR,EU 103 | HT,NA 104 | HU,EU 105 | ID,AS 106 | IE,EU 107 | IL,AS 108 | IM,EU 109 | IN,AS 110 | IO,AS 111 | IQ,AS 112 | IR,AS 113 | IS,EU 114 | IT,EU 115 | JE,EU 116 | JM,NA 117 | JO,AS 118 | JP,AS 119 | KE,AF 120 | KG,AS 121 | KH,AS 122 | KI,OC 123 | KM,AF 124 | KN,NA 125 | KP,AS 126 | KR,AS 127 | KW,AS 128 | KY,NA 129 | KZ,AS 130 | LA,AS 131 | LB,AS 132 | LC,NA 133 | LI,EU 134 | LK,AS 135 | LR,AF 136 | LS,AF 137 | LT,EU 138 | LU,EU 139 | LV,EU 140 | LY,AF 141 | MA,AF 142 | MC,EU 143 | MD,EU 144 | ME,EU 145 | MF,NA 146 | MG,AF 147 | MH,OC 148 | MK,EU 149 | ML,AF 150 | MM,AS 151 | MN,AS 152 | MO,AS 153 | MP,OC 154 | MQ,NA 155 | MR,AF 156 | MS,NA 157 | MT,EU 158 | MU,AF 159 | MV,AS 160 | MW,AF 161 | MX,NA 162 | MY,AS 163 | MZ,AF 164 | NA,AF 165 | NC,OC 166 | NE,AF 167 | NF,OC 168 | NG,AF 169 | NI,NA 170 | NL,EU 171 | NO,EU 172 | NP,AS 173 | NR,OC 174 | NU,OC 175 | NZ,OC 176 | O1,-- 177 | OM,AS 178 | PA,NA 179 | PE,SA 180 | PF,OC 181 | PG,OC 182 | PH,AS 183 | PK,AS 184 | PL,EU 185 | PM,NA 186 | PN,OC 187 | PR,NA 188 | PS,AS 189 | PT,EU 190 | PW,OC 191 | PY,SA 192 | QA,AS 193 | RE,AF 194 | RO,EU 195 | RS,EU 196 | RU,EU 197 | RW,AF 198 | SA,AS 199 | SB,OC 200 | SC,AF 201 | SD,AF 202 | SE,EU 203 | SG,AS 204 | SH,AF 205 | SI,EU 206 | SJ,EU 207 | SK,EU 208 | SL,AF 209 | SM,EU 210 | SN,AF 211 | SO,AF 212 | SR,SA 213 | ST,AF 214 | SV,NA 215 | SY,AS 216 | SZ,AF 217 | TC,NA 218 | TD,AF 219 | TF,AN 220 | TG,AF 221 | TH,AS 222 | TJ,AS 223 | TK,OC 224 | TL,AS 225 | TM,AS 226 | TN,AF 227 | TO,OC 228 | TR,EU 229 | TT,NA 230 | TV,OC 231 | TW,AS 232 | TZ,AF 233 | UA,EU 234 | UG,AF 235 | UM,OC 236 | US,NA 237 | UY,SA 238 | UZ,AS 239 | VA,EU 240 | VC,NA 241 | VE,SA 242 | VG,NA 243 | VI,NA 244 | VN,AS 245 | VU,OC 246 | WF,OC 247 | WS,OC 248 | YE,AS 249 | YT,AF 250 | ZA,AF 251 | ZM,AF 252 | ZW,AF 253 | BQ,SA 254 | CW,SA 255 | SX,SA 256 | SS,AF -------------------------------------------------------------------------------- /datasets/headers/http/http_80_filenames.txt: -------------------------------------------------------------------------------- 1 | 20131029-http.gz 2 | 20140107-http.gz 3 | 20140416-http.gz 4 | 20140708-http.gz 5 | 20141014-http.gz 6 | 20150106-http.gz 7 | 20150414-http.gz 8 | 20150707-http.gz 9 | 20151013-http.gz 10 | 20160119-http.gz 11 | 20160412-http.gz 12 | 20160705-http.gz 13 | 20161011-http.gz 14 | 2017-04-11-1491872401-http_get_80.json.gz 15 | 2017-07-03-1499043601-http_get_80.json.gz 16 | 2017-10-09-1507510801-http_get_80.json.gz 17 | 20170117-http.gz 18 | 2018-01-01-1514768401-http_get_80.json.gz 19 | 2018-05-07-1525654801-http_get_80.json.gz 20 | 2018-07-02-1530493201-http_get_80.json.gz 21 | 2018-10-08-1538977159-http_get_80.json.gz 22 | 2018-12-31-1546218356-http_get_80.json.gz 23 | 2019-04-08-1554738916-http_get_80.json.gz 24 | 2019-07-03-1562144405-http_get_80.json.gz 25 | 2019-10-07-1570486836-http_get_80.json.gz 26 | 2019-11-18-1574121404-http_get_80.json.gz 27 | 2020-01-13-1578907976-http_get_80.json.gz 28 | 2020-04-07-1586293297-http_get_80.json.gz 29 | 2020-07-13-1594650025-http_get_80.json.gz 30 | 2020-10-05-1601860041-http_get_80.json.gz 31 | 20201130-http.gz -------------------------------------------------------------------------------- /datasets/headers/https/https_443_filenames.txt: -------------------------------------------------------------------------------- 1 | 20160725-https.gz 2 | 20161003-https.gz 3 | 2017-04-11-1491886801-https_get_443.json.gz 4 | 2017-07-04-1499130001-https_get_443.json.gz 5 | 2017-10-10-1507597201-https_get_443.json.gz 6 | 2018-01-02-1514854801-https_get_443.json.gz 7 | 2018-04-24-1524531601-https_get_443.json.gz 8 | 2018-07-03-1530579601-https_get_443.json.gz 9 | 2018-10-09-1539053915-https_get_443.json.gz 10 | 2019-01-01-1546308539-https_get_443.json.gz 11 | 2019-04-09-1554775542-https_get_443.json.gz 12 | 2019-07-03-1562152449-https_get_443.json.gz 13 | 2019-10-07-1570486313-https_get_443.json.gz 14 | 2019-11-18-1574084778-https_get_443.json.gz 15 | 2020-01-13-1578924730-https_get_443.json.gz 16 | 2020-04-06-1586162729-https_get_443.json.gz 17 | 2020-07-13-1594678763-https_get_443.json.gz 18 | 2020-10-05-1601859930-https_get_443.json.gz 19 | 20201130-https.gz -------------------------------------------------------------------------------- /datasets/hypergiants/2013_10_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-39111-RIPE", 8 | "@aut-58588-APNIC", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "58588", 17 | "9059", 18 | "10124", 19 | "38895", 20 | "8987", 21 | "16509", 22 | "17493", 23 | "14618" 24 | ] 25 | }, 26 | "yahoo": { 27 | "org_id": [ 28 | "@aut-10157-APNIC", 29 | "@aut-18140-JPNIC", 30 | "@aut-23663-APNIC", 31 | "@aut-23816-JPNIC", 32 | "@aut-23926-APNIC", 33 | "@aut-24018-APNIC", 34 | "@aut-24236-APNIC", 35 | "@aut-24296-JPNIC", 36 | "@aut-24376-APNIC", 37 | "@aut-24506-APNIC", 38 | "@aut-24572-APNIC", 39 | "@aut-2521-JPNIC", 40 | "@aut-2554-JPNIC", 41 | "@aut-28122-LACNIC", 42 | "@aut-38045-APNIC", 43 | "@aut-38072-APNIC", 44 | "@aut-38689-APNIC", 45 | "@aut-4197-JPNIC", 46 | "@aut-45501-APNIC", 47 | "@aut-45502-APNIC", 48 | "@aut-45863-APNIC", 49 | "@aut-45915-APNIC", 50 | "@aut-4681-JPNIC", 51 | "@aut-4694-JPNIC", 52 | "@aut-55416-APNIC", 53 | "@aut-55417-APNIC", 54 | "@aut-55418-APNIC", 55 | "@aut-55517-APNIC", 56 | "@aut-55898-JPNIC", 57 | "@aut-58525-APNIC", 58 | "@aut-58720-APNIC", 59 | "@aut-58721-APNIC", 60 | "@aut-7488-JPNIC", 61 | "ORG-YE1-RIPE", 62 | "YAHO-ARIN", 63 | "YAHOO-1-ARIN", 64 | "YAOO-ARIN", 65 | "YHOO-ARIN" 66 | ], 67 | "asns": [ 68 | "45915", 69 | "55517", 70 | "36646", 71 | "24376", 72 | "393245", 73 | "36647", 74 | "10157", 75 | "14678", 76 | "24018", 77 | "28122", 78 | "34082", 79 | "55417", 80 | "38072", 81 | "26101", 82 | "55418", 83 | "32116", 84 | "36088", 85 | "7488", 86 | "10310", 87 | "15635", 88 | "45502", 89 | "24572", 90 | "2554", 91 | "40986", 92 | "22565", 93 | "7280", 94 | "14196", 95 | "36752", 96 | "10880", 97 | "24296", 98 | "23926", 99 | "4694", 100 | "2521", 101 | "5779", 102 | "26085", 103 | "58721", 104 | "4197", 105 | "23816", 106 | "17110", 107 | "38045", 108 | "45863", 109 | "55416", 110 | "55898", 111 | "24236", 112 | "36229", 113 | "24506", 114 | "34010", 115 | "38689", 116 | "42173", 117 | "18140", 118 | "58525", 119 | "43428", 120 | "4681", 121 | "45501", 122 | "36129", 123 | "23663", 124 | "7233", 125 | "15896", 126 | "58720" 127 | ] 128 | }, 129 | "cloudflare": { 130 | "org_id": [ 131 | "@aut-132892-APNIC", 132 | "CLOUD14-ARIN" 133 | ], 134 | "asns": [ 135 | "132892", 136 | "13335" 137 | ] 138 | }, 139 | "akamai": { 140 | "org_id": [ 141 | "@aut-23903-APNIC", 142 | "@aut-24319-APNIC", 143 | "AKAMAI-ARIN", 144 | "ORG-AT1-RIPE" 145 | ], 146 | "asns": [ 147 | "36183", 148 | "20189", 149 | "12222", 150 | "21342", 151 | "35994", 152 | "31109", 153 | "31107", 154 | "21357", 155 | "34850", 156 | "24319", 157 | "17334", 158 | "21399", 159 | "23455", 160 | "16625", 161 | "30675", 162 | "22207", 163 | "39836", 164 | "31108", 165 | "31110", 166 | "23454", 167 | "18680", 168 | "20940", 169 | "35204", 170 | "23903", 171 | "43639", 172 | "16702", 173 | "18717", 174 | "33905", 175 | "31377", 176 | "34164", 177 | "35993" 178 | ] 179 | }, 180 | "chinacache": { 181 | "org_id": [ 182 | "@aut-37958-APNIC", 183 | "@aut-58856-APNIC" 184 | ], 185 | "asns": [ 186 | "37958", 187 | "58856" 188 | ] 189 | }, 190 | "alibaba": { 191 | "org_id": [ 192 | "@aut-37963-APNIC", 193 | "@aut-38369-APNIC", 194 | "@aut-45096-APNIC", 195 | "@aut-45102-APNIC", 196 | "@aut-45103-APNIC", 197 | "@aut-45104-APNIC" 198 | ], 199 | "asns": [ 200 | "45102", 201 | "38369", 202 | "45096", 203 | "45104", 204 | "37963", 205 | "45103" 206 | ] 207 | }, 208 | "cdnetworks": { 209 | "org_id": [ 210 | "@aut-38107-APNIC", 211 | "CDNET-ARIN", 212 | "ORG-CCL19-RIPE" 213 | ], 214 | "asns": [ 215 | "43303", 216 | "36408", 217 | "40366", 218 | "38107" 219 | ] 220 | }, 221 | "limelight": { 222 | "org_id": [ 223 | "@aut-38621-APNIC", 224 | "@aut-38622-APNIC", 225 | "@aut-45396-APNIC", 226 | "@aut-55429-APNIC", 227 | "LLNW-ARIN", 228 | "ORG-LN1-AFRINIC", 229 | "ORG-LNI1-RIPE" 230 | ], 231 | "asns": [ 232 | "37277", 233 | "55429", 234 | "60261", 235 | "23135", 236 | "23164", 237 | "12411", 238 | "25804", 239 | "45396", 240 | "26506", 241 | "23059", 242 | "22822", 243 | "38622", 244 | "27191", 245 | "38621" 246 | ] 247 | }, 248 | "microsoft": { 249 | "org_id": [ 250 | "@aut-45139-APNIC", 251 | "@aut-52985-LACNIC", 252 | "@aut-5582-RIPE", 253 | "@aut-58593-APNIC", 254 | "@aut-58862-APNIC", 255 | "MSFT-ARIN", 256 | "ORG-MA42-RIPE" 257 | ], 258 | "asns": [ 259 | "58862", 260 | "8075", 261 | "5582", 262 | "14719", 263 | "36006", 264 | "6291", 265 | "8069", 266 | "8072", 267 | "13399", 268 | "8074", 269 | "45139", 270 | "6182", 271 | "35106", 272 | "6194", 273 | "3598", 274 | "26222", 275 | "20046", 276 | "8071", 277 | "8073", 278 | "30575", 279 | "5761", 280 | "13811", 281 | "8070", 282 | "6584", 283 | "30135", 284 | "58593", 285 | "52985", 286 | "23468", 287 | "32476", 288 | "8068" 289 | ] 290 | }, 291 | "google": { 292 | "org_id": [ 293 | "@aut-45566-APNIC", 294 | "GF-ARIN", 295 | "GOGL-ARIN", 296 | "GOOGL-1-ARIN", 297 | "GOOGL-ARIN", 298 | "ORG-GKL1-AFRINIC", 299 | "ORG-GSG10-RIPE" 300 | ], 301 | "asns": [ 302 | "19448", 303 | "36384", 304 | "41264", 305 | "15169", 306 | "36987", 307 | "45566", 308 | "16591", 309 | "36040", 310 | "36039", 311 | "36385", 312 | "36492", 313 | "22859", 314 | "22577" 315 | ] 316 | }, 317 | "apple": { 318 | "org_id": [ 319 | "APPLEC-1-Z-ARIN" 320 | ], 321 | "asns": [ 322 | "714", 323 | "2709", 324 | "6185" 325 | ] 326 | }, 327 | "bitgravity": { 328 | "org_id": [ 329 | "BITGR-ARIN" 330 | ], 331 | "asns": [ 332 | "40009" 333 | ] 334 | }, 335 | "cachefly": { 336 | "org_id": [ 337 | "CACHE-ARIN" 338 | ], 339 | "asns": [ 340 | "30081" 341 | ] 342 | }, 343 | "disney": { 344 | "org_id": [ 345 | "DISNE-7-ARIN", 346 | "DO-19-ARIN", 347 | "DWS-ARIN" 348 | ], 349 | "asns": [ 350 | "23344", 351 | "11812", 352 | "46557", 353 | "40051", 354 | "25932", 355 | "54330", 356 | "29736", 357 | "62787", 358 | "30311", 359 | "8137", 360 | "53578" 361 | ] 362 | }, 363 | "facebook": { 364 | "org_id": [ 365 | "FACEB-1-ARIN", 366 | "THEFA-3-ARIN" 367 | ], 368 | "asns": [ 369 | "32934", 370 | "54115" 371 | ] 372 | }, 373 | "highwinds": { 374 | "org_id": [ 375 | "HNG-3-ARIN" 376 | ], 377 | "asns": [ 378 | "11588", 379 | "20446", 380 | "29798", 381 | "33438", 382 | "18607" 383 | ] 384 | }, 385 | "hulu": { 386 | "org_id": [ 387 | "HULUL-ARIN" 388 | ], 389 | "asns": [ 390 | "23286" 391 | ] 392 | }, 393 | "incapsula": { 394 | "org_id": [ 395 | "INCAP-5-ARIN" 396 | ], 397 | "asns": [ 398 | "19551" 399 | ] 400 | }, 401 | "netflix": { 402 | "org_id": [ 403 | "NETFL-13-ARIN", 404 | "SS-144-ARIN" 405 | ], 406 | "asns": [ 407 | "55095", 408 | "40027", 409 | "2906" 410 | ] 411 | }, 412 | "fastly": { 413 | "org_id": [ 414 | "SKYCA-3-ARIN" 415 | ], 416 | "asns": [ 417 | "54113" 418 | ] 419 | }, 420 | "twitter": { 421 | "org_id": [ 422 | "TWITT-ARIN" 423 | ], 424 | "asns": [ 425 | "54888", 426 | "35995", 427 | "13414" 428 | ] 429 | } 430 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2014_01_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-39111-RIPE", 8 | "@aut-58588-APNIC", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "58588", 17 | "9059", 18 | "10124", 19 | "38895", 20 | "8987", 21 | "16509", 22 | "17493", 23 | "14618" 24 | ] 25 | }, 26 | "yahoo": { 27 | "org_id": [ 28 | "@aut-10157-APNIC", 29 | "@aut-24236-APNIC", 30 | "@aut-24506-APNIC", 31 | "@aut-24572-APNIC", 32 | "@aut-28122-LACNIC", 33 | "@aut-38689-APNIC", 34 | "@aut-45501-APNIC", 35 | "@aut-45502-APNIC", 36 | "@family-1209", 37 | "@family-19828", 38 | "ORG-YE1-RIPE", 39 | "YAHO-ARIN", 40 | "YAHOO-1-ARIN", 41 | "YAOO-ARIN", 42 | "YHOO-ARIN" 43 | ], 44 | "asns": [ 45 | "45915", 46 | "36646", 47 | "393245", 48 | "36647", 49 | "10157", 50 | "14678", 51 | "28122", 52 | "34082", 53 | "38072", 54 | "26101", 55 | "32116", 56 | "36088", 57 | "7488", 58 | "10310", 59 | "15635", 60 | "45502", 61 | "24572", 62 | "2554", 63 | "40986", 64 | "22565", 65 | "7280", 66 | "14196", 67 | "36752", 68 | "10880", 69 | "24296", 70 | "4694", 71 | "2521", 72 | "5779", 73 | "26085", 74 | "4197", 75 | "23816", 76 | "17110", 77 | "38045", 78 | "45863", 79 | "55898", 80 | "24236", 81 | "36229", 82 | "24506", 83 | "34010", 84 | "38689", 85 | "42173", 86 | "18140", 87 | "43428", 88 | "4681", 89 | "45501", 90 | "36129", 91 | "23663", 92 | "7233", 93 | "15896" 94 | ] 95 | }, 96 | "cloudflare": { 97 | "org_id": [ 98 | "@aut-132892-APNIC", 99 | "CLOUD14-ARIN" 100 | ], 101 | "asns": [ 102 | "132892", 103 | "13335" 104 | ] 105 | }, 106 | "chinacache": { 107 | "org_id": [ 108 | "@aut-37958-APNIC" 109 | ], 110 | "asns": [ 111 | "37958", 112 | "58856" 113 | ] 114 | }, 115 | "cdnetworks": { 116 | "org_id": [ 117 | "@aut-38107-APNIC", 118 | "CDNET-ARIN", 119 | "ORG-PEC1-RIPE" 120 | ], 121 | "asns": [ 122 | "43303", 123 | "36408", 124 | "40366", 125 | "38107" 126 | ] 127 | }, 128 | "microsoft": { 129 | "org_id": [ 130 | "@aut-45139-APNIC", 131 | "@aut-52985-LACNIC", 132 | "@aut-5582-RIPE", 133 | "@aut-58593-APNIC", 134 | "@aut-58862-APNIC", 135 | "MSFT-ARIN", 136 | "ORG-MA42-RIPE" 137 | ], 138 | "asns": [ 139 | "58862", 140 | "8075", 141 | "5582", 142 | "14719", 143 | "36006", 144 | "6291", 145 | "8069", 146 | "8072", 147 | "13399", 148 | "8074", 149 | "45139", 150 | "6182", 151 | "35106", 152 | "6194", 153 | "3598", 154 | "26222", 155 | "20046", 156 | "8071", 157 | "8073", 158 | "30575", 159 | "40066", 160 | "5761", 161 | "13811", 162 | "25796", 163 | "8070", 164 | "6584", 165 | "30135", 166 | "58593", 167 | "52985", 168 | "23468", 169 | "32476", 170 | "8068" 171 | ] 172 | }, 173 | "limelight": { 174 | "org_id": [ 175 | "@aut-45396-APNIC", 176 | "@aut-55429-APNIC", 177 | "@family-24068", 178 | "LLNW-ARIN", 179 | "ORG-LN1-AFRINIC", 180 | "ORG-LNI1-RIPE" 181 | ], 182 | "asns": [ 183 | "37277", 184 | "55429", 185 | "60261", 186 | "23135", 187 | "23164", 188 | "12411", 189 | "25804", 190 | "45396", 191 | "26506", 192 | "23059", 193 | "22822", 194 | "38622", 195 | "27191", 196 | "38621" 197 | ] 198 | }, 199 | "google": { 200 | "org_id": [ 201 | "@aut-45566-APNIC", 202 | "GF-ARIN", 203 | "GOGL-ARIN", 204 | "GOOGL-1-ARIN", 205 | "GOOGL-ARIN", 206 | "ORG-GKL1-AFRINIC", 207 | "ORG-GSG10-RIPE" 208 | ], 209 | "asns": [ 210 | "19448", 211 | "36384", 212 | "41264", 213 | "15169", 214 | "36987", 215 | "45566", 216 | "16591", 217 | "36040", 218 | "36039", 219 | "36385", 220 | "36492", 221 | "22859", 222 | "22577" 223 | ] 224 | }, 225 | "alibaba": { 226 | "org_id": [ 227 | "@family-20232" 228 | ], 229 | "asns": [ 230 | "45102", 231 | "38369", 232 | "45096", 233 | "45104", 234 | "24429", 235 | "37963", 236 | "45108", 237 | "45103" 238 | ] 239 | }, 240 | "akamai": { 241 | "org_id": [ 242 | "@family-5420", 243 | "AKAMAI-ARIN", 244 | "ORG-AT1-RIPE" 245 | ], 246 | "asns": [ 247 | "55770", 248 | "36183", 249 | "20189", 250 | "12222", 251 | "21342", 252 | "35994", 253 | "31109", 254 | "31107", 255 | "21357", 256 | "34850", 257 | "24319", 258 | "17334", 259 | "21399", 260 | "23455", 261 | "16625", 262 | "30675", 263 | "22207", 264 | "39836", 265 | "31108", 266 | "31110", 267 | "23454", 268 | "18680", 269 | "20940", 270 | "35204", 271 | "23903", 272 | "43639", 273 | "16702", 274 | "18717", 275 | "33905", 276 | "31377", 277 | "34164", 278 | "35993" 279 | ] 280 | }, 281 | "apple": { 282 | "org_id": [ 283 | "APPLEC-1-Z-ARIN" 284 | ], 285 | "asns": [ 286 | "714", 287 | "2709", 288 | "6185" 289 | ] 290 | }, 291 | "bitgravity": { 292 | "org_id": [ 293 | "BITGR-ARIN" 294 | ], 295 | "asns": [ 296 | "40009" 297 | ] 298 | }, 299 | "cachefly": { 300 | "org_id": [ 301 | "CACHE-ARIN" 302 | ], 303 | "asns": [ 304 | "30081" 305 | ] 306 | }, 307 | "disney": { 308 | "org_id": [ 309 | "DISNE-7-ARIN", 310 | "DO-19-ARIN", 311 | "DWS-ARIN" 312 | ], 313 | "asns": [ 314 | "23344", 315 | "11812", 316 | "46557", 317 | "40051", 318 | "25932", 319 | "54330", 320 | "29736", 321 | "62787", 322 | "30311", 323 | "8137", 324 | "53578" 325 | ] 326 | }, 327 | "facebook": { 328 | "org_id": [ 329 | "FACEB-1-ARIN", 330 | "THEFA-3-ARIN" 331 | ], 332 | "asns": [ 333 | "32934", 334 | "54115" 335 | ] 336 | }, 337 | "highwinds": { 338 | "org_id": [ 339 | "HNG-3-ARIN" 340 | ], 341 | "asns": [ 342 | "11588", 343 | "20446", 344 | "29798", 345 | "33438", 346 | "18607" 347 | ] 348 | }, 349 | "hulu": { 350 | "org_id": [ 351 | "HULUL-ARIN" 352 | ], 353 | "asns": [ 354 | "23286" 355 | ] 356 | }, 357 | "incapsula": { 358 | "org_id": [ 359 | "INCAP-5-ARIN" 360 | ], 361 | "asns": [ 362 | "19551" 363 | ] 364 | }, 365 | "netflix": { 366 | "org_id": [ 367 | "NETFL-13-ARIN", 368 | "SS-144-ARIN" 369 | ], 370 | "asns": [ 371 | "55095", 372 | "40027", 373 | "2906" 374 | ] 375 | }, 376 | "fastly": { 377 | "org_id": [ 378 | "SKYCA-3-ARIN" 379 | ], 380 | "asns": [ 381 | "54113" 382 | ] 383 | }, 384 | "twitter": { 385 | "org_id": [ 386 | "TWITT-ARIN" 387 | ], 388 | "asns": [ 389 | "54888", 390 | "35995", 391 | "13414" 392 | ] 393 | } 394 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2014_04_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-39111-RIPE", 8 | "@aut-58588-APNIC", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "58588", 17 | "9059", 18 | "10124", 19 | "38895", 20 | "8987", 21 | "16509", 22 | "17493", 23 | "14618" 24 | ] 25 | }, 26 | "yahoo": { 27 | "org_id": [ 28 | "@aut-10157-APNIC", 29 | "@aut-24236-APNIC", 30 | "@aut-24506-APNIC", 31 | "@aut-24572-APNIC", 32 | "@aut-28122-LACNIC", 33 | "@aut-38689-APNIC", 34 | "@aut-45501-APNIC", 35 | "@aut-45502-APNIC", 36 | "@family-1209", 37 | "@family-19828", 38 | "ORG-YE1-RIPE", 39 | "YAHO-ARIN", 40 | "YAHOO-1-ARIN", 41 | "YAOO-ARIN", 42 | "YHOO-ARIN" 43 | ], 44 | "asns": [ 45 | "45915", 46 | "36646", 47 | "393245", 48 | "36647", 49 | "10157", 50 | "14678", 51 | "28122", 52 | "34082", 53 | "38072", 54 | "26101", 55 | "32116", 56 | "36088", 57 | "7488", 58 | "10310", 59 | "15635", 60 | "45502", 61 | "24572", 62 | "2554", 63 | "40986", 64 | "22565", 65 | "7280", 66 | "14196", 67 | "36752", 68 | "10880", 69 | "24296", 70 | "4694", 71 | "2521", 72 | "5779", 73 | "26085", 74 | "4197", 75 | "23816", 76 | "17110", 77 | "38045", 78 | "45863", 79 | "55898", 80 | "24236", 81 | "36229", 82 | "24506", 83 | "34010", 84 | "38689", 85 | "42173", 86 | "18140", 87 | "43428", 88 | "4681", 89 | "45501", 90 | "36129", 91 | "23663", 92 | "7233", 93 | "15896" 94 | ] 95 | }, 96 | "cloudflare": { 97 | "org_id": [ 98 | "@aut-132892-APNIC", 99 | "CLOUD14-ARIN" 100 | ], 101 | "asns": [ 102 | "132892", 103 | "13335" 104 | ] 105 | }, 106 | "chinacache": { 107 | "org_id": [ 108 | "@aut-37958-APNIC" 109 | ], 110 | "asns": [ 111 | "37958", 112 | "58856" 113 | ] 114 | }, 115 | "cdnetworks": { 116 | "org_id": [ 117 | "@aut-38107-APNIC", 118 | "CDNET-ARIN", 119 | "ORG-PEC1-RIPE" 120 | ], 121 | "asns": [ 122 | "43303", 123 | "36408", 124 | "40366", 125 | "38107" 126 | ] 127 | }, 128 | "microsoft": { 129 | "org_id": [ 130 | "@aut-45139-APNIC", 131 | "@aut-52985-LACNIC", 132 | "@aut-5582-RIPE", 133 | "@aut-58593-APNIC", 134 | "@aut-58862-APNIC", 135 | "MSFT-ARIN", 136 | "ORG-MA42-RIPE" 137 | ], 138 | "asns": [ 139 | "58862", 140 | "8075", 141 | "5582", 142 | "14719", 143 | "36006", 144 | "6291", 145 | "8069", 146 | "8072", 147 | "13399", 148 | "8074", 149 | "45139", 150 | "6182", 151 | "35106", 152 | "6194", 153 | "3598", 154 | "26222", 155 | "20046", 156 | "8071", 157 | "8073", 158 | "30575", 159 | "40066", 160 | "5761", 161 | "13811", 162 | "25796", 163 | "8070", 164 | "6584", 165 | "30135", 166 | "58593", 167 | "52985", 168 | "23468", 169 | "32476", 170 | "8068" 171 | ] 172 | }, 173 | "limelight": { 174 | "org_id": [ 175 | "@aut-45396-APNIC", 176 | "@aut-55429-APNIC", 177 | "@family-24068", 178 | "LLNW-ARIN", 179 | "ORG-LN1-AFRINIC", 180 | "ORG-LNI1-RIPE" 181 | ], 182 | "asns": [ 183 | "37277", 184 | "55429", 185 | "60261", 186 | "23135", 187 | "23164", 188 | "12411", 189 | "25804", 190 | "45396", 191 | "26506", 192 | "23059", 193 | "22822", 194 | "38622", 195 | "27191", 196 | "38621" 197 | ] 198 | }, 199 | "google": { 200 | "org_id": [ 201 | "@aut-45566-APNIC", 202 | "GF-ARIN", 203 | "GOGL-ARIN", 204 | "GOOGL-1-ARIN", 205 | "GOOGL-ARIN", 206 | "ORG-GKL1-AFRINIC", 207 | "ORG-GSG10-RIPE" 208 | ], 209 | "asns": [ 210 | "19448", 211 | "36384", 212 | "41264", 213 | "15169", 214 | "36987", 215 | "45566", 216 | "16591", 217 | "36040", 218 | "36039", 219 | "36385", 220 | "36492", 221 | "22859", 222 | "22577" 223 | ] 224 | }, 225 | "alibaba": { 226 | "org_id": [ 227 | "@family-20232" 228 | ], 229 | "asns": [ 230 | "45102", 231 | "38369", 232 | "45096", 233 | "45104", 234 | "24429", 235 | "37963", 236 | "45108", 237 | "45103" 238 | ] 239 | }, 240 | "akamai": { 241 | "org_id": [ 242 | "@family-5420", 243 | "AKAMAI-ARIN", 244 | "ORG-AT1-RIPE" 245 | ], 246 | "asns": [ 247 | "55770", 248 | "36183", 249 | "20189", 250 | "12222", 251 | "21342", 252 | "35994", 253 | "31109", 254 | "31107", 255 | "21357", 256 | "34850", 257 | "24319", 258 | "17334", 259 | "21399", 260 | "23455", 261 | "16625", 262 | "30675", 263 | "22207", 264 | "39836", 265 | "31108", 266 | "31110", 267 | "23454", 268 | "18680", 269 | "20940", 270 | "35204", 271 | "23903", 272 | "43639", 273 | "16702", 274 | "18717", 275 | "33905", 276 | "31377", 277 | "34164", 278 | "35993" 279 | ] 280 | }, 281 | "apple": { 282 | "org_id": [ 283 | "APPLEC-1-Z-ARIN" 284 | ], 285 | "asns": [ 286 | "714", 287 | "2709", 288 | "6185" 289 | ] 290 | }, 291 | "bitgravity": { 292 | "org_id": [ 293 | "BITGR-ARIN" 294 | ], 295 | "asns": [ 296 | "40009" 297 | ] 298 | }, 299 | "cachefly": { 300 | "org_id": [ 301 | "CACHE-ARIN" 302 | ], 303 | "asns": [ 304 | "30081" 305 | ] 306 | }, 307 | "disney": { 308 | "org_id": [ 309 | "DISNE-7-ARIN", 310 | "DO-19-ARIN", 311 | "DWS-ARIN" 312 | ], 313 | "asns": [ 314 | "23344", 315 | "11812", 316 | "46557", 317 | "40051", 318 | "25932", 319 | "54330", 320 | "29736", 321 | "62787", 322 | "30311", 323 | "8137", 324 | "53578" 325 | ] 326 | }, 327 | "facebook": { 328 | "org_id": [ 329 | "FACEB-1-ARIN", 330 | "THEFA-3-ARIN" 331 | ], 332 | "asns": [ 333 | "32934", 334 | "54115" 335 | ] 336 | }, 337 | "highwinds": { 338 | "org_id": [ 339 | "HNG-3-ARIN" 340 | ], 341 | "asns": [ 342 | "11588", 343 | "20446", 344 | "29798", 345 | "33438", 346 | "18607" 347 | ] 348 | }, 349 | "hulu": { 350 | "org_id": [ 351 | "HULUL-ARIN" 352 | ], 353 | "asns": [ 354 | "23286" 355 | ] 356 | }, 357 | "incapsula": { 358 | "org_id": [ 359 | "INCAP-5-ARIN" 360 | ], 361 | "asns": [ 362 | "19551" 363 | ] 364 | }, 365 | "netflix": { 366 | "org_id": [ 367 | "NETFL-13-ARIN", 368 | "SS-144-ARIN" 369 | ], 370 | "asns": [ 371 | "55095", 372 | "40027", 373 | "2906" 374 | ] 375 | }, 376 | "fastly": { 377 | "org_id": [ 378 | "SKYCA-3-ARIN" 379 | ], 380 | "asns": [ 381 | "54113" 382 | ] 383 | }, 384 | "twitter": { 385 | "org_id": [ 386 | "TWITT-ARIN" 387 | ], 388 | "asns": [ 389 | "54888", 390 | "35995", 391 | "13414" 392 | ] 393 | } 394 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2014_07_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-39111-RIPE", 8 | "@aut-58588-APNIC", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "58588", 17 | "9059", 18 | "10124", 19 | "38895", 20 | "8987", 21 | "16509", 22 | "17493", 23 | "14618" 24 | ] 25 | }, 26 | "yahoo": { 27 | "org_id": [ 28 | "@aut-10157-APNIC", 29 | "@aut-24236-APNIC", 30 | "@aut-24506-APNIC", 31 | "@aut-24572-APNIC", 32 | "@aut-28122-LACNIC", 33 | "@aut-38689-APNIC", 34 | "@aut-45501-APNIC", 35 | "@aut-45502-APNIC", 36 | "@family-1356", 37 | "@family-20130", 38 | "ORG-YE1-RIPE", 39 | "YAHO-ARIN", 40 | "YAHOO-1-ARIN", 41 | "YAOO-ARIN", 42 | "YHOO-ARIN" 43 | ], 44 | "asns": [ 45 | "45915", 46 | "36646", 47 | "393245", 48 | "36647", 49 | "10157", 50 | "14678", 51 | "28122", 52 | "34082", 53 | "38072", 54 | "26101", 55 | "32116", 56 | "36088", 57 | "7488", 58 | "10310", 59 | "15635", 60 | "45502", 61 | "24572", 62 | "2554", 63 | "40986", 64 | "22565", 65 | "7280", 66 | "14196", 67 | "36752", 68 | "10880", 69 | "24296", 70 | "4694", 71 | "2521", 72 | "5779", 73 | "26085", 74 | "4197", 75 | "23816", 76 | "17110", 77 | "38045", 78 | "45863", 79 | "55898", 80 | "24236", 81 | "36229", 82 | "24506", 83 | "34010", 84 | "38689", 85 | "42173", 86 | "18140", 87 | "43428", 88 | "4681", 89 | "45501", 90 | "36129", 91 | "23663", 92 | "7233", 93 | "15896" 94 | ] 95 | }, 96 | "cloudflare": { 97 | "org_id": [ 98 | "@aut-132892-APNIC", 99 | "CLOUD14-ARIN" 100 | ], 101 | "asns": [ 102 | "132892", 103 | "13335" 104 | ] 105 | }, 106 | "chinacache": { 107 | "org_id": [ 108 | "@aut-37958-APNIC" 109 | ], 110 | "asns": [ 111 | "37958", 112 | "58856" 113 | ] 114 | }, 115 | "cdnetworks": { 116 | "org_id": [ 117 | "@aut-38107-APNIC", 118 | "CDNET-ARIN", 119 | "ORG-PEC1-RIPE" 120 | ], 121 | "asns": [ 122 | "43303", 123 | "36408", 124 | "40366", 125 | "38107" 126 | ] 127 | }, 128 | "limelight": { 129 | "org_id": [ 130 | "@aut-38621-APNIC", 131 | "@aut-45396-APNIC", 132 | "@aut-55429-APNIC", 133 | "LLNW-ARIN", 134 | "ORG-LN1-AFRINIC", 135 | "ORG-LNI1-RIPE" 136 | ], 137 | "asns": [ 138 | "37277", 139 | "55429", 140 | "60261", 141 | "23135", 142 | "23164", 143 | "12411", 144 | "25804", 145 | "45396", 146 | "26506", 147 | "23059", 148 | "22822", 149 | "38622", 150 | "27191", 151 | "38621" 152 | ] 153 | }, 154 | "microsoft": { 155 | "org_id": [ 156 | "@aut-45139-APNIC", 157 | "@aut-52985-LACNIC", 158 | "@aut-5582-RIPE", 159 | "@aut-58593-APNIC", 160 | "@aut-58862-APNIC", 161 | "MSFT-ARIN", 162 | "ORG-MA42-RIPE" 163 | ], 164 | "asns": [ 165 | "58862", 166 | "8075", 167 | "5582", 168 | "14719", 169 | "36006", 170 | "6291", 171 | "8069", 172 | "8072", 173 | "13399", 174 | "8074", 175 | "45139", 176 | "6182", 177 | "35106", 178 | "6194", 179 | "3598", 180 | "26222", 181 | "20046", 182 | "8071", 183 | "8073", 184 | "30575", 185 | "40066", 186 | "5761", 187 | "13811", 188 | "25796", 189 | "8070", 190 | "6584", 191 | "30135", 192 | "58593", 193 | "52985", 194 | "23468", 195 | "32476", 196 | "8068" 197 | ] 198 | }, 199 | "google": { 200 | "org_id": [ 201 | "@aut-45566-APNIC", 202 | "GF-ARIN", 203 | "GOGL-ARIN", 204 | "GOOGL-1-ARIN", 205 | "GOOGL-ARIN", 206 | "ORG-GKL1-AFRINIC", 207 | "ORG-GSG10-RIPE" 208 | ], 209 | "asns": [ 210 | "19448", 211 | "36384", 212 | "41264", 213 | "15169", 214 | "36987", 215 | "45566", 216 | "16591", 217 | "36040", 218 | "36039", 219 | "36385", 220 | "36492", 221 | "22859", 222 | "22577" 223 | ] 224 | }, 225 | "alibaba": { 226 | "org_id": [ 227 | "@family-20525" 228 | ], 229 | "asns": [ 230 | "45102", 231 | "38369", 232 | "45096", 233 | "45104", 234 | "24429", 235 | "37963", 236 | "45108", 237 | "45103" 238 | ] 239 | }, 240 | "akamai": { 241 | "org_id": [ 242 | "@family-5535", 243 | "AKAMAI-ARIN", 244 | "ORG-AT1-RIPE" 245 | ], 246 | "asns": [ 247 | "55770", 248 | "36183", 249 | "20189", 250 | "12222", 251 | "21342", 252 | "35994", 253 | "31109", 254 | "31107", 255 | "21357", 256 | "34850", 257 | "24319", 258 | "17334", 259 | "21399", 260 | "23455", 261 | "16625", 262 | "30675", 263 | "22207", 264 | "39836", 265 | "31108", 266 | "31110", 267 | "23454", 268 | "18680", 269 | "20940", 270 | "35204", 271 | "23903", 272 | "43639", 273 | "16702", 274 | "18717", 275 | "33905", 276 | "31377", 277 | "34164", 278 | "35993" 279 | ] 280 | }, 281 | "apple": { 282 | "org_id": [ 283 | "APPLEC-1-Z-ARIN" 284 | ], 285 | "asns": [ 286 | "714", 287 | "2709", 288 | "6185" 289 | ] 290 | }, 291 | "bitgravity": { 292 | "org_id": [ 293 | "BITGR-ARIN" 294 | ], 295 | "asns": [ 296 | "40009" 297 | ] 298 | }, 299 | "cachefly": { 300 | "org_id": [ 301 | "CACHE-ARIN" 302 | ], 303 | "asns": [ 304 | "30081" 305 | ] 306 | }, 307 | "disney": { 308 | "org_id": [ 309 | "DISNE-7-ARIN", 310 | "DO-19-ARIN", 311 | "DWS-ARIN" 312 | ], 313 | "asns": [ 314 | "23344", 315 | "11812", 316 | "46557", 317 | "40051", 318 | "13379", 319 | "25932", 320 | "54330", 321 | "29736", 322 | "15260", 323 | "62787", 324 | "30311", 325 | "8137", 326 | "53578" 327 | ] 328 | }, 329 | "facebook": { 330 | "org_id": [ 331 | "FACEB-1-ARIN", 332 | "THEFA-3-ARIN" 333 | ], 334 | "asns": [ 335 | "32934", 336 | "54115" 337 | ] 338 | }, 339 | "highwinds": { 340 | "org_id": [ 341 | "HNG-3-ARIN" 342 | ], 343 | "asns": [ 344 | "11588", 345 | "20446", 346 | "29798", 347 | "33438", 348 | "18607" 349 | ] 350 | }, 351 | "hulu": { 352 | "org_id": [ 353 | "HULUL-ARIN" 354 | ], 355 | "asns": [ 356 | "23286" 357 | ] 358 | }, 359 | "incapsula": { 360 | "org_id": [ 361 | "INCAP-5-ARIN" 362 | ], 363 | "asns": [ 364 | "19551" 365 | ] 366 | }, 367 | "netflix": { 368 | "org_id": [ 369 | "NETFL-13-ARIN", 370 | "SS-144-ARIN" 371 | ], 372 | "asns": [ 373 | "55095", 374 | "40027", 375 | "2906" 376 | ] 377 | }, 378 | "cdn77": { 379 | "org_id": [ 380 | "ORG-DL201-RIPE" 381 | ], 382 | "asns": [ 383 | "60068" 384 | ] 385 | }, 386 | "fastly": { 387 | "org_id": [ 388 | "SKYCA-3-ARIN" 389 | ], 390 | "asns": [ 391 | "54113" 392 | ] 393 | }, 394 | "twitter": { 395 | "org_id": [ 396 | "TWITT-ARIN" 397 | ], 398 | "asns": [ 399 | "54888", 400 | "35995", 401 | "13414" 402 | ] 403 | } 404 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2014_10_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-39111-RIPE", 8 | "@aut-58588-APNIC", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "58588", 17 | "9059", 18 | "10124", 19 | "38895", 20 | "8987", 21 | "16509", 22 | "17493", 23 | "14618" 24 | ] 25 | }, 26 | "yahoo": { 27 | "org_id": [ 28 | "@aut-10157-APNIC", 29 | "@aut-24236-APNIC", 30 | "@aut-24506-APNIC", 31 | "@aut-24572-APNIC", 32 | "@aut-28122-LACNIC", 33 | "@aut-38689-APNIC", 34 | "@aut-45501-APNIC", 35 | "@aut-45502-APNIC", 36 | "@family-1263", 37 | "@family-20423", 38 | "ORG-YE1-RIPE", 39 | "YAHO-ARIN", 40 | "YAHOO-1-ARIN", 41 | "YAOO-ARIN", 42 | "YHOO-ARIN" 43 | ], 44 | "asns": [ 45 | "45915", 46 | "36646", 47 | "393245", 48 | "36647", 49 | "10157", 50 | "14678", 51 | "28122", 52 | "34082", 53 | "38072", 54 | "26101", 55 | "32116", 56 | "36088", 57 | "7488", 58 | "10310", 59 | "15635", 60 | "45502", 61 | "24572", 62 | "2554", 63 | "40986", 64 | "22565", 65 | "7280", 66 | "14196", 67 | "36752", 68 | "10880", 69 | "24296", 70 | "4694", 71 | "2521", 72 | "5779", 73 | "26085", 74 | "4197", 75 | "23816", 76 | "17110", 77 | "38045", 78 | "45863", 79 | "55898", 80 | "24236", 81 | "36229", 82 | "24506", 83 | "34010", 84 | "38689", 85 | "42173", 86 | "18140", 87 | "43428", 88 | "4681", 89 | "45501", 90 | "36129", 91 | "23663", 92 | "7233", 93 | "15896" 94 | ] 95 | }, 96 | "cloudflare": { 97 | "org_id": [ 98 | "@aut-132892-APNIC", 99 | "CLOUD14-ARIN" 100 | ], 101 | "asns": [ 102 | "132892", 103 | "13335" 104 | ] 105 | }, 106 | "chinacache": { 107 | "org_id": [ 108 | "@aut-37958-APNIC" 109 | ], 110 | "asns": [ 111 | "37958", 112 | "58856" 113 | ] 114 | }, 115 | "cdnetworks": { 116 | "org_id": [ 117 | "@aut-38107-APNIC", 118 | "CDNET-ARIN", 119 | "ORG-PEC1-RIPE" 120 | ], 121 | "asns": [ 122 | "43303", 123 | "36408", 124 | "40366", 125 | "38107" 126 | ] 127 | }, 128 | "limelight": { 129 | "org_id": [ 130 | "@aut-38621-APNIC", 131 | "@aut-45396-APNIC", 132 | "@aut-55429-APNIC", 133 | "LLNW-ARIN", 134 | "ORG-LN1-AFRINIC", 135 | "ORG-LNI1-RIPE" 136 | ], 137 | "asns": [ 138 | "37277", 139 | "55429", 140 | "60261", 141 | "23135", 142 | "23164", 143 | "12411", 144 | "25804", 145 | "45396", 146 | "26506", 147 | "23059", 148 | "22822", 149 | "38622", 150 | "27191", 151 | "38621" 152 | ] 153 | }, 154 | "microsoft": { 155 | "org_id": [ 156 | "@aut-45139-APNIC", 157 | "@aut-52985-LACNIC", 158 | "@aut-58593-APNIC", 159 | "@aut-58862-APNIC", 160 | "MSFT-ARIN", 161 | "ORG-MA42-RIPE" 162 | ], 163 | "asns": [ 164 | "58862", 165 | "8075", 166 | "14719", 167 | "36006", 168 | "6291", 169 | "8069", 170 | "8072", 171 | "13399", 172 | "8074", 173 | "45139", 174 | "6182", 175 | "35106", 176 | "6194", 177 | "3598", 178 | "26222", 179 | "20046", 180 | "8071", 181 | "8073", 182 | "30575", 183 | "40066", 184 | "5761", 185 | "13811", 186 | "25796", 187 | "8070", 188 | "6584", 189 | "30135", 190 | "58593", 191 | "52985", 192 | "23468", 193 | "32476", 194 | "8068" 195 | ] 196 | }, 197 | "google": { 198 | "org_id": [ 199 | "@aut-45566-APNIC", 200 | "GF-ARIN", 201 | "GOGL-ARIN", 202 | "GOOGL-1-ARIN", 203 | "GOOGL-ARIN", 204 | "ORG-GKL1-AFRINIC", 205 | "ORG-GSG10-RIPE" 206 | ], 207 | "asns": [ 208 | "19448", 209 | "36384", 210 | "41264", 211 | "15169", 212 | "36987", 213 | "45566", 214 | "16591", 215 | "36040", 216 | "36039", 217 | "36385", 218 | "36492", 219 | "22859", 220 | "22577" 221 | ] 222 | }, 223 | "alibaba": { 224 | "org_id": [ 225 | "@family-20820" 226 | ], 227 | "asns": [ 228 | "45102", 229 | "38369", 230 | "45096", 231 | "45104", 232 | "24429", 233 | "37963", 234 | "45108", 235 | "45103" 236 | ] 237 | }, 238 | "akamai": { 239 | "org_id": [ 240 | "@family-5626", 241 | "AKAMAI-ARIN", 242 | "ORG-AT1-RIPE" 243 | ], 244 | "asns": [ 245 | "55770", 246 | "36183", 247 | "20189", 248 | "12222", 249 | "393560", 250 | "21342", 251 | "35994", 252 | "31109", 253 | "31107", 254 | "21357", 255 | "34850", 256 | "24319", 257 | "17334", 258 | "21399", 259 | "23455", 260 | "16625", 261 | "30675", 262 | "22207", 263 | "39836", 264 | "31108", 265 | "31110", 266 | "23454", 267 | "18680", 268 | "20940", 269 | "35204", 270 | "23903", 271 | "48163", 272 | "43639", 273 | "16702", 274 | "18717", 275 | "33905", 276 | "31377", 277 | "34164", 278 | "35993" 279 | ] 280 | }, 281 | "apple": { 282 | "org_id": [ 283 | "APPLEC-1-Z-ARIN" 284 | ], 285 | "asns": [ 286 | "714", 287 | "2709", 288 | "6185" 289 | ] 290 | }, 291 | "bitgravity": { 292 | "org_id": [ 293 | "BITGR-ARIN" 294 | ], 295 | "asns": [ 296 | "40009" 297 | ] 298 | }, 299 | "cachefly": { 300 | "org_id": [ 301 | "CACHE-ARIN" 302 | ], 303 | "asns": [ 304 | "30081" 305 | ] 306 | }, 307 | "disney": { 308 | "org_id": [ 309 | "DISNE-7-ARIN", 310 | "DO-19-ARIN", 311 | "DWS-ARIN" 312 | ], 313 | "asns": [ 314 | "23344", 315 | "11812", 316 | "46557", 317 | "40051", 318 | "13379", 319 | "25932", 320 | "54330", 321 | "29736", 322 | "15260", 323 | "62787", 324 | "30311", 325 | "8137", 326 | "53578" 327 | ] 328 | }, 329 | "facebook": { 330 | "org_id": [ 331 | "FACEB-1-ARIN", 332 | "THEFA-3-ARIN" 333 | ], 334 | "asns": [ 335 | "32934", 336 | "54115" 337 | ] 338 | }, 339 | "highwinds": { 340 | "org_id": [ 341 | "HNG-3-ARIN" 342 | ], 343 | "asns": [ 344 | "11588", 345 | "20446", 346 | "29798", 347 | "33438", 348 | "18607" 349 | ] 350 | }, 351 | "hulu": { 352 | "org_id": [ 353 | "HULUL-ARIN" 354 | ], 355 | "asns": [ 356 | "23286" 357 | ] 358 | }, 359 | "incapsula": { 360 | "org_id": [ 361 | "INCAP-5-ARIN" 362 | ], 363 | "asns": [ 364 | "19551" 365 | ] 366 | }, 367 | "netflix": { 368 | "org_id": [ 369 | "NETFL-13-ARIN", 370 | "SS-144-ARIN" 371 | ], 372 | "asns": [ 373 | "55095", 374 | "40027", 375 | "2906" 376 | ] 377 | }, 378 | "cdn77": { 379 | "org_id": [ 380 | "ORG-DL201-RIPE" 381 | ], 382 | "asns": [ 383 | "60068" 384 | ] 385 | }, 386 | "fastly": { 387 | "org_id": [ 388 | "SKYCA-3-ARIN" 389 | ], 390 | "asns": [ 391 | "54113" 392 | ] 393 | }, 394 | "twitter": { 395 | "org_id": [ 396 | "TWITT-ARIN" 397 | ], 398 | "asns": [ 399 | "54888", 400 | "35995", 401 | "13414" 402 | ] 403 | } 404 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2015_01_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-39111-RIPE", 8 | "@aut-58588-APNIC", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "58588", 17 | "9059", 18 | "10124", 19 | "38895", 20 | "8987", 21 | "16509", 22 | "17493", 23 | "14618" 24 | ] 25 | }, 26 | "yahoo": { 27 | "org_id": [ 28 | "@aut-10157-APNIC", 29 | "@aut-24236-APNIC", 30 | "@aut-24506-APNIC", 31 | "@aut-24572-APNIC", 32 | "@aut-28122-LACNIC", 33 | "@aut-38689-APNIC", 34 | "@aut-45501-APNIC", 35 | "@aut-45502-APNIC", 36 | "@family-1247", 37 | "@family-20528", 38 | "ORG-YE1-RIPE", 39 | "YAHO-ARIN", 40 | "YAHOO-1-ARIN", 41 | "YAOO-ARIN", 42 | "YHOO-ARIN" 43 | ], 44 | "asns": [ 45 | "45915", 46 | "36646", 47 | "393245", 48 | "36647", 49 | "10157", 50 | "14678", 51 | "28122", 52 | "34082", 53 | "131898", 54 | "38072", 55 | "26101", 56 | "32116", 57 | "36088", 58 | "7488", 59 | "10310", 60 | "15635", 61 | "45502", 62 | "24572", 63 | "2554", 64 | "40986", 65 | "22565", 66 | "7280", 67 | "14196", 68 | "36752", 69 | "10880", 70 | "24296", 71 | "4694", 72 | "2521", 73 | "5779", 74 | "26085", 75 | "4197", 76 | "23816", 77 | "17110", 78 | "38045", 79 | "45863", 80 | "55898", 81 | "24236", 82 | "36229", 83 | "24506", 84 | "34010", 85 | "38689", 86 | "42173", 87 | "18140", 88 | "43428", 89 | "4681", 90 | "45501", 91 | "36129", 92 | "23663", 93 | "7233", 94 | "15896" 95 | ] 96 | }, 97 | "cloudflare": { 98 | "org_id": [ 99 | "@aut-132892-APNIC", 100 | "@aut-133877-APNIC", 101 | "CLOUD14-ARIN" 102 | ], 103 | "asns": [ 104 | "132892", 105 | "133877", 106 | "13335" 107 | ] 108 | }, 109 | "chinacache": { 110 | "org_id": [ 111 | "@aut-37958-APNIC" 112 | ], 113 | "asns": [ 114 | "37958", 115 | "58856" 116 | ] 117 | }, 118 | "cdnetworks": { 119 | "org_id": [ 120 | "@aut-38107-APNIC", 121 | "CDNET-ARIN", 122 | "ORG-PEC1-RIPE" 123 | ], 124 | "asns": [ 125 | "43303", 126 | "36408", 127 | "40366", 128 | "38107" 129 | ] 130 | }, 131 | "limelight": { 132 | "org_id": [ 133 | "@aut-38621-APNIC", 134 | "@aut-45396-APNIC", 135 | "@aut-55429-APNIC", 136 | "LLNW-ARIN", 137 | "ORG-LN1-AFRINIC", 138 | "ORG-LNI1-RIPE" 139 | ], 140 | "asns": [ 141 | "37277", 142 | "55429", 143 | "60261", 144 | "23135", 145 | "23164", 146 | "12411", 147 | "25804", 148 | "45396", 149 | "26506", 150 | "23059", 151 | "22822", 152 | "38622", 153 | "27191", 154 | "38621" 155 | ] 156 | }, 157 | "microsoft": { 158 | "org_id": [ 159 | "@aut-45139-APNIC", 160 | "@aut-52985-LACNIC", 161 | "@aut-58593-APNIC", 162 | "@aut-58862-APNIC", 163 | "MSFT-ARIN", 164 | "ORG-MA42-RIPE" 165 | ], 166 | "asns": [ 167 | "58862", 168 | "8075", 169 | "14719", 170 | "36006", 171 | "6291", 172 | "8069", 173 | "8072", 174 | "13399", 175 | "8074", 176 | "63314", 177 | "45139", 178 | "6182", 179 | "35106", 180 | "6194", 181 | "3598", 182 | "26222", 183 | "20046", 184 | "8071", 185 | "8073", 186 | "30575", 187 | "40066", 188 | "5761", 189 | "13811", 190 | "25796", 191 | "8070", 192 | "6584", 193 | "30135", 194 | "58593", 195 | "52985", 196 | "23468", 197 | "32476", 198 | "8068" 199 | ] 200 | }, 201 | "google": { 202 | "org_id": [ 203 | "@aut-45566-APNIC", 204 | "GF-ARIN", 205 | "GOGL-ARIN", 206 | "GOOGL-1-ARIN", 207 | "GOOGL-ARIN", 208 | "ORG-GKL1-AFRINIC", 209 | "ORG-GSG10-RIPE" 210 | ], 211 | "asns": [ 212 | "19448", 213 | "36384", 214 | "41264", 215 | "15169", 216 | "36987", 217 | "45566", 218 | "16591", 219 | "36040", 220 | "36039", 221 | "36385", 222 | "36492", 223 | "22859", 224 | "22577" 225 | ] 226 | }, 227 | "alibaba": { 228 | "org_id": [ 229 | "@family-20922" 230 | ], 231 | "asns": [ 232 | "45102", 233 | "38369", 234 | "45096", 235 | "45104", 236 | "24429", 237 | "37963", 238 | "45108", 239 | "45103" 240 | ] 241 | }, 242 | "akamai": { 243 | "org_id": [ 244 | "@family-5571", 245 | "AKAMAI-ARIN", 246 | "ORG-AT1-RIPE" 247 | ], 248 | "asns": [ 249 | "55770", 250 | "36183", 251 | "20189", 252 | "12222", 253 | "393560", 254 | "21342", 255 | "49846", 256 | "35994", 257 | "31109", 258 | "31107", 259 | "21357", 260 | "34850", 261 | "24319", 262 | "17334", 263 | "21399", 264 | "23455", 265 | "16625", 266 | "30675", 267 | "22207", 268 | "39836", 269 | "31108", 270 | "31110", 271 | "23454", 272 | "18680", 273 | "20940", 274 | "35204", 275 | "23903", 276 | "48163", 277 | "43639", 278 | "16702", 279 | "18717", 280 | "33905", 281 | "31377", 282 | "34164", 283 | "35993", 284 | "45757" 285 | ] 286 | }, 287 | "apple": { 288 | "org_id": [ 289 | "APPLEC-1-Z-ARIN" 290 | ], 291 | "asns": [ 292 | "714", 293 | "2709", 294 | "6185" 295 | ] 296 | }, 297 | "bitgravity": { 298 | "org_id": [ 299 | "BITGR-ARIN" 300 | ], 301 | "asns": [ 302 | "40009" 303 | ] 304 | }, 305 | "cachefly": { 306 | "org_id": [ 307 | "CACHE-ARIN" 308 | ], 309 | "asns": [ 310 | "30081" 311 | ] 312 | }, 313 | "disney": { 314 | "org_id": [ 315 | "DISNE-7-ARIN", 316 | "DO-19-ARIN", 317 | "DWS-ARIN" 318 | ], 319 | "asns": [ 320 | "23344", 321 | "11812", 322 | "46557", 323 | "40051", 324 | "13379", 325 | "25932", 326 | "54330", 327 | "29736", 328 | "15260", 329 | "62787", 330 | "30311", 331 | "8137", 332 | "53578" 333 | ] 334 | }, 335 | "facebook": { 336 | "org_id": [ 337 | "FACEB-1-ARIN", 338 | "THEFA-3-ARIN" 339 | ], 340 | "asns": [ 341 | "32934", 342 | "54115", 343 | "63293" 344 | ] 345 | }, 346 | "highwinds": { 347 | "org_id": [ 348 | "HNG-3-ARIN" 349 | ], 350 | "asns": [ 351 | "11588", 352 | "20446", 353 | "29798", 354 | "33438", 355 | "18607" 356 | ] 357 | }, 358 | "hulu": { 359 | "org_id": [ 360 | "HULUL-ARIN" 361 | ], 362 | "asns": [ 363 | "23286" 364 | ] 365 | }, 366 | "incapsula": { 367 | "org_id": [ 368 | "INCAP-5-ARIN" 369 | ], 370 | "asns": [ 371 | "19551" 372 | ] 373 | }, 374 | "netflix": { 375 | "org_id": [ 376 | "NETFL-13-ARIN", 377 | "SS-144-ARIN" 378 | ], 379 | "asns": [ 380 | "55095", 381 | "40027", 382 | "2906" 383 | ] 384 | }, 385 | "cdn77": { 386 | "org_id": [ 387 | "ORG-DL201-RIPE" 388 | ], 389 | "asns": [ 390 | "60068" 391 | ] 392 | }, 393 | "fastly": { 394 | "org_id": [ 395 | "SKYCA-3-ARIN" 396 | ], 397 | "asns": [ 398 | "54113" 399 | ] 400 | }, 401 | "twitter": { 402 | "org_id": [ 403 | "TWITT-ARIN" 404 | ], 405 | "asns": [ 406 | "54888", 407 | "35995", 408 | "13414" 409 | ] 410 | } 411 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2015_04_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "62785", 17 | "58588", 18 | "9059", 19 | "10124", 20 | "38895", 21 | "8987", 22 | "16509", 23 | "17493", 24 | "14618" 25 | ] 26 | }, 27 | "yahoo": { 28 | "org_id": [ 29 | "@aut-10157-APNIC", 30 | "@aut-24236-APNIC", 31 | "@aut-24506-APNIC", 32 | "@aut-24572-APNIC", 33 | "@aut-28122-LACNIC", 34 | "@aut-38689-APNIC", 35 | "@aut-45501-APNIC", 36 | "@aut-45502-APNIC", 37 | "@family-1371", 38 | "@family-25269", 39 | "ORG-YE1-RIPE", 40 | "YAHO-ARIN", 41 | "YAHOO-1-ARIN", 42 | "YAOO-ARIN", 43 | "YHOO-ARIN" 44 | ], 45 | "asns": [ 46 | "45915", 47 | "36646", 48 | "393245", 49 | "36647", 50 | "10157", 51 | "14678", 52 | "28122", 53 | "34082", 54 | "131898", 55 | "38072", 56 | "26101", 57 | "32116", 58 | "36088", 59 | "7488", 60 | "10310", 61 | "15635", 62 | "45502", 63 | "24572", 64 | "2554", 65 | "40986", 66 | "22565", 67 | "7280", 68 | "14196", 69 | "36752", 70 | "10880", 71 | "24296", 72 | "4694", 73 | "2521", 74 | "5779", 75 | "26085", 76 | "4197", 77 | "23816", 78 | "17110", 79 | "38045", 80 | "45863", 81 | "55898", 82 | "24236", 83 | "36229", 84 | "24506", 85 | "34010", 86 | "38689", 87 | "42173", 88 | "18140", 89 | "43428", 90 | "4681", 91 | "45501", 92 | "36129", 93 | "23663", 94 | "7233", 95 | "15896" 96 | ] 97 | }, 98 | "cloudflare": { 99 | "org_id": [ 100 | "@aut-132892-APNIC", 101 | "@aut-133877-APNIC", 102 | "CLOUD14-ARIN" 103 | ], 104 | "asns": [ 105 | "132892", 106 | "133877", 107 | "13335" 108 | ] 109 | }, 110 | "chinacache": { 111 | "org_id": [ 112 | "@aut-37958-APNIC" 113 | ], 114 | "asns": [ 115 | "37958", 116 | "58856" 117 | ] 118 | }, 119 | "cdnetworks": { 120 | "org_id": [ 121 | "@aut-38107-APNIC", 122 | "CDNET-ARIN", 123 | "ORG-PEC1-RIPE" 124 | ], 125 | "asns": [ 126 | "43303", 127 | "36408", 128 | "40366", 129 | "38107" 130 | ] 131 | }, 132 | "microsoft": { 133 | "org_id": [ 134 | "@aut-45139-APNIC", 135 | "@aut-52985-LACNIC", 136 | "@aut-58593-APNIC", 137 | "@aut-58862-APNIC", 138 | "MSFT-ARIN", 139 | "ORG-MA42-RIPE", 140 | "ORG-MDMG3-RIPE" 141 | ], 142 | "asns": [ 143 | "58862", 144 | "8075", 145 | "14719", 146 | "36006", 147 | "6291", 148 | "8069", 149 | "8072", 150 | "13399", 151 | "8074", 152 | "63314", 153 | "45139", 154 | "6182", 155 | "35106", 156 | "6194", 157 | "3598", 158 | "26222", 159 | "20046", 160 | "8071", 161 | "8073", 162 | "30575", 163 | "40066", 164 | "5761", 165 | "13811", 166 | "25796", 167 | "8070", 168 | "6584", 169 | "30135", 170 | "58593", 171 | "12076", 172 | "52985", 173 | "23468", 174 | "200517", 175 | "32476", 176 | "8068" 177 | ] 178 | }, 179 | "limelight": { 180 | "org_id": [ 181 | "@aut-45396-APNIC", 182 | "@family-18959", 183 | "LLNW-ARIN", 184 | "ORG-LN1-AFRINIC", 185 | "ORG-LNI1-RIPE" 186 | ], 187 | "asns": [ 188 | "37277", 189 | "55429", 190 | "60261", 191 | "23135", 192 | "23164", 193 | "12411", 194 | "25804", 195 | "45396", 196 | "26506", 197 | "23059", 198 | "22822", 199 | "38622", 200 | "27191", 201 | "38621" 202 | ] 203 | }, 204 | "google": { 205 | "org_id": [ 206 | "@aut-45566-APNIC", 207 | "GF-ARIN", 208 | "GOGL-ARIN", 209 | "GOOGL-1-ARIN", 210 | "GOOGL-ARIN", 211 | "ORG-GIL4-RIPE", 212 | "ORG-GKL1-AFRINIC", 213 | "ORG-GSG10-RIPE" 214 | ], 215 | "asns": [ 216 | "19448", 217 | "43515", 218 | "36384", 219 | "41264", 220 | "15169", 221 | "36987", 222 | "45566", 223 | "16591", 224 | "36040", 225 | "36039", 226 | "36385", 227 | "36492", 228 | "22859", 229 | "22577" 230 | ] 231 | }, 232 | "alibaba": { 233 | "org_id": [ 234 | "@family-5593" 235 | ], 236 | "asns": [ 237 | "45102", 238 | "38369", 239 | "45096", 240 | "45104", 241 | "24429", 242 | "37963", 243 | "45108", 244 | "45103" 245 | ] 246 | }, 247 | "akamai": { 248 | "org_id": [ 249 | "@family-6149", 250 | "AKAMAI-ARIN", 251 | "ORG-AT1-RIPE" 252 | ], 253 | "asns": [ 254 | "55770", 255 | "36183", 256 | "20189", 257 | "12222", 258 | "393560", 259 | "21342", 260 | "32787", 261 | "49846", 262 | "35994", 263 | "31109", 264 | "31107", 265 | "21357", 266 | "34850", 267 | "24319", 268 | "17334", 269 | "21399", 270 | "23455", 271 | "393234", 272 | "16625", 273 | "30675", 274 | "22207", 275 | "39836", 276 | "31108", 277 | "31110", 278 | "23454", 279 | "18680", 280 | "20940", 281 | "35204", 282 | "23903", 283 | "48163", 284 | "43639", 285 | "16702", 286 | "18717", 287 | "33905", 288 | "31377", 289 | "34164", 290 | "35993", 291 | "45757" 292 | ] 293 | }, 294 | "apple": { 295 | "org_id": [ 296 | "APPLEC-1-Z-ARIN" 297 | ], 298 | "asns": [ 299 | "714", 300 | "2709", 301 | "6185" 302 | ] 303 | }, 304 | "bitgravity": { 305 | "org_id": [ 306 | "BITGR-ARIN" 307 | ], 308 | "asns": [ 309 | "40009" 310 | ] 311 | }, 312 | "cachefly": { 313 | "org_id": [ 314 | "CACHE-ARIN" 315 | ], 316 | "asns": [ 317 | "30081" 318 | ] 319 | }, 320 | "disney": { 321 | "org_id": [ 322 | "DISNE-7-ARIN", 323 | "DO-19-ARIN", 324 | "DWS-ARIN" 325 | ], 326 | "asns": [ 327 | "23344", 328 | "11812", 329 | "46557", 330 | "40051", 331 | "13379", 332 | "25932", 333 | "54330", 334 | "29736", 335 | "15260", 336 | "62787", 337 | "30311", 338 | "8137", 339 | "53578" 340 | ] 341 | }, 342 | "facebook": { 343 | "org_id": [ 344 | "FACEB-1-ARIN", 345 | "THEFA-3-ARIN" 346 | ], 347 | "asns": [ 348 | "32934", 349 | "54115", 350 | "63293" 351 | ] 352 | }, 353 | "highwinds": { 354 | "org_id": [ 355 | "HNG-3-ARIN" 356 | ], 357 | "asns": [ 358 | "11588", 359 | "20446", 360 | "29798", 361 | "33438", 362 | "18607" 363 | ] 364 | }, 365 | "hulu": { 366 | "org_id": [ 367 | "HULUL-ARIN" 368 | ], 369 | "asns": [ 370 | "23286" 371 | ] 372 | }, 373 | "incapsula": { 374 | "org_id": [ 375 | "INCAP-5-ARIN" 376 | ], 377 | "asns": [ 378 | "19551" 379 | ] 380 | }, 381 | "netflix": { 382 | "org_id": [ 383 | "NETFL-13-ARIN", 384 | "SS-144-ARIN" 385 | ], 386 | "asns": [ 387 | "55095", 388 | "40027", 389 | "2906" 390 | ] 391 | }, 392 | "cdn77": { 393 | "org_id": [ 394 | "ORG-DL201-RIPE" 395 | ], 396 | "asns": [ 397 | "60068" 398 | ] 399 | }, 400 | "fastly": { 401 | "org_id": [ 402 | "SKYCA-3-ARIN" 403 | ], 404 | "asns": [ 405 | "54113" 406 | ] 407 | }, 408 | "twitter": { 409 | "org_id": [ 410 | "TWITT-ARIN" 411 | ], 412 | "asns": [ 413 | "54888", 414 | "35995", 415 | "13414" 416 | ] 417 | } 418 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2015_07_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "62785", 17 | "58588", 18 | "9059", 19 | "10124", 20 | "38895", 21 | "8987", 22 | "16509", 23 | "17493", 24 | "14618" 25 | ] 26 | }, 27 | "yahoo": { 28 | "org_id": [ 29 | "@aut-10157-APNIC", 30 | "@aut-24236-APNIC", 31 | "@aut-24506-APNIC", 32 | "@aut-24572-APNIC", 33 | "@aut-28122-LACNIC", 34 | "@aut-38689-APNIC", 35 | "@aut-45501-APNIC", 36 | "@aut-45502-APNIC", 37 | "@family-1371", 38 | "@family-25269", 39 | "ORG-YE1-RIPE", 40 | "YAHO-ARIN", 41 | "YAHOO-1-ARIN", 42 | "YAOO-ARIN", 43 | "YHOO-ARIN" 44 | ], 45 | "asns": [ 46 | "45915", 47 | "36646", 48 | "393245", 49 | "36647", 50 | "10157", 51 | "14678", 52 | "28122", 53 | "34082", 54 | "131898", 55 | "38072", 56 | "26101", 57 | "32116", 58 | "36088", 59 | "7488", 60 | "10310", 61 | "15635", 62 | "45502", 63 | "24572", 64 | "2554", 65 | "40986", 66 | "22565", 67 | "7280", 68 | "14196", 69 | "36752", 70 | "10880", 71 | "24296", 72 | "4694", 73 | "2521", 74 | "5779", 75 | "26085", 76 | "4197", 77 | "23816", 78 | "17110", 79 | "38045", 80 | "45863", 81 | "55898", 82 | "24236", 83 | "36229", 84 | "24506", 85 | "34010", 86 | "38689", 87 | "42173", 88 | "18140", 89 | "43428", 90 | "4681", 91 | "45501", 92 | "36129", 93 | "23663", 94 | "7233", 95 | "15896" 96 | ] 97 | }, 98 | "cloudflare": { 99 | "org_id": [ 100 | "@aut-132892-APNIC", 101 | "@aut-133877-APNIC", 102 | "CLOUD14-ARIN" 103 | ], 104 | "asns": [ 105 | "132892", 106 | "133877", 107 | "13335" 108 | ] 109 | }, 110 | "chinacache": { 111 | "org_id": [ 112 | "@aut-37958-APNIC" 113 | ], 114 | "asns": [ 115 | "37958", 116 | "58856" 117 | ] 118 | }, 119 | "cdnetworks": { 120 | "org_id": [ 121 | "@aut-38107-APNIC", 122 | "CDNET-ARIN", 123 | "ORG-PEC1-RIPE" 124 | ], 125 | "asns": [ 126 | "43303", 127 | "36408", 128 | "40366", 129 | "38107" 130 | ] 131 | }, 132 | "microsoft": { 133 | "org_id": [ 134 | "@aut-45139-APNIC", 135 | "@aut-52985-LACNIC", 136 | "@aut-58593-APNIC", 137 | "@aut-58862-APNIC", 138 | "MSFT-ARIN", 139 | "ORG-MA42-RIPE", 140 | "ORG-MDMG3-RIPE" 141 | ], 142 | "asns": [ 143 | "58862", 144 | "8075", 145 | "14719", 146 | "36006", 147 | "6291", 148 | "8069", 149 | "8072", 150 | "13399", 151 | "8074", 152 | "63314", 153 | "45139", 154 | "6182", 155 | "35106", 156 | "6194", 157 | "3598", 158 | "26222", 159 | "20046", 160 | "8071", 161 | "8073", 162 | "30575", 163 | "40066", 164 | "5761", 165 | "13811", 166 | "25796", 167 | "8070", 168 | "6584", 169 | "30135", 170 | "58593", 171 | "12076", 172 | "52985", 173 | "23468", 174 | "200517", 175 | "32476", 176 | "8068" 177 | ] 178 | }, 179 | "limelight": { 180 | "org_id": [ 181 | "@aut-45396-APNIC", 182 | "@family-18959", 183 | "LLNW-ARIN", 184 | "ORG-LN1-AFRINIC", 185 | "ORG-LNI1-RIPE" 186 | ], 187 | "asns": [ 188 | "37277", 189 | "55429", 190 | "60261", 191 | "23135", 192 | "23164", 193 | "12411", 194 | "25804", 195 | "45396", 196 | "26506", 197 | "23059", 198 | "22822", 199 | "38622", 200 | "27191", 201 | "38621" 202 | ] 203 | }, 204 | "google": { 205 | "org_id": [ 206 | "@aut-45566-APNIC", 207 | "GF-ARIN", 208 | "GOGL-ARIN", 209 | "GOOGL-1-ARIN", 210 | "GOOGL-ARIN", 211 | "ORG-GIL4-RIPE", 212 | "ORG-GKL1-AFRINIC", 213 | "ORG-GSG10-RIPE" 214 | ], 215 | "asns": [ 216 | "19448", 217 | "43515", 218 | "36384", 219 | "41264", 220 | "15169", 221 | "36987", 222 | "45566", 223 | "16591", 224 | "36040", 225 | "36039", 226 | "36385", 227 | "36492", 228 | "22859", 229 | "22577" 230 | ] 231 | }, 232 | "alibaba": { 233 | "org_id": [ 234 | "@family-5593" 235 | ], 236 | "asns": [ 237 | "45102", 238 | "38369", 239 | "45096", 240 | "45104", 241 | "24429", 242 | "37963", 243 | "45108", 244 | "45103" 245 | ] 246 | }, 247 | "akamai": { 248 | "org_id": [ 249 | "@family-6149", 250 | "AKAMAI-ARIN", 251 | "ORG-AT1-RIPE" 252 | ], 253 | "asns": [ 254 | "55770", 255 | "36183", 256 | "20189", 257 | "12222", 258 | "393560", 259 | "21342", 260 | "32787", 261 | "49846", 262 | "35994", 263 | "31109", 264 | "31107", 265 | "21357", 266 | "34850", 267 | "24319", 268 | "17334", 269 | "21399", 270 | "23455", 271 | "393234", 272 | "16625", 273 | "30675", 274 | "22207", 275 | "39836", 276 | "31108", 277 | "31110", 278 | "23454", 279 | "18680", 280 | "20940", 281 | "35204", 282 | "23903", 283 | "48163", 284 | "43639", 285 | "16702", 286 | "18717", 287 | "33905", 288 | "31377", 289 | "34164", 290 | "35993", 291 | "45757" 292 | ] 293 | }, 294 | "apple": { 295 | "org_id": [ 296 | "APPLEC-1-Z-ARIN" 297 | ], 298 | "asns": [ 299 | "714", 300 | "2709", 301 | "6185" 302 | ] 303 | }, 304 | "bitgravity": { 305 | "org_id": [ 306 | "BITGR-ARIN" 307 | ], 308 | "asns": [ 309 | "40009" 310 | ] 311 | }, 312 | "cachefly": { 313 | "org_id": [ 314 | "CACHE-ARIN" 315 | ], 316 | "asns": [ 317 | "30081" 318 | ] 319 | }, 320 | "disney": { 321 | "org_id": [ 322 | "DISNE-7-ARIN", 323 | "DO-19-ARIN", 324 | "DWS-ARIN" 325 | ], 326 | "asns": [ 327 | "23344", 328 | "11812", 329 | "46557", 330 | "40051", 331 | "13379", 332 | "25932", 333 | "54330", 334 | "29736", 335 | "15260", 336 | "62787", 337 | "30311", 338 | "8137", 339 | "53578" 340 | ] 341 | }, 342 | "facebook": { 343 | "org_id": [ 344 | "FACEB-1-ARIN", 345 | "THEFA-3-ARIN" 346 | ], 347 | "asns": [ 348 | "32934", 349 | "54115", 350 | "63293" 351 | ] 352 | }, 353 | "highwinds": { 354 | "org_id": [ 355 | "HNG-3-ARIN" 356 | ], 357 | "asns": [ 358 | "11588", 359 | "20446", 360 | "29798", 361 | "33438", 362 | "18607" 363 | ] 364 | }, 365 | "hulu": { 366 | "org_id": [ 367 | "HULUL-ARIN" 368 | ], 369 | "asns": [ 370 | "23286" 371 | ] 372 | }, 373 | "incapsula": { 374 | "org_id": [ 375 | "INCAP-5-ARIN" 376 | ], 377 | "asns": [ 378 | "19551" 379 | ] 380 | }, 381 | "netflix": { 382 | "org_id": [ 383 | "NETFL-13-ARIN", 384 | "SS-144-ARIN" 385 | ], 386 | "asns": [ 387 | "55095", 388 | "40027", 389 | "2906" 390 | ] 391 | }, 392 | "cdn77": { 393 | "org_id": [ 394 | "ORG-DL201-RIPE" 395 | ], 396 | "asns": [ 397 | "60068" 398 | ] 399 | }, 400 | "fastly": { 401 | "org_id": [ 402 | "SKYCA-3-ARIN" 403 | ], 404 | "asns": [ 405 | "54113" 406 | ] 407 | }, 408 | "twitter": { 409 | "org_id": [ 410 | "TWITT-ARIN" 411 | ], 412 | "asns": [ 413 | "54888", 414 | "35995", 415 | "13414" 416 | ] 417 | } 418 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2015_10_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "62785", 17 | "58588", 18 | "9059", 19 | "10124", 20 | "38895", 21 | "8987", 22 | "16509", 23 | "17493", 24 | "14618" 25 | ] 26 | }, 27 | "cloudflare": { 28 | "org_id": [ 29 | "@aut-132892-APNIC", 30 | "@aut-133877-APNIC", 31 | "CLOUD14-ARIN" 32 | ], 33 | "asns": [ 34 | "132892", 35 | "133877", 36 | "13335" 37 | ] 38 | }, 39 | "yahoo": { 40 | "org_id": [ 41 | "@aut-24572-APNIC", 42 | "@aut-28122-LACNIC", 43 | "@aut-45501-APNIC", 44 | "@aut-45502-APNIC", 45 | "@family-27152", 46 | "@family-33206", 47 | "@family-43682", 48 | "ORG-YE1-RIPE", 49 | "YAHO-ARIN", 50 | "YAHOO-1-ARIN", 51 | "YAOO-ARIN", 52 | "YHOO-ARIN" 53 | ], 54 | "asns": [ 55 | "45915", 56 | "36646", 57 | "393245", 58 | "36647", 59 | "14678", 60 | "28122", 61 | "34082", 62 | "38072", 63 | "26101", 64 | "32116", 65 | "36088", 66 | "10310", 67 | "15635", 68 | "45502", 69 | "24572", 70 | "204000", 71 | "40986", 72 | "22565", 73 | "7280", 74 | "14196", 75 | "36752", 76 | "10880", 77 | "5779", 78 | "26085", 79 | "45863", 80 | "17110", 81 | "38045", 82 | "24236", 83 | "36229", 84 | "24506", 85 | "34010", 86 | "42173", 87 | "43428", 88 | "45501", 89 | "36129", 90 | "23663", 91 | "7233", 92 | "15896" 93 | ] 94 | }, 95 | "cdnetworks": { 96 | "org_id": [ 97 | "@aut-38107-APNIC", 98 | "CDNET-ARIN", 99 | "ORG-PEC1-RIPE" 100 | ], 101 | "asns": [ 102 | "43303", 103 | "36408", 104 | "40366", 105 | "38107" 106 | ] 107 | }, 108 | "microsoft": { 109 | "org_id": [ 110 | "@aut-45139-APNIC", 111 | "@aut-52985-LACNIC", 112 | "@aut-58593-APNIC", 113 | "@aut-58862-APNIC", 114 | "MSFT-ARIN", 115 | "ORG-MA42-RIPE", 116 | "ORG-MDMG3-RIPE" 117 | ], 118 | "asns": [ 119 | "58862", 120 | "8075", 121 | "14719", 122 | "36006", 123 | "6291", 124 | "8069", 125 | "8072", 126 | "13399", 127 | "8074", 128 | "63314", 129 | "45139", 130 | "6182", 131 | "35106", 132 | "6194", 133 | "3598", 134 | "26222", 135 | "20046", 136 | "8071", 137 | "8073", 138 | "30575", 139 | "40066", 140 | "5761", 141 | "13811", 142 | "25796", 143 | "8070", 144 | "6584", 145 | "30135", 146 | "58593", 147 | "12076", 148 | "52985", 149 | "23468", 150 | "200517", 151 | "32476", 152 | "8068" 153 | ] 154 | }, 155 | "limelight": { 156 | "org_id": [ 157 | "@aut-45396-APNIC", 158 | "@family-18702", 159 | "LLNW-ARIN", 160 | "ORG-LN1-AFRINIC", 161 | "ORG-LNI1-RIPE" 162 | ], 163 | "asns": [ 164 | "37277", 165 | "55429", 166 | "60261", 167 | "23135", 168 | "23164", 169 | "12411", 170 | "25804", 171 | "45396", 172 | "26506", 173 | "23059", 174 | "22822", 175 | "38622", 176 | "27191", 177 | "38621" 178 | ] 179 | }, 180 | "google": { 181 | "org_id": [ 182 | "@aut-45566-APNIC", 183 | "GF-ARIN", 184 | "GOGL-ARIN", 185 | "GOOGL-1-ARIN", 186 | "GOOGL-9-ARIN", 187 | "GOOGL-ARIN", 188 | "ORG-GIL4-RIPE", 189 | "ORG-GKL1-AFRINIC", 190 | "ORG-GSG10-RIPE" 191 | ], 192 | "asns": [ 193 | "19448", 194 | "43515", 195 | "36384", 196 | "41264", 197 | "15169", 198 | "36987", 199 | "45566", 200 | "16591", 201 | "36040", 202 | "36039", 203 | "36385", 204 | "394507", 205 | "36492", 206 | "22859", 207 | "22577" 208 | ] 209 | }, 210 | "chinacache": { 211 | "org_id": [ 212 | "@family-11755" 213 | ], 214 | "asns": [ 215 | "37958", 216 | "63543", 217 | "45098", 218 | "63541", 219 | "58856", 220 | "63542" 221 | ] 222 | }, 223 | "akamai": { 224 | "org_id": [ 225 | "@family-18472", 226 | "AKAMAI-ARIN", 227 | "ORG-AT1-RIPE" 228 | ], 229 | "asns": [ 230 | "55770", 231 | "36183", 232 | "20189", 233 | "12222", 234 | "393560", 235 | "21342", 236 | "32787", 237 | "49846", 238 | "35994", 239 | "31109", 240 | "31107", 241 | "21357", 242 | "34850", 243 | "24319", 244 | "17334", 245 | "21399", 246 | "23455", 247 | "393234", 248 | "16625", 249 | "30675", 250 | "22207", 251 | "39836", 252 | "31108", 253 | "31110", 254 | "23454", 255 | "18680", 256 | "20940", 257 | "35204", 258 | "23903", 259 | "48163", 260 | "43639", 261 | "16702", 262 | "18717", 263 | "33905", 264 | "31377", 265 | "34164", 266 | "35993", 267 | "45757" 268 | ] 269 | }, 270 | "alibaba": { 271 | "org_id": [ 272 | "@family-27654" 273 | ], 274 | "asns": [ 275 | "45102", 276 | "38369", 277 | "45096", 278 | "45104", 279 | "24429", 280 | "37963", 281 | "45108", 282 | "45103" 283 | ] 284 | }, 285 | "apple": { 286 | "org_id": [ 287 | "APPLEC-1-Z-ARIN" 288 | ], 289 | "asns": [ 290 | "714", 291 | "2709", 292 | "6185" 293 | ] 294 | }, 295 | "bitgravity": { 296 | "org_id": [ 297 | "BITGR-ARIN" 298 | ], 299 | "asns": [ 300 | "40009" 301 | ] 302 | }, 303 | "cachefly": { 304 | "org_id": [ 305 | "CACHE-ARIN" 306 | ], 307 | "asns": [ 308 | "30081" 309 | ] 310 | }, 311 | "disney": { 312 | "org_id": [ 313 | "DISNE-7-ARIN", 314 | "DO-19-ARIN", 315 | "DWS-ARIN" 316 | ], 317 | "asns": [ 318 | "23344", 319 | "11812", 320 | "46557", 321 | "40051", 322 | "13379", 323 | "25932", 324 | "54330", 325 | "29736", 326 | "15260", 327 | "62787", 328 | "30311", 329 | "8137", 330 | "53578" 331 | ] 332 | }, 333 | "facebook": { 334 | "org_id": [ 335 | "FACEB-1-ARIN", 336 | "THEFA-3-ARIN" 337 | ], 338 | "asns": [ 339 | "32934", 340 | "54115", 341 | "63293" 342 | ] 343 | }, 344 | "highwinds": { 345 | "org_id": [ 346 | "HNG-3-ARIN" 347 | ], 348 | "asns": [ 349 | "11588", 350 | "20446", 351 | "29798", 352 | "33438", 353 | "18607" 354 | ] 355 | }, 356 | "hulu": { 357 | "org_id": [ 358 | "HULUL-ARIN" 359 | ], 360 | "asns": [ 361 | "23286" 362 | ] 363 | }, 364 | "incapsula": { 365 | "org_id": [ 366 | "INCAP-5-ARIN" 367 | ], 368 | "asns": [ 369 | "19551" 370 | ] 371 | }, 372 | "netflix": { 373 | "org_id": [ 374 | "NETFL-13-ARIN", 375 | "NETFL-31-ARIN", 376 | "SS-144-ARIN" 377 | ], 378 | "asns": [ 379 | "394406", 380 | "55095", 381 | "40027", 382 | "2906" 383 | ] 384 | }, 385 | "cdn77": { 386 | "org_id": [ 387 | "ORG-DL201-RIPE" 388 | ], 389 | "asns": [ 390 | "60068" 391 | ] 392 | }, 393 | "fastly": { 394 | "org_id": [ 395 | "SKYCA-3-ARIN" 396 | ], 397 | "asns": [ 398 | "394192", 399 | "54113" 400 | ] 401 | }, 402 | "twitter": { 403 | "org_id": [ 404 | "TWITT-ARIN" 405 | ], 406 | "asns": [ 407 | "54888", 408 | "35995", 409 | "13414" 410 | ] 411 | } 412 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2016_01_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "62785", 17 | "58588", 18 | "9059", 19 | "10124", 20 | "38895", 21 | "8987", 22 | "16509", 23 | "17493", 24 | "14618" 25 | ] 26 | }, 27 | "cloudflare": { 28 | "org_id": [ 29 | "@aut-132892-APNIC", 30 | "@aut-133877-APNIC", 31 | "@family-243" 32 | ], 33 | "asns": [ 34 | "132892", 35 | "133877", 36 | "394536", 37 | "13335", 38 | "203898" 39 | ] 40 | }, 41 | "alibaba": { 42 | "org_id": [ 43 | "@aut-134963-APNIC", 44 | "@family-28976" 45 | ], 46 | "asns": [ 47 | "45102", 48 | "38369", 49 | "45096", 50 | "45104", 51 | "24429", 52 | "37963", 53 | "45108", 54 | "134963", 55 | "45103" 56 | ] 57 | }, 58 | "yahoo": { 59 | "org_id": [ 60 | "@aut-24572-APNIC", 61 | "@aut-28122-LACNIC", 62 | "@aut-45501-APNIC", 63 | "@aut-45502-APNIC", 64 | "@family-10217", 65 | "@family-12312", 66 | "@family-28459", 67 | "@family-34502", 68 | "@family-44968", 69 | "ORG-YE1-RIPE", 70 | "YAHO-ARIN", 71 | "YAHOO-1-ARIN", 72 | "YAOO-ARIN", 73 | "YHOO-ARIN" 74 | ], 75 | "asns": [ 76 | "45915", 77 | "55517", 78 | "394614", 79 | "36646", 80 | "24376", 81 | "393245", 82 | "36647", 83 | "14678", 84 | "24018", 85 | "24031", 86 | "28122", 87 | "34082", 88 | "38072", 89 | "17457", 90 | "23880", 91 | "26101", 92 | "38032", 93 | "55417", 94 | "32116", 95 | "23879", 96 | "7488", 97 | "36088", 98 | "10310", 99 | "15635", 100 | "45502", 101 | "24572", 102 | "204000", 103 | "10229", 104 | "134706", 105 | "394561", 106 | "2554", 107 | "40986", 108 | "22565", 109 | "7280", 110 | "14196", 111 | "36752", 112 | "10880", 113 | "24296", 114 | "23926", 115 | "4694", 116 | "2521", 117 | "5779", 118 | "56173", 119 | "26085", 120 | "58721", 121 | "4197", 122 | "38033", 123 | "23816", 124 | "17110", 125 | "38045", 126 | "45863", 127 | "55416", 128 | "55898", 129 | "394615", 130 | "10230", 131 | "55418", 132 | "24236", 133 | "36229", 134 | "10228", 135 | "24506", 136 | "34010", 137 | "42173", 138 | "18140", 139 | "58525", 140 | "43428", 141 | "4681", 142 | "45501", 143 | "18293", 144 | "131898", 145 | "36129", 146 | "23663", 147 | "7233", 148 | "15896", 149 | "394560", 150 | "58720" 151 | ] 152 | }, 153 | "cdnetworks": { 154 | "org_id": [ 155 | "@aut-38107-APNIC", 156 | "CDNET-ARIN", 157 | "ORG-PEC1-RIPE" 158 | ], 159 | "asns": [ 160 | "43303", 161 | "36408", 162 | "40366", 163 | "38107" 164 | ] 165 | }, 166 | "microsoft": { 167 | "org_id": [ 168 | "@aut-45139-APNIC", 169 | "@aut-52985-LACNIC", 170 | "@aut-58593-APNIC", 171 | "@aut-58862-APNIC", 172 | "MSFT-ARIN", 173 | "ORG-MA42-RIPE", 174 | "ORG-MDMG3-RIPE" 175 | ], 176 | "asns": [ 177 | "58862", 178 | "8075", 179 | "14719", 180 | "36006", 181 | "6291", 182 | "8069", 183 | "8072", 184 | "13399", 185 | "8074", 186 | "63314", 187 | "45139", 188 | "6182", 189 | "35106", 190 | "6194", 191 | "3598", 192 | "26222", 193 | "20046", 194 | "8071", 195 | "8073", 196 | "30575", 197 | "40066", 198 | "5761", 199 | "13811", 200 | "25796", 201 | "8070", 202 | "6584", 203 | "30135", 204 | "58593", 205 | "12076", 206 | "52985", 207 | "23468", 208 | "200517", 209 | "32476", 210 | "8068" 211 | ] 212 | }, 213 | "limelight": { 214 | "org_id": [ 215 | "@aut-45396-APNIC", 216 | "@family-20034", 217 | "LLNW-ARIN", 218 | "ORG-LN1-AFRINIC", 219 | "ORG-LNI1-RIPE" 220 | ], 221 | "asns": [ 222 | "37277", 223 | "55429", 224 | "60261", 225 | "23135", 226 | "23164", 227 | "12411", 228 | "25804", 229 | "45396", 230 | "26506", 231 | "23059", 232 | "22822", 233 | "38622", 234 | "27191", 235 | "38621" 236 | ] 237 | }, 238 | "google": { 239 | "org_id": [ 240 | "@aut-45566-APNIC", 241 | "GAL-53-ARIN", 242 | "GF-ARIN", 243 | "GOGL-ARIN", 244 | "GOOGL-1-ARIN", 245 | "GOOGL-5-ARIN", 246 | "GOOGL-9-ARIN", 247 | "GOOGL-ARIN", 248 | "ORG-GIL4-RIPE", 249 | "ORG-GKL1-AFRINIC", 250 | "ORG-GSG10-RIPE" 251 | ], 252 | "asns": [ 253 | "19448", 254 | "43515", 255 | "394639", 256 | "36384", 257 | "41264", 258 | "15169", 259 | "36987", 260 | "45566", 261 | "16591", 262 | "394699", 263 | "36040", 264 | "36039", 265 | "36385", 266 | "394507", 267 | "36492", 268 | "22859", 269 | "22577" 270 | ] 271 | }, 272 | "chinacache": { 273 | "org_id": [ 274 | "@family-12992" 275 | ], 276 | "asns": [ 277 | "37958", 278 | "63543", 279 | "45098", 280 | "63541", 281 | "58856", 282 | "63542" 283 | ] 284 | }, 285 | "akamai": { 286 | "org_id": [ 287 | "@family-19801", 288 | "AKAMAI-ARIN", 289 | "ORG-AT1-RIPE" 290 | ], 291 | "asns": [ 292 | "55770", 293 | "36183", 294 | "20189", 295 | "12222", 296 | "393560", 297 | "21342", 298 | "32787", 299 | "49846", 300 | "35994", 301 | "31109", 302 | "31107", 303 | "21357", 304 | "34850", 305 | "24319", 306 | "17334", 307 | "21399", 308 | "23455", 309 | "393234", 310 | "16625", 311 | "30675", 312 | "22207", 313 | "39836", 314 | "31108", 315 | "31110", 316 | "23454", 317 | "18680", 318 | "20940", 319 | "35204", 320 | "23903", 321 | "48163", 322 | "43639", 323 | "16702", 324 | "18717", 325 | "33905", 326 | "31377", 327 | "34164", 328 | "35993", 329 | "45757" 330 | ] 331 | }, 332 | "apple": { 333 | "org_id": [ 334 | "APPLEC-1-Z-ARIN" 335 | ], 336 | "asns": [ 337 | "714", 338 | "2709", 339 | "6185" 340 | ] 341 | }, 342 | "bitgravity": { 343 | "org_id": [ 344 | "BITGR-ARIN" 345 | ], 346 | "asns": [ 347 | "40009" 348 | ] 349 | }, 350 | "cachefly": { 351 | "org_id": [ 352 | "CACHE-ARIN" 353 | ], 354 | "asns": [ 355 | "30081" 356 | ] 357 | }, 358 | "disney": { 359 | "org_id": [ 360 | "DISNE-7-ARIN", 361 | "DO-19-ARIN", 362 | "DWS-ARIN" 363 | ], 364 | "asns": [ 365 | "23344", 366 | "11812", 367 | "46557", 368 | "40051", 369 | "13379", 370 | "25932", 371 | "54330", 372 | "29736", 373 | "15260", 374 | "62787", 375 | "30311", 376 | "8137", 377 | "53578" 378 | ] 379 | }, 380 | "facebook": { 381 | "org_id": [ 382 | "FACEB-1-ARIN", 383 | "THEFA-3-ARIN" 384 | ], 385 | "asns": [ 386 | "32934", 387 | "54115", 388 | "63293" 389 | ] 390 | }, 391 | "highwinds": { 392 | "org_id": [ 393 | "HNG-3-ARIN" 394 | ], 395 | "asns": [ 396 | "11588", 397 | "20446", 398 | "29798", 399 | "33438", 400 | "18607" 401 | ] 402 | }, 403 | "hulu": { 404 | "org_id": [ 405 | "HULUL-ARIN" 406 | ], 407 | "asns": [ 408 | "23286" 409 | ] 410 | }, 411 | "incapsula": { 412 | "org_id": [ 413 | "INCAP-5-ARIN" 414 | ], 415 | "asns": [ 416 | "19551" 417 | ] 418 | }, 419 | "netflix": { 420 | "org_id": [ 421 | "NETFL-13-ARIN", 422 | "NETFL-31-ARIN", 423 | "SS-144-ARIN" 424 | ], 425 | "asns": [ 426 | "394406", 427 | "55095", 428 | "40027", 429 | "2906" 430 | ] 431 | }, 432 | "cdn77": { 433 | "org_id": [ 434 | "ORG-DL201-RIPE" 435 | ], 436 | "asns": [ 437 | "60068" 438 | ] 439 | }, 440 | "fastly": { 441 | "org_id": [ 442 | "SKYCA-3-ARIN" 443 | ], 444 | "asns": [ 445 | "394192", 446 | "54113" 447 | ] 448 | }, 449 | "twitter": { 450 | "org_id": [ 451 | "TWITT-ARIN" 452 | ], 453 | "asns": [ 454 | "54888", 455 | "35995", 456 | "13414" 457 | ] 458 | } 459 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2016_04_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "62785", 17 | "58588", 18 | "9059", 19 | "10124", 20 | "38895", 21 | "8987", 22 | "16509", 23 | "17493", 24 | "14618" 25 | ] 26 | }, 27 | "cloudflare": { 28 | "org_id": [ 29 | "@aut-132892-APNIC", 30 | "@aut-133877-APNIC", 31 | "@family-489" 32 | ], 33 | "asns": [ 34 | "132892", 35 | "133877", 36 | "394536", 37 | "13335", 38 | "203898" 39 | ] 40 | }, 41 | "alibaba": { 42 | "org_id": [ 43 | "@aut-134963-APNIC", 44 | "@family-30210" 45 | ], 46 | "asns": [ 47 | "45102", 48 | "38369", 49 | "45096", 50 | "45104", 51 | "24429", 52 | "37963", 53 | "45108", 54 | "134963", 55 | "45103" 56 | ] 57 | }, 58 | "yahoo": { 59 | "org_id": [ 60 | "@aut-24572-APNIC", 61 | "@aut-28122-LACNIC", 62 | "@aut-45501-APNIC", 63 | "@aut-45502-APNIC", 64 | "@family-11296", 65 | "@family-13389", 66 | "@family-29697", 67 | "@family-35708", 68 | "@family-46115", 69 | "ORG-YE1-RIPE", 70 | "YAHO-ARIN", 71 | "YAHOO-1-ARIN", 72 | "YAOO-ARIN", 73 | "YHOO-ARIN" 74 | ], 75 | "asns": [ 76 | "45915", 77 | "55517", 78 | "394614", 79 | "36646", 80 | "24376", 81 | "393245", 82 | "36647", 83 | "14678", 84 | "24018", 85 | "24031", 86 | "28122", 87 | "34082", 88 | "38072", 89 | "17457", 90 | "23880", 91 | "26101", 92 | "38032", 93 | "55417", 94 | "32116", 95 | "23879", 96 | "7488", 97 | "36088", 98 | "10310", 99 | "15635", 100 | "45502", 101 | "24572", 102 | "204000", 103 | "10229", 104 | "134706", 105 | "394561", 106 | "2554", 107 | "40986", 108 | "22565", 109 | "7280", 110 | "14196", 111 | "36752", 112 | "10880", 113 | "24296", 114 | "23926", 115 | "4694", 116 | "2521", 117 | "5779", 118 | "56173", 119 | "26085", 120 | "58721", 121 | "4197", 122 | "38033", 123 | "23816", 124 | "17110", 125 | "38045", 126 | "45863", 127 | "55416", 128 | "55898", 129 | "394615", 130 | "10230", 131 | "55418", 132 | "24236", 133 | "36229", 134 | "10228", 135 | "24506", 136 | "34010", 137 | "42173", 138 | "18140", 139 | "58525", 140 | "43428", 141 | "4681", 142 | "45501", 143 | "203219", 144 | "18293", 145 | "131898", 146 | "36129", 147 | "23663", 148 | "203220", 149 | "7233", 150 | "15896", 151 | "394560", 152 | "58720" 153 | ] 154 | }, 155 | "cdnetworks": { 156 | "org_id": [ 157 | "@aut-38107-APNIC", 158 | "CDNET-ARIN", 159 | "ORG-PEC1-RIPE" 160 | ], 161 | "asns": [ 162 | "43303", 163 | "36408", 164 | "40366", 165 | "38107" 166 | ] 167 | }, 168 | "microsoft": { 169 | "org_id": [ 170 | "@aut-45139-APNIC", 171 | "@aut-52985-LACNIC", 172 | "@family-18289", 173 | "MSFT-ARIN", 174 | "ORG-MA42-RIPE", 175 | "ORG-MDMG3-RIPE" 176 | ], 177 | "asns": [ 178 | "58862", 179 | "8075", 180 | "14719", 181 | "36006", 182 | "6291", 183 | "8069", 184 | "8072", 185 | "13399", 186 | "8074", 187 | "63314", 188 | "45139", 189 | "6182", 190 | "35106", 191 | "6194", 192 | "3598", 193 | "26222", 194 | "20046", 195 | "8071", 196 | "8073", 197 | "30575", 198 | "40066", 199 | "5761", 200 | "13811", 201 | "25796", 202 | "8070", 203 | "6584", 204 | "30135", 205 | "58593", 206 | "12076", 207 | "52985", 208 | "23468", 209 | "200517", 210 | "32476", 211 | "8068" 212 | ] 213 | }, 214 | "limelight": { 215 | "org_id": [ 216 | "@aut-45396-APNIC", 217 | "@family-21148", 218 | "LLNW-ARIN", 219 | "ORG-LN1-AFRINIC", 220 | "ORG-LNI1-RIPE" 221 | ], 222 | "asns": [ 223 | "37277", 224 | "55429", 225 | "60261", 226 | "23135", 227 | "23164", 228 | "12411", 229 | "25804", 230 | "45396", 231 | "26506", 232 | "23059", 233 | "22822", 234 | "38622", 235 | "27191", 236 | "38621" 237 | ] 238 | }, 239 | "google": { 240 | "org_id": [ 241 | "@aut-45566-APNIC", 242 | "GAL-53-ARIN", 243 | "GF-ARIN", 244 | "GOGL-ARIN", 245 | "GOOGL-1-ARIN", 246 | "GOOGL-5-ARIN", 247 | "GOOGL-9-ARIN", 248 | "GOOGL-ARIN", 249 | "ORG-GIL4-RIPE", 250 | "ORG-GKL1-AFRINIC", 251 | "ORG-GSG10-RIPE" 252 | ], 253 | "asns": [ 254 | "19448", 255 | "43515", 256 | "394639", 257 | "36384", 258 | "41264", 259 | "15169", 260 | "36987", 261 | "45566", 262 | "16591", 263 | "394699", 264 | "36040", 265 | "36039", 266 | "36385", 267 | "394507", 268 | "36492", 269 | "22859", 270 | "22577" 271 | ] 272 | }, 273 | "chinacache": { 274 | "org_id": [ 275 | "@family-14133" 276 | ], 277 | "asns": [ 278 | "37958", 279 | "63543", 280 | "45098", 281 | "63541", 282 | "58856", 283 | "63542" 284 | ] 285 | }, 286 | "akamai": { 287 | "org_id": [ 288 | "@family-20915", 289 | "AKAMAI-ARIN", 290 | "ORG-AT1-RIPE" 291 | ], 292 | "asns": [ 293 | "55770", 294 | "36183", 295 | "20189", 296 | "12222", 297 | "393560", 298 | "21342", 299 | "32787", 300 | "49846", 301 | "35994", 302 | "31109", 303 | "31107", 304 | "21357", 305 | "34850", 306 | "24319", 307 | "17334", 308 | "21399", 309 | "23455", 310 | "393234", 311 | "16625", 312 | "30675", 313 | "22207", 314 | "39836", 315 | "31108", 316 | "31110", 317 | "23454", 318 | "18680", 319 | "20940", 320 | "35204", 321 | "23903", 322 | "48163", 323 | "43639", 324 | "16702", 325 | "18717", 326 | "33905", 327 | "31377", 328 | "34164", 329 | "35993", 330 | "45757" 331 | ] 332 | }, 333 | "apple": { 334 | "org_id": [ 335 | "APPLEC-1-Z-ARIN" 336 | ], 337 | "asns": [ 338 | "714", 339 | "2709", 340 | "6185" 341 | ] 342 | }, 343 | "bitgravity": { 344 | "org_id": [ 345 | "BITGR-ARIN" 346 | ], 347 | "asns": [ 348 | "40009" 349 | ] 350 | }, 351 | "cachefly": { 352 | "org_id": [ 353 | "CACHE-ARIN" 354 | ], 355 | "asns": [ 356 | "30081" 357 | ] 358 | }, 359 | "disney": { 360 | "org_id": [ 361 | "DISNE-7-ARIN", 362 | "DO-19-ARIN", 363 | "DWS-ARIN" 364 | ], 365 | "asns": [ 366 | "23344", 367 | "11812", 368 | "46557", 369 | "40051", 370 | "13379", 371 | "25932", 372 | "54330", 373 | "29736", 374 | "15260", 375 | "62787", 376 | "30311", 377 | "8137", 378 | "53578" 379 | ] 380 | }, 381 | "facebook": { 382 | "org_id": [ 383 | "FACEB-1-ARIN", 384 | "THEFA-3-ARIN" 385 | ], 386 | "asns": [ 387 | "32934", 388 | "54115", 389 | "63293" 390 | ] 391 | }, 392 | "highwinds": { 393 | "org_id": [ 394 | "HNG-3-ARIN" 395 | ], 396 | "asns": [ 397 | "11588", 398 | "20446", 399 | "29798", 400 | "33438", 401 | "18607" 402 | ] 403 | }, 404 | "hulu": { 405 | "org_id": [ 406 | "HULUL-ARIN" 407 | ], 408 | "asns": [ 409 | "23286" 410 | ] 411 | }, 412 | "incapsula": { 413 | "org_id": [ 414 | "INCAP-5-ARIN" 415 | ], 416 | "asns": [ 417 | "19551" 418 | ] 419 | }, 420 | "netflix": { 421 | "org_id": [ 422 | "NETFL-13-ARIN", 423 | "NETFL-31-ARIN", 424 | "SS-144-ARIN" 425 | ], 426 | "asns": [ 427 | "394406", 428 | "55095", 429 | "40027", 430 | "2906" 431 | ] 432 | }, 433 | "cdn77": { 434 | "org_id": [ 435 | "ORG-DL201-RIPE" 436 | ], 437 | "asns": [ 438 | "60068" 439 | ] 440 | }, 441 | "fastly": { 442 | "org_id": [ 443 | "SKYCA-3-ARIN" 444 | ], 445 | "asns": [ 446 | "394192", 447 | "54113" 448 | ] 449 | }, 450 | "twitter": { 451 | "org_id": [ 452 | "TWITT-ARIN" 453 | ], 454 | "asns": [ 455 | "54888", 456 | "35995", 457 | "13414" 458 | ] 459 | } 460 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2016_07_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ORG-ADSI1-RIPE" 12 | ], 13 | "asns": [ 14 | "39111", 15 | "7224", 16 | "62785", 17 | "58588", 18 | "9059", 19 | "10124", 20 | "38895", 21 | "8987", 22 | "16509", 23 | "17493", 24 | "14618" 25 | ] 26 | }, 27 | "cloudflare": { 28 | "org_id": [ 29 | "@aut-132892-APNIC", 30 | "@aut-133877-APNIC", 31 | "@family-762" 32 | ], 33 | "asns": [ 34 | "132892", 35 | "133877", 36 | "394536", 37 | "13335", 38 | "203898" 39 | ] 40 | }, 41 | "alibaba": { 42 | "org_id": [ 43 | "@aut-134963-APNIC", 44 | "@family-31587" 45 | ], 46 | "asns": [ 47 | "45102", 48 | "38369", 49 | "45096", 50 | "45104", 51 | "24429", 52 | "37963", 53 | "45108", 54 | "134963", 55 | "45103" 56 | ] 57 | }, 58 | "yahoo": { 59 | "org_id": [ 60 | "@aut-24572-APNIC", 61 | "@aut-28122-LACNIC", 62 | "@aut-45501-APNIC", 63 | "@aut-45502-APNIC", 64 | "@family-12548", 65 | "@family-14609", 66 | "@family-31074", 67 | "@family-37087", 68 | "@family-47418", 69 | "ORG-YE1-RIPE", 70 | "YAHO-ARIN", 71 | "YAHOO-1-ARIN", 72 | "YAOO-ARIN", 73 | "YHOO-ARIN" 74 | ], 75 | "asns": [ 76 | "45915", 77 | "55517", 78 | "394614", 79 | "36646", 80 | "24376", 81 | "393245", 82 | "36647", 83 | "14678", 84 | "24018", 85 | "24031", 86 | "28122", 87 | "34082", 88 | "38072", 89 | "17457", 90 | "23880", 91 | "26101", 92 | "38032", 93 | "55417", 94 | "32116", 95 | "23879", 96 | "7488", 97 | "36088", 98 | "10310", 99 | "15635", 100 | "45502", 101 | "24572", 102 | "203070", 103 | "204000", 104 | "10229", 105 | "134706", 106 | "394561", 107 | "2554", 108 | "40986", 109 | "22565", 110 | "7280", 111 | "14196", 112 | "36752", 113 | "10880", 114 | "24296", 115 | "23926", 116 | "4694", 117 | "2521", 118 | "5779", 119 | "56173", 120 | "26085", 121 | "58721", 122 | "4197", 123 | "38033", 124 | "23816", 125 | "17110", 126 | "38045", 127 | "45863", 128 | "55416", 129 | "55898", 130 | "394615", 131 | "10230", 132 | "55418", 133 | "24236", 134 | "36229", 135 | "10228", 136 | "24506", 137 | "34010", 138 | "42173", 139 | "18140", 140 | "58525", 141 | "43428", 142 | "4681", 143 | "45501", 144 | "203219", 145 | "18293", 146 | "131898", 147 | "36129", 148 | "23663", 149 | "203220", 150 | "7233", 151 | "15896", 152 | "394560", 153 | "58720" 154 | ] 155 | }, 156 | "cdnetworks": { 157 | "org_id": [ 158 | "@aut-38107-APNIC", 159 | "CDNET-ARIN", 160 | "ORG-PEC1-RIPE" 161 | ], 162 | "asns": [ 163 | "43303", 164 | "36408", 165 | "40366", 166 | "38107" 167 | ] 168 | }, 169 | "microsoft": { 170 | "org_id": [ 171 | "@aut-45139-APNIC", 172 | "@aut-52985-LACNIC", 173 | "@family-19619", 174 | "MSFT-ARIN", 175 | "ORG-MA42-RIPE", 176 | "ORG-MDMG3-RIPE", 177 | "ORG-NMP1-RIPE" 178 | ], 179 | "asns": [ 180 | "58862", 181 | "8075", 182 | "14719", 183 | "36006", 184 | "6291", 185 | "8069", 186 | "8072", 187 | "13399", 188 | "8074", 189 | "63314", 190 | "45139", 191 | "6182", 192 | "35106", 193 | "6194", 194 | "3598", 195 | "26222", 196 | "22692", 197 | "20046", 198 | "8071", 199 | "8073", 200 | "30575", 201 | "31792", 202 | "5761", 203 | "40066", 204 | "13811", 205 | "17345", 206 | "25796", 207 | "8070", 208 | "6584", 209 | "30135", 210 | "58593", 211 | "12076", 212 | "52985", 213 | "23468", 214 | "200517", 215 | "32476", 216 | "8812", 217 | "8068" 218 | ] 219 | }, 220 | "limelight": { 221 | "org_id": [ 222 | "@aut-45396-APNIC", 223 | "@family-22525", 224 | "LLNW-ARIN", 225 | "ORG-LN1-AFRINIC", 226 | "ORG-LNI1-RIPE" 227 | ], 228 | "asns": [ 229 | "37277", 230 | "55429", 231 | "60261", 232 | "23135", 233 | "23164", 234 | "12411", 235 | "25804", 236 | "45396", 237 | "26506", 238 | "23059", 239 | "22822", 240 | "38622", 241 | "27191", 242 | "38621" 243 | ] 244 | }, 245 | "google": { 246 | "org_id": [ 247 | "@aut-45566-APNIC", 248 | "GAL-53-ARIN", 249 | "GF-ARIN", 250 | "GOGL-ARIN", 251 | "GOOGL-1-ARIN", 252 | "GOOGL-5-ARIN", 253 | "GOOGL-9-ARIN", 254 | "GOOGL-ARIN", 255 | "ORG-GIL4-RIPE", 256 | "ORG-GKL1-AFRINIC", 257 | "ORG-GSG10-RIPE" 258 | ], 259 | "asns": [ 260 | "19448", 261 | "43515", 262 | "394639", 263 | "36384", 264 | "41264", 265 | "15169", 266 | "36987", 267 | "40873", 268 | "16591", 269 | "45566", 270 | "394699", 271 | "36040", 272 | "36039", 273 | "36385", 274 | "394507", 275 | "36492", 276 | "22859", 277 | "22577" 278 | ] 279 | }, 280 | "chinacache": { 281 | "org_id": [ 282 | "@family-15411" 283 | ], 284 | "asns": [ 285 | "37958", 286 | "63543", 287 | "45098", 288 | "63541", 289 | "58856", 290 | "63542" 291 | ] 292 | }, 293 | "akamai": { 294 | "org_id": [ 295 | "@family-22292", 296 | "AKAMAI-ARIN", 297 | "ORG-AT1-RIPE" 298 | ], 299 | "asns": [ 300 | "55770", 301 | "36183", 302 | "20189", 303 | "12222", 304 | "393560", 305 | "21342", 306 | "32787", 307 | "49846", 308 | "35994", 309 | "31109", 310 | "31107", 311 | "21357", 312 | "34850", 313 | "24319", 314 | "17334", 315 | "21399", 316 | "23455", 317 | "393234", 318 | "16625", 319 | "30675", 320 | "22207", 321 | "39836", 322 | "31108", 323 | "31110", 324 | "23454", 325 | "18680", 326 | "20940", 327 | "35204", 328 | "23903", 329 | "48163", 330 | "43639", 331 | "16702", 332 | "18717", 333 | "33905", 334 | "31377", 335 | "34164", 336 | "35993", 337 | "45757" 338 | ] 339 | }, 340 | "apple": { 341 | "org_id": [ 342 | "APPLEC-1-Z-ARIN" 343 | ], 344 | "asns": [ 345 | "714", 346 | "2709", 347 | "6185" 348 | ] 349 | }, 350 | "bitgravity": { 351 | "org_id": [ 352 | "BITGR-ARIN" 353 | ], 354 | "asns": [ 355 | "40009" 356 | ] 357 | }, 358 | "cachefly": { 359 | "org_id": [ 360 | "CACHE-ARIN" 361 | ], 362 | "asns": [ 363 | "30081" 364 | ] 365 | }, 366 | "disney": { 367 | "org_id": [ 368 | "DISNE-7-ARIN", 369 | "DO-19-ARIN", 370 | "DWS-ARIN" 371 | ], 372 | "asns": [ 373 | "23344", 374 | "11812", 375 | "46557", 376 | "40051", 377 | "13379", 378 | "25932", 379 | "54330", 380 | "29736", 381 | "15260", 382 | "62787", 383 | "30311", 384 | "8137", 385 | "53578" 386 | ] 387 | }, 388 | "facebook": { 389 | "org_id": [ 390 | "FACEB-1-ARIN", 391 | "THEFA-3-ARIN" 392 | ], 393 | "asns": [ 394 | "32934", 395 | "54115", 396 | "63293" 397 | ] 398 | }, 399 | "highwinds": { 400 | "org_id": [ 401 | "HNG-3-ARIN" 402 | ], 403 | "asns": [ 404 | "11588", 405 | "20446", 406 | "29798", 407 | "33438", 408 | "18607" 409 | ] 410 | }, 411 | "hulu": { 412 | "org_id": [ 413 | "HULUL-ARIN" 414 | ], 415 | "asns": [ 416 | "23286" 417 | ] 418 | }, 419 | "incapsula": { 420 | "org_id": [ 421 | "INCAP-5-ARIN" 422 | ], 423 | "asns": [ 424 | "19551" 425 | ] 426 | }, 427 | "netflix": { 428 | "org_id": [ 429 | "NETFL-13-ARIN", 430 | "NETFL-31-ARIN", 431 | "SS-144-ARIN" 432 | ], 433 | "asns": [ 434 | "394406", 435 | "55095", 436 | "40027", 437 | "2906" 438 | ] 439 | }, 440 | "cdn77": { 441 | "org_id": [ 442 | "ORG-DL201-RIPE" 443 | ], 444 | "asns": [ 445 | "60068" 446 | ] 447 | }, 448 | "fastly": { 449 | "org_id": [ 450 | "SKYCA-3-ARIN" 451 | ], 452 | "asns": [ 453 | "394192", 454 | "54113" 455 | ] 456 | }, 457 | "twitter": { 458 | "org_id": [ 459 | "TWITT-ARIN" 460 | ], 461 | "asns": [ 462 | "54888", 463 | "35995", 464 | "13414" 465 | ] 466 | } 467 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2016_10_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-17493-APNIC", 6 | "@aut-38895-APNIC", 7 | "@aut-58588-APNIC", 8 | "ACL-335-ARIN", 9 | "AMAZO-4-ARIN", 10 | "AMAZON-4-ARIN", 11 | "ARL-76-ARIN", 12 | "ORG-ADSI1-RIPE" 13 | ], 14 | "asns": [ 15 | "39111", 16 | "7224", 17 | "395343", 18 | "62785", 19 | "58588", 20 | "9059", 21 | "10124", 22 | "38895", 23 | "8987", 24 | "16509", 25 | "17493", 26 | "14618" 27 | ] 28 | }, 29 | "cloudflare": { 30 | "org_id": [ 31 | "@aut-132892-APNIC", 32 | "@aut-133877-APNIC", 33 | "@family-979" 34 | ], 35 | "asns": [ 36 | "132892", 37 | "133877", 38 | "394536", 39 | "13335", 40 | "203898", 41 | "202623" 42 | ] 43 | }, 44 | "alibaba": { 45 | "org_id": [ 46 | "@aut-134963-APNIC", 47 | "@family-32896" 48 | ], 49 | "asns": [ 50 | "45102", 51 | "38369", 52 | "45096", 53 | "45104", 54 | "24429", 55 | "37963", 56 | "45108", 57 | "134963", 58 | "45103" 59 | ] 60 | }, 61 | "yahoo": { 62 | "org_id": [ 63 | "@aut-24572-APNIC", 64 | "@aut-28122-LACNIC", 65 | "@aut-45501-APNIC", 66 | "@aut-45502-APNIC", 67 | "@family-13485", 68 | "@family-15713", 69 | "@family-32364", 70 | "@family-38360", 71 | "@family-48622", 72 | "ORG-YE1-RIPE", 73 | "YAHO-ARIN", 74 | "YAHOO-1-ARIN", 75 | "YAOO-ARIN", 76 | "YHOO-ARIN" 77 | ], 78 | "asns": [ 79 | "45915", 80 | "55517", 81 | "394614", 82 | "36646", 83 | "24376", 84 | "393245", 85 | "36647", 86 | "14678", 87 | "24018", 88 | "24031", 89 | "28122", 90 | "34082", 91 | "38072", 92 | "17457", 93 | "23880", 94 | "26101", 95 | "38032", 96 | "55417", 97 | "32116", 98 | "23879", 99 | "7488", 100 | "36088", 101 | "10310", 102 | "15635", 103 | "45502", 104 | "24572", 105 | "203070", 106 | "204000", 107 | "10229", 108 | "134706", 109 | "394561", 110 | "2554", 111 | "40986", 112 | "22565", 113 | "7280", 114 | "14196", 115 | "36752", 116 | "10880", 117 | "24296", 118 | "23926", 119 | "4694", 120 | "2521", 121 | "5779", 122 | "56173", 123 | "26085", 124 | "58721", 125 | "4197", 126 | "38033", 127 | "23816", 128 | "17110", 129 | "38045", 130 | "45863", 131 | "55416", 132 | "55898", 133 | "394615", 134 | "10230", 135 | "55418", 136 | "24236", 137 | "36229", 138 | "10228", 139 | "24506", 140 | "34010", 141 | "42173", 142 | "18140", 143 | "58525", 144 | "43428", 145 | "4681", 146 | "45501", 147 | "203219", 148 | "18293", 149 | "131898", 150 | "36129", 151 | "23663", 152 | "203220", 153 | "7233", 154 | "15896", 155 | "394560", 156 | "58720" 157 | ] 158 | }, 159 | "cdnetworks": { 160 | "org_id": [ 161 | "@aut-38107-APNIC", 162 | "CDNET-ARIN", 163 | "ORG-PEC1-RIPE" 164 | ], 165 | "asns": [ 166 | "43303", 167 | "36408", 168 | "40366", 169 | "38107" 170 | ] 171 | }, 172 | "microsoft": { 173 | "org_id": [ 174 | "@aut-45139-APNIC", 175 | "@aut-52985-LACNIC", 176 | "@aut-59067-APNIC", 177 | "@family-20874", 178 | "MSFT-ARIN", 179 | "ORG-MA42-RIPE", 180 | "ORG-MDMG3-RIPE", 181 | "ORG-NMP1-RIPE" 182 | ], 183 | "asns": [ 184 | "58862", 185 | "8075", 186 | "14719", 187 | "36006", 188 | "6291", 189 | "8069", 190 | "8072", 191 | "13399", 192 | "8074", 193 | "63314", 194 | "45139", 195 | "6182", 196 | "35106", 197 | "6194", 198 | "3598", 199 | "26222", 200 | "59067", 201 | "22692", 202 | "20046", 203 | "8071", 204 | "8073", 205 | "30575", 206 | "31792", 207 | "5761", 208 | "40066", 209 | "13811", 210 | "17345", 211 | "25796", 212 | "8070", 213 | "6584", 214 | "30135", 215 | "58593", 216 | "12076", 217 | "52985", 218 | "23468", 219 | "200517", 220 | "32476", 221 | "8812", 222 | "8068" 223 | ] 224 | }, 225 | "limelight": { 226 | "org_id": [ 227 | "@aut-45396-APNIC", 228 | "@family-23785", 229 | "LLNW-ARIN", 230 | "ORG-LN1-AFRINIC", 231 | "ORG-LNI1-RIPE" 232 | ], 233 | "asns": [ 234 | "37277", 235 | "55429", 236 | "60261", 237 | "23135", 238 | "23164", 239 | "12411", 240 | "25804", 241 | "45396", 242 | "26506", 243 | "23059", 244 | "22822", 245 | "38622", 246 | "27191", 247 | "38621" 248 | ] 249 | }, 250 | "google": { 251 | "org_id": [ 252 | "@aut-45566-APNIC", 253 | "GAL-53-ARIN", 254 | "GF-ARIN", 255 | "GOGL-ARIN", 256 | "GOOGL-1-ARIN", 257 | "GOOGL-5-ARIN", 258 | "GOOGL-9-ARIN", 259 | "GOOGL-ARIN", 260 | "ORG-GIL4-RIPE", 261 | "ORG-GKL1-AFRINIC", 262 | "ORG-GSG10-RIPE" 263 | ], 264 | "asns": [ 265 | "19448", 266 | "43515", 267 | "394639", 268 | "36384", 269 | "41264", 270 | "15169", 271 | "36987", 272 | "40873", 273 | "16591", 274 | "45566", 275 | "394699", 276 | "36040", 277 | "6432", 278 | "36039", 279 | "36385", 280 | "394507", 281 | "36492", 282 | "22859", 283 | "22577" 284 | ] 285 | }, 286 | "chinacache": { 287 | "org_id": [ 288 | "@family-16678" 289 | ], 290 | "asns": [ 291 | "37958", 292 | "63543", 293 | "45098", 294 | "63541", 295 | "58856", 296 | "63542" 297 | ] 298 | }, 299 | "akamai": { 300 | "org_id": [ 301 | "@family-23534", 302 | "AKAMAI-ARIN", 303 | "ORG-AT1-RIPE" 304 | ], 305 | "asns": [ 306 | "55770", 307 | "36183", 308 | "20189", 309 | "12222", 310 | "393560", 311 | "21342", 312 | "32787", 313 | "49846", 314 | "35994", 315 | "31109", 316 | "31107", 317 | "21357", 318 | "34850", 319 | "24319", 320 | "17334", 321 | "21399", 322 | "23455", 323 | "393234", 324 | "16625", 325 | "30675", 326 | "22207", 327 | "39836", 328 | "31108", 329 | "31110", 330 | "23454", 331 | "18680", 332 | "20940", 333 | "35204", 334 | "23903", 335 | "48163", 336 | "43639", 337 | "16702", 338 | "18717", 339 | "33905", 340 | "31377", 341 | "34164", 342 | "35993", 343 | "45757" 344 | ] 345 | }, 346 | "apple": { 347 | "org_id": [ 348 | "APPLEC-1-Z-ARIN" 349 | ], 350 | "asns": [ 351 | "714", 352 | "2709", 353 | "6185" 354 | ] 355 | }, 356 | "bitgravity": { 357 | "org_id": [ 358 | "BITGR-ARIN" 359 | ], 360 | "asns": [ 361 | "40009" 362 | ] 363 | }, 364 | "cachefly": { 365 | "org_id": [ 366 | "CACHE-ARIN" 367 | ], 368 | "asns": [ 369 | "30081" 370 | ] 371 | }, 372 | "disney": { 373 | "org_id": [ 374 | "DISNE-7-ARIN", 375 | "DO-19-ARIN", 376 | "DWS-ARIN" 377 | ], 378 | "asns": [ 379 | "23344", 380 | "11812", 381 | "46557", 382 | "40051", 383 | "13379", 384 | "25932", 385 | "54330", 386 | "29736", 387 | "15260", 388 | "62787", 389 | "30311", 390 | "8137", 391 | "53578" 392 | ] 393 | }, 394 | "facebook": { 395 | "org_id": [ 396 | "FACEB-1-ARIN", 397 | "THEFA-3-ARIN" 398 | ], 399 | "asns": [ 400 | "32934", 401 | "54115", 402 | "63293" 403 | ] 404 | }, 405 | "highwinds": { 406 | "org_id": [ 407 | "HNG-3-ARIN" 408 | ], 409 | "asns": [ 410 | "11588", 411 | "20446", 412 | "29798", 413 | "33438", 414 | "18607" 415 | ] 416 | }, 417 | "hulu": { 418 | "org_id": [ 419 | "HULUL-ARIN" 420 | ], 421 | "asns": [ 422 | "23286" 423 | ] 424 | }, 425 | "incapsula": { 426 | "org_id": [ 427 | "INCAP-5-ARIN" 428 | ], 429 | "asns": [ 430 | "19551" 431 | ] 432 | }, 433 | "netflix": { 434 | "org_id": [ 435 | "NETFL-13-ARIN", 436 | "NETFL-31-ARIN", 437 | "SS-144-ARIN" 438 | ], 439 | "asns": [ 440 | "394406", 441 | "55095", 442 | "40027", 443 | "2906" 444 | ] 445 | }, 446 | "cdn77": { 447 | "org_id": [ 448 | "ORG-DL201-RIPE" 449 | ], 450 | "asns": [ 451 | "60068" 452 | ] 453 | }, 454 | "fastly": { 455 | "org_id": [ 456 | "SKYCA-3-ARIN" 457 | ], 458 | "asns": [ 459 | "394192", 460 | "54113" 461 | ] 462 | }, 463 | "twitter": { 464 | "org_id": [ 465 | "TWITT-ARIN" 466 | ], 467 | "asns": [ 468 | "54888", 469 | "35995", 470 | "13414" 471 | ] 472 | } 473 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2017_01_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-135630-APNIC", 6 | "@aut-17493-APNIC", 7 | "@aut-38895-APNIC", 8 | "@aut-58588-APNIC", 9 | "ACL-335-ARIN", 10 | "AMAZO-4-ARIN", 11 | "AMAZON-4-ARIN", 12 | "ARL-76-ARIN", 13 | "ORG-ADSI1-RIPE" 14 | ], 15 | "asns": [ 16 | "39111", 17 | "135630", 18 | "7224", 19 | "395343", 20 | "62785", 21 | "58588", 22 | "9059", 23 | "10124", 24 | "38895", 25 | "8987", 26 | "16509", 27 | "17493", 28 | "14618" 29 | ] 30 | }, 31 | "cloudflare": { 32 | "org_id": [ 33 | "@aut-132892-APNIC", 34 | "@aut-133877-APNIC", 35 | "@family-90" 36 | ], 37 | "asns": [ 38 | "395747", 39 | "132892", 40 | "133877", 41 | "394536", 42 | "13335", 43 | "203898", 44 | "202623" 45 | ] 46 | }, 47 | "alibaba": { 48 | "org_id": [ 49 | "@aut-134963-APNIC", 50 | "@family-34023" 51 | ], 52 | "asns": [ 53 | "45102", 54 | "38369", 55 | "45096", 56 | "45104", 57 | "24429", 58 | "37963", 59 | "45108", 60 | "134963", 61 | "45103" 62 | ] 63 | }, 64 | "yahoo": { 65 | "org_id": [ 66 | "@aut-24572-APNIC", 67 | "@aut-28122-LACNIC", 68 | "@aut-45501-APNIC", 69 | "@aut-45502-APNIC", 70 | "@family-14618", 71 | "@family-16844", 72 | "@family-33492", 73 | "@family-39520", 74 | "@family-49708", 75 | "ORG-YE1-RIPE", 76 | "YAHO-ARIN", 77 | "YAHOO-1-ARIN", 78 | "YAOO-ARIN", 79 | "YHOO-ARIN" 80 | ], 81 | "asns": [ 82 | "45915", 83 | "55517", 84 | "394614", 85 | "36646", 86 | "24376", 87 | "393245", 88 | "36647", 89 | "14678", 90 | "24018", 91 | "24031", 92 | "28122", 93 | "34082", 94 | "38072", 95 | "17457", 96 | "23880", 97 | "26101", 98 | "38032", 99 | "55417", 100 | "32116", 101 | "23879", 102 | "7488", 103 | "36088", 104 | "10310", 105 | "15635", 106 | "45502", 107 | "24572", 108 | "203070", 109 | "204000", 110 | "10229", 111 | "134706", 112 | "394561", 113 | "2554", 114 | "40986", 115 | "22565", 116 | "7280", 117 | "14196", 118 | "36752", 119 | "10880", 120 | "24296", 121 | "23926", 122 | "4694", 123 | "2521", 124 | "5779", 125 | "56173", 126 | "26085", 127 | "58721", 128 | "4197", 129 | "38033", 130 | "23816", 131 | "17110", 132 | "38045", 133 | "45863", 134 | "55416", 135 | "55898", 136 | "394615", 137 | "10230", 138 | "55418", 139 | "24236", 140 | "36229", 141 | "10228", 142 | "24506", 143 | "34010", 144 | "42173", 145 | "18140", 146 | "58525", 147 | "43428", 148 | "4681", 149 | "45501", 150 | "203219", 151 | "18293", 152 | "131898", 153 | "36129", 154 | "23663", 155 | "203220", 156 | "7233", 157 | "15896", 158 | "394560", 159 | "58720" 160 | ] 161 | }, 162 | "microsoft": { 163 | "org_id": [ 164 | "@aut-45139-APNIC", 165 | "@aut-52985-LACNIC", 166 | "@aut-59067-APNIC", 167 | "@family-22027", 168 | "MSFT-ARIN", 169 | "ORG-MA42-RIPE", 170 | "ORG-MDMG3-RIPE", 171 | "ORG-NMP1-RIPE" 172 | ], 173 | "asns": [ 174 | "58862", 175 | "8075", 176 | "14719", 177 | "36006", 178 | "6291", 179 | "8069", 180 | "8072", 181 | "13399", 182 | "8074", 183 | "63314", 184 | "45139", 185 | "6182", 186 | "35106", 187 | "6194", 188 | "3598", 189 | "26222", 190 | "59067", 191 | "22692", 192 | "20046", 193 | "8071", 194 | "8073", 195 | "30575", 196 | "31792", 197 | "5761", 198 | "40066", 199 | "13811", 200 | "17345", 201 | "25796", 202 | "8070", 203 | "6584", 204 | "30135", 205 | "58593", 206 | "12076", 207 | "52985", 208 | "23468", 209 | "200517", 210 | "32476", 211 | "8812", 212 | "8068" 213 | ] 214 | }, 215 | "limelight": { 216 | "org_id": [ 217 | "@aut-45396-APNIC", 218 | "@family-24913", 219 | "LLNW-ARIN", 220 | "ORG-LN1-AFRINIC", 221 | "ORG-LNI1-RIPE" 222 | ], 223 | "asns": [ 224 | "37277", 225 | "55429", 226 | "60261", 227 | "23135", 228 | "23164", 229 | "12411", 230 | "25804", 231 | "45396", 232 | "26506", 233 | "23059", 234 | "22822", 235 | "38622", 236 | "27191", 237 | "38621" 238 | ] 239 | }, 240 | "google": { 241 | "org_id": [ 242 | "@aut-45566-APNIC", 243 | "GAL-53-ARIN", 244 | "GF-ARIN", 245 | "GOGL-ARIN", 246 | "GOOGL-1-ARIN", 247 | "GOOGL-5-ARIN", 248 | "GOOGL-9-ARIN", 249 | "GOOGL-ARIN", 250 | "ORG-GIL4-RIPE", 251 | "ORG-GKL1-AFRINIC", 252 | "ORG-GSG10-RIPE" 253 | ], 254 | "asns": [ 255 | "19448", 256 | "43515", 257 | "394639", 258 | "36384", 259 | "41264", 260 | "15169", 261 | "36987", 262 | "40873", 263 | "16591", 264 | "45566", 265 | "394699", 266 | "36040", 267 | "6432", 268 | "36039", 269 | "36385", 270 | "394507", 271 | "36492", 272 | "22859", 273 | "22577" 274 | ] 275 | }, 276 | "apple": { 277 | "org_id": [ 278 | "@aut-63707-APNIC", 279 | "APPLEC-1-Z-ARIN" 280 | ], 281 | "asns": [ 282 | "714", 283 | "2709", 284 | "6185", 285 | "63707" 286 | ] 287 | }, 288 | "chinacache": { 289 | "org_id": [ 290 | "@family-17851" 291 | ], 292 | "asns": [ 293 | "37958", 294 | "63543", 295 | "45098", 296 | "63541", 297 | "58856", 298 | "63542" 299 | ] 300 | }, 301 | "akamai": { 302 | "org_id": [ 303 | "@family-24670", 304 | "AKAMAI-ARIN", 305 | "ORG-AT1-RIPE" 306 | ], 307 | "asns": [ 308 | "55770", 309 | "36183", 310 | "20189", 311 | "12222", 312 | "393560", 313 | "21342", 314 | "32787", 315 | "49846", 316 | "35994", 317 | "31109", 318 | "31107", 319 | "21357", 320 | "34850", 321 | "24319", 322 | "17334", 323 | "21399", 324 | "23455", 325 | "393234", 326 | "16625", 327 | "30675", 328 | "22207", 329 | "39836", 330 | "31108", 331 | "31110", 332 | "23454", 333 | "18680", 334 | "20940", 335 | "35204", 336 | "23903", 337 | "48163", 338 | "43639", 339 | "16702", 340 | "18717", 341 | "33905", 342 | "31377", 343 | "34164", 344 | "35993", 345 | "45757" 346 | ] 347 | }, 348 | "cdnetworks": { 349 | "org_id": [ 350 | "@family-39103", 351 | "CDNET-ARIN", 352 | "ORG-PEC1-RIPE" 353 | ], 354 | "asns": [ 355 | "36408", 356 | "40366", 357 | "38670", 358 | "38107", 359 | "43303" 360 | ] 361 | }, 362 | "bitgravity": { 363 | "org_id": [ 364 | "BITGR-ARIN" 365 | ], 366 | "asns": [ 367 | "40009" 368 | ] 369 | }, 370 | "cachefly": { 371 | "org_id": [ 372 | "CACHE-ARIN" 373 | ], 374 | "asns": [ 375 | "30081" 376 | ] 377 | }, 378 | "disney": { 379 | "org_id": [ 380 | "DISNE-7-ARIN", 381 | "DO-19-ARIN", 382 | "DWS-ARIN" 383 | ], 384 | "asns": [ 385 | "23344", 386 | "11812", 387 | "46557", 388 | "40051", 389 | "13379", 390 | "25932", 391 | "54330", 392 | "29736", 393 | "15260", 394 | "62787", 395 | "30311", 396 | "8137", 397 | "53578" 398 | ] 399 | }, 400 | "facebook": { 401 | "org_id": [ 402 | "FACEB-1-ARIN", 403 | "THEFA-3-ARIN" 404 | ], 405 | "asns": [ 406 | "32934", 407 | "54115", 408 | "63293" 409 | ] 410 | }, 411 | "highwinds": { 412 | "org_id": [ 413 | "HNG-3-ARIN" 414 | ], 415 | "asns": [ 416 | "11588", 417 | "20446", 418 | "29798", 419 | "33438", 420 | "18607" 421 | ] 422 | }, 423 | "hulu": { 424 | "org_id": [ 425 | "HULUL-ARIN" 426 | ], 427 | "asns": [ 428 | "23286" 429 | ] 430 | }, 431 | "incapsula": { 432 | "org_id": [ 433 | "INCAP-5-ARIN" 434 | ], 435 | "asns": [ 436 | "19551" 437 | ] 438 | }, 439 | "netflix": { 440 | "org_id": [ 441 | "NETFL-13-ARIN", 442 | "NETFL-31-ARIN", 443 | "SS-144-ARIN" 444 | ], 445 | "asns": [ 446 | "394406", 447 | "55095", 448 | "40027", 449 | "2906" 450 | ] 451 | }, 452 | "cdn77": { 453 | "org_id": [ 454 | "ORG-DL201-RIPE" 455 | ], 456 | "asns": [ 457 | "60068" 458 | ] 459 | }, 460 | "fastly": { 461 | "org_id": [ 462 | "SKYCA-3-ARIN" 463 | ], 464 | "asns": [ 465 | "394192", 466 | "54113" 467 | ] 468 | }, 469 | "twitter": { 470 | "org_id": [ 471 | "TWITT-ARIN" 472 | ], 473 | "asns": [ 474 | "54888", 475 | "35995", 476 | "13414" 477 | ] 478 | } 479 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2017_04_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-135630-APNIC", 6 | "@aut-17493-APNIC", 7 | "@aut-38895-APNIC", 8 | "@aut-58588-APNIC", 9 | "@family-19845", 10 | "AMAZO-4-ARIN", 11 | "AMAZON-4-ARIN", 12 | "ARL-76-ARIN", 13 | "ORG-ADSI1-RIPE" 14 | ], 15 | "asns": [ 16 | "39111", 17 | "135630", 18 | "7224", 19 | "395343", 20 | "62785", 21 | "58588", 22 | "9059", 23 | "10124", 24 | "38895", 25 | "8987", 26 | "16509", 27 | "17493", 28 | "14618" 29 | ] 30 | }, 31 | "cloudflare": { 32 | "org_id": [ 33 | "@aut-132892-APNIC", 34 | "@aut-133877-APNIC", 35 | "@family-424" 36 | ], 37 | "asns": [ 38 | "395747", 39 | "132892", 40 | "133877", 41 | "394536", 42 | "13335", 43 | "203898", 44 | "202623" 45 | ] 46 | }, 47 | "alibaba": { 48 | "org_id": [ 49 | "@aut-134963-APNIC", 50 | "@family-35253" 51 | ], 52 | "asns": [ 53 | "45102", 54 | "38369", 55 | "45096", 56 | "45104", 57 | "24429", 58 | "37963", 59 | "45108", 60 | "134963", 61 | "45103" 62 | ] 63 | }, 64 | "chinacache": { 65 | "org_id": [ 66 | "@aut-18216-APNIC", 67 | "@family-19169" 68 | ], 69 | "asns": [ 70 | "37958", 71 | "63543", 72 | "45098", 73 | "63541", 74 | "58856", 75 | "63542", 76 | "18216" 77 | ] 78 | }, 79 | "yahoo": { 80 | "org_id": [ 81 | "@aut-24572-APNIC", 82 | "@aut-28122-LACNIC", 83 | "@aut-45501-APNIC", 84 | "@aut-45502-APNIC", 85 | "@family-15923", 86 | "@family-18143", 87 | "@family-34728", 88 | "@family-40831", 89 | "@family-50968", 90 | "ORG-YE1-RIPE", 91 | "YAHO-ARIN", 92 | "YAHOO-1-ARIN", 93 | "YAOO-ARIN", 94 | "YHOO-ARIN" 95 | ], 96 | "asns": [ 97 | "45915", 98 | "55517", 99 | "394614", 100 | "36646", 101 | "24376", 102 | "393245", 103 | "36647", 104 | "14678", 105 | "24018", 106 | "24031", 107 | "28122", 108 | "34082", 109 | "38072", 110 | "17457", 111 | "23880", 112 | "26101", 113 | "38032", 114 | "55417", 115 | "32116", 116 | "23879", 117 | "7488", 118 | "36088", 119 | "10310", 120 | "15635", 121 | "45502", 122 | "24572", 123 | "203070", 124 | "204000", 125 | "10229", 126 | "134706", 127 | "394561", 128 | "2554", 129 | "40986", 130 | "22565", 131 | "7280", 132 | "14196", 133 | "36752", 134 | "10880", 135 | "24296", 136 | "23926", 137 | "4694", 138 | "2521", 139 | "5779", 140 | "56173", 141 | "26085", 142 | "58721", 143 | "4197", 144 | "38033", 145 | "23816", 146 | "17110", 147 | "38045", 148 | "45863", 149 | "55416", 150 | "55898", 151 | "394615", 152 | "10230", 153 | "55418", 154 | "24236", 155 | "36229", 156 | "10228", 157 | "24506", 158 | "34010", 159 | "42173", 160 | "18140", 161 | "58525", 162 | "43428", 163 | "4681", 164 | "45501", 165 | "203219", 166 | "18293", 167 | "131898", 168 | "36129", 169 | "23663", 170 | "203220", 171 | "7233", 172 | "15896", 173 | "394560", 174 | "58720" 175 | ] 176 | }, 177 | "microsoft": { 178 | "org_id": [ 179 | "@aut-45139-APNIC", 180 | "@aut-52985-LACNIC", 181 | "@aut-59067-APNIC", 182 | "@family-23326", 183 | "MSFT-ARIN", 184 | "ORG-MA42-RIPE", 185 | "ORG-MDMG3-RIPE", 186 | "ORG-NMP1-RIPE" 187 | ], 188 | "asns": [ 189 | "58862", 190 | "8075", 191 | "14719", 192 | "36006", 193 | "6291", 194 | "8069", 195 | "8072", 196 | "13399", 197 | "8074", 198 | "63314", 199 | "45139", 200 | "6182", 201 | "35106", 202 | "6194", 203 | "3598", 204 | "26222", 205 | "59067", 206 | "22692", 207 | "20046", 208 | "8071", 209 | "8073", 210 | "30575", 211 | "31792", 212 | "5761", 213 | "40066", 214 | "13811", 215 | "17345", 216 | "25796", 217 | "8070", 218 | "6584", 219 | "30135", 220 | "58593", 221 | "12076", 222 | "52985", 223 | "23468", 224 | "200517", 225 | "32476", 226 | "8812", 227 | "8068" 228 | ] 229 | }, 230 | "limelight": { 231 | "org_id": [ 232 | "@aut-45396-APNIC", 233 | "@family-26187", 234 | "LLNW-ARIN", 235 | "ORG-LN1-AFRINIC", 236 | "ORG-LNI1-RIPE" 237 | ], 238 | "asns": [ 239 | "37277", 240 | "55429", 241 | "60261", 242 | "23135", 243 | "23164", 244 | "12411", 245 | "25804", 246 | "45396", 247 | "26506", 248 | "23059", 249 | "22822", 250 | "38622", 251 | "27191", 252 | "38621" 253 | ] 254 | }, 255 | "google": { 256 | "org_id": [ 257 | "@aut-45566-APNIC", 258 | "GAL-53-ARIN", 259 | "GF-ARIN", 260 | "GOGL-ARIN", 261 | "GOOGL-1-ARIN", 262 | "GOOGL-2-ARIN", 263 | "GOOGL-5-ARIN", 264 | "GOOGL-9-ARIN", 265 | "GOOGL-ARIN", 266 | "ORG-GIL4-RIPE", 267 | "ORG-GKL1-AFRINIC", 268 | "ORG-GSG10-RIPE" 269 | ], 270 | "asns": [ 271 | "19448", 272 | "43515", 273 | "394639", 274 | "36384", 275 | "41264", 276 | "15169", 277 | "395973", 278 | "36987", 279 | "40873", 280 | "16591", 281 | "45566", 282 | "394699", 283 | "36040", 284 | "6432", 285 | "36039", 286 | "36385", 287 | "394507", 288 | "36492", 289 | "22859", 290 | "22577" 291 | ] 292 | }, 293 | "apple": { 294 | "org_id": [ 295 | "@aut-63707-APNIC", 296 | "APPLEC-1-Z-ARIN" 297 | ], 298 | "asns": [ 299 | "714", 300 | "2709", 301 | "6185", 302 | "63707" 303 | ] 304 | }, 305 | "akamai": { 306 | "org_id": [ 307 | "@family-25944", 308 | "AKAMAI-ARIN", 309 | "ORG-AT1-RIPE" 310 | ], 311 | "asns": [ 312 | "55770", 313 | "36183", 314 | "20189", 315 | "12222", 316 | "393560", 317 | "21342", 318 | "32787", 319 | "49846", 320 | "35994", 321 | "31109", 322 | "31107", 323 | "21357", 324 | "34850", 325 | "24319", 326 | "17334", 327 | "21399", 328 | "23455", 329 | "393234", 330 | "16625", 331 | "30675", 332 | "22207", 333 | "39836", 334 | "31108", 335 | "31110", 336 | "23454", 337 | "18680", 338 | "20940", 339 | "35204", 340 | "23903", 341 | "48163", 342 | "43639", 343 | "16702", 344 | "18717", 345 | "33905", 346 | "31377", 347 | "34164", 348 | "35993", 349 | "45757" 350 | ] 351 | }, 352 | "cdnetworks": { 353 | "org_id": [ 354 | "@family-40414", 355 | "CDNET-ARIN", 356 | "ORG-PEC1-RIPE" 357 | ], 358 | "asns": [ 359 | "36408", 360 | "40366", 361 | "38670", 362 | "38107", 363 | "43303" 364 | ] 365 | }, 366 | "bitgravity": { 367 | "org_id": [ 368 | "BITGR-ARIN" 369 | ], 370 | "asns": [ 371 | "40009" 372 | ] 373 | }, 374 | "cachefly": { 375 | "org_id": [ 376 | "CACHE-ARIN" 377 | ], 378 | "asns": [ 379 | "30081" 380 | ] 381 | }, 382 | "disney": { 383 | "org_id": [ 384 | "DISNE-7-ARIN", 385 | "DO-19-ARIN", 386 | "DWS-ARIN" 387 | ], 388 | "asns": [ 389 | "23344", 390 | "11812", 391 | "46557", 392 | "40051", 393 | "396054", 394 | "13379", 395 | "25932", 396 | "54330", 397 | "29736", 398 | "15260", 399 | "62787", 400 | "30311", 401 | "8137", 402 | "53578" 403 | ] 404 | }, 405 | "facebook": { 406 | "org_id": [ 407 | "FACEB-1-ARIN", 408 | "THEFA-3-ARIN" 409 | ], 410 | "asns": [ 411 | "32934", 412 | "54115", 413 | "63293" 414 | ] 415 | }, 416 | "highwinds": { 417 | "org_id": [ 418 | "HNG-3-ARIN" 419 | ], 420 | "asns": [ 421 | "11588", 422 | "20446", 423 | "29798", 424 | "33438", 425 | "18607" 426 | ] 427 | }, 428 | "hulu": { 429 | "org_id": [ 430 | "HULUL-ARIN" 431 | ], 432 | "asns": [ 433 | "23286" 434 | ] 435 | }, 436 | "incapsula": { 437 | "org_id": [ 438 | "INCAP-5-ARIN" 439 | ], 440 | "asns": [ 441 | "19551" 442 | ] 443 | }, 444 | "netflix": { 445 | "org_id": [ 446 | "NETFL-13-ARIN", 447 | "NETFL-31-ARIN", 448 | "SS-144-ARIN" 449 | ], 450 | "asns": [ 451 | "394406", 452 | "55095", 453 | "40027", 454 | "2906" 455 | ] 456 | }, 457 | "cdn77": { 458 | "org_id": [ 459 | "ORG-DL201-RIPE" 460 | ], 461 | "asns": [ 462 | "60068" 463 | ] 464 | }, 465 | "fastly": { 466 | "org_id": [ 467 | "SKYCA-3-ARIN" 468 | ], 469 | "asns": [ 470 | "394192", 471 | "54113" 472 | ] 473 | }, 474 | "twitter": { 475 | "org_id": [ 476 | "TWITT-ARIN" 477 | ], 478 | "asns": [ 479 | "54888", 480 | "35995", 481 | "13414" 482 | ] 483 | } 484 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2017_07_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-135630-APNIC", 6 | "@aut-17493-APNIC", 7 | "@aut-38895-APNIC", 8 | "@aut-58588-APNIC", 9 | "@family-21218", 10 | "AMAZO-4-ARIN", 11 | "AMAZON-4-ARIN", 12 | "ARL-76-ARIN", 13 | "ORG-ADSI1-RIPE" 14 | ], 15 | "asns": [ 16 | "39111", 17 | "135630", 18 | "7224", 19 | "395343", 20 | "62785", 21 | "58588", 22 | "9059", 23 | "10124", 24 | "19047", 25 | "38895", 26 | "8987", 27 | "16509", 28 | "17493", 29 | "14618" 30 | ] 31 | }, 32 | "cloudflare": { 33 | "org_id": [ 34 | "@aut-132892-APNIC", 35 | "@aut-133877-APNIC", 36 | "@family-771" 37 | ], 38 | "asns": [ 39 | "395747", 40 | "132892", 41 | "133877", 42 | "394536", 43 | "13335", 44 | "203898", 45 | "202623" 46 | ] 47 | }, 48 | "alibaba": { 49 | "org_id": [ 50 | "@aut-134963-APNIC", 51 | "@family-36600" 52 | ], 53 | "asns": [ 54 | "45102", 55 | "38369", 56 | "45096", 57 | "45104", 58 | "24429", 59 | "37963", 60 | "45108", 61 | "134963", 62 | "45103" 63 | ] 64 | }, 65 | "chinacache": { 66 | "org_id": [ 67 | "@aut-18216-APNIC", 68 | "@family-20548" 69 | ], 70 | "asns": [ 71 | "37958", 72 | "63543", 73 | "45098", 74 | "63541", 75 | "58856", 76 | "63542", 77 | "18216" 78 | ] 79 | }, 80 | "yahoo": { 81 | "org_id": [ 82 | "@aut-24572-APNIC", 83 | "@aut-28122-LACNIC", 84 | "@aut-45501-APNIC", 85 | "@aut-45502-APNIC", 86 | "@family-17281", 87 | "@family-19502", 88 | "@family-36075", 89 | "@family-42257", 90 | "@family-52322", 91 | "ORG-YE1-RIPE", 92 | "YAHO-ARIN", 93 | "YAHOO-1-ARIN", 94 | "YAOO-ARIN", 95 | "YHOO-ARIN" 96 | ], 97 | "asns": [ 98 | "45915", 99 | "55517", 100 | "394614", 101 | "36646", 102 | "24376", 103 | "393245", 104 | "36647", 105 | "14678", 106 | "24018", 107 | "24031", 108 | "28122", 109 | "34082", 110 | "38072", 111 | "17457", 112 | "23880", 113 | "26101", 114 | "38032", 115 | "55417", 116 | "32116", 117 | "23879", 118 | "7488", 119 | "36088", 120 | "10310", 121 | "15635", 122 | "45502", 123 | "24572", 124 | "203070", 125 | "204000", 126 | "10229", 127 | "134706", 128 | "394561", 129 | "2554", 130 | "40986", 131 | "22565", 132 | "7280", 133 | "14196", 134 | "36752", 135 | "10880", 136 | "24296", 137 | "23926", 138 | "4694", 139 | "2521", 140 | "5779", 141 | "56173", 142 | "26085", 143 | "58721", 144 | "4197", 145 | "38033", 146 | "23816", 147 | "17110", 148 | "38045", 149 | "45863", 150 | "55416", 151 | "55898", 152 | "394615", 153 | "10230", 154 | "55418", 155 | "24236", 156 | "36229", 157 | "10228", 158 | "24506", 159 | "34010", 160 | "42173", 161 | "18140", 162 | "58525", 163 | "43428", 164 | "4681", 165 | "45501", 166 | "203219", 167 | "18293", 168 | "131898", 169 | "36129", 170 | "23663", 171 | "203220", 172 | "7233", 173 | "15896", 174 | "394560", 175 | "58720" 176 | ] 177 | }, 178 | "microsoft": { 179 | "org_id": [ 180 | "@aut-45139-APNIC", 181 | "@aut-52985-LACNIC", 182 | "@aut-59067-APNIC", 183 | "@family-24701", 184 | "MSFT-ARIN", 185 | "ORG-MA42-RIPE", 186 | "ORG-MDMG3-RIPE", 187 | "ORG-NMP1-RIPE" 188 | ], 189 | "asns": [ 190 | "58862", 191 | "8075", 192 | "14719", 193 | "36006", 194 | "6291", 195 | "8069", 196 | "8072", 197 | "13399", 198 | "8074", 199 | "63314", 200 | "45139", 201 | "6182", 202 | "35106", 203 | "6194", 204 | "3598", 205 | "26222", 206 | "59067", 207 | "22692", 208 | "20046", 209 | "8071", 210 | "8073", 211 | "30575", 212 | "31792", 213 | "5761", 214 | "40066", 215 | "13811", 216 | "17345", 217 | "25796", 218 | "8070", 219 | "6584", 220 | "30135", 221 | "58593", 222 | "12076", 223 | "52985", 224 | "23468", 225 | "200517", 226 | "32476", 227 | "8812", 228 | "8068" 229 | ] 230 | }, 231 | "limelight": { 232 | "org_id": [ 233 | "@aut-45396-APNIC", 234 | "@family-27559", 235 | "LLNW-ARIN", 236 | "ORG-LN1-AFRINIC", 237 | "ORG-LNI1-RIPE" 238 | ], 239 | "asns": [ 240 | "37277", 241 | "55429", 242 | "60261", 243 | "23135", 244 | "23164", 245 | "12411", 246 | "25804", 247 | "45396", 248 | "26506", 249 | "23059", 250 | "22822", 251 | "38622", 252 | "27191", 253 | "38621" 254 | ] 255 | }, 256 | "google": { 257 | "org_id": [ 258 | "@aut-45566-APNIC", 259 | "GAL-53-ARIN", 260 | "GF-ARIN", 261 | "GOGL-ARIN", 262 | "GOOGL-1-ARIN", 263 | "GOOGL-2-ARIN", 264 | "GOOGL-5-ARIN", 265 | "GOOGL-9-ARIN", 266 | "GOOGL-ARIN", 267 | "ORG-GIL4-RIPE", 268 | "ORG-GKL1-AFRINIC", 269 | "ORG-GSG10-RIPE" 270 | ], 271 | "asns": [ 272 | "19448", 273 | "43515", 274 | "394639", 275 | "36384", 276 | "41264", 277 | "15169", 278 | "395973", 279 | "36987", 280 | "40873", 281 | "16591", 282 | "45566", 283 | "394699", 284 | "36040", 285 | "6432", 286 | "36039", 287 | "36385", 288 | "394507", 289 | "36492", 290 | "22859", 291 | "22577" 292 | ] 293 | }, 294 | "apple": { 295 | "org_id": [ 296 | "@aut-63707-APNIC", 297 | "APPLEC-1-Z-ARIN" 298 | ], 299 | "asns": [ 300 | "714", 301 | "2709", 302 | "6185", 303 | "63707" 304 | ] 305 | }, 306 | "akamai": { 307 | "org_id": [ 308 | "@family-27312", 309 | "AKAMAI-ARIN", 310 | "ORG-AT1-RIPE" 311 | ], 312 | "asns": [ 313 | "55770", 314 | "36183", 315 | "20189", 316 | "12222", 317 | "393560", 318 | "21342", 319 | "32787", 320 | "49846", 321 | "35994", 322 | "31109", 323 | "31107", 324 | "21357", 325 | "34850", 326 | "24319", 327 | "17334", 328 | "21399", 329 | "23455", 330 | "393234", 331 | "16625", 332 | "30675", 333 | "22207", 334 | "39836", 335 | "31108", 336 | "31110", 337 | "23454", 338 | "18680", 339 | "20940", 340 | "35204", 341 | "23903", 342 | "48163", 343 | "43639", 344 | "16702", 345 | "18717", 346 | "33905", 347 | "31377", 348 | "34164", 349 | "35993", 350 | "45757" 351 | ] 352 | }, 353 | "cdnetworks": { 354 | "org_id": [ 355 | "@family-41836", 356 | "CDNET-ARIN", 357 | "ORG-PEC1-RIPE" 358 | ], 359 | "asns": [ 360 | "36408", 361 | "40366", 362 | "38670", 363 | "38107", 364 | "43303" 365 | ] 366 | }, 367 | "bitgravity": { 368 | "org_id": [ 369 | "BITGR-ARIN" 370 | ], 371 | "asns": [ 372 | "40009" 373 | ] 374 | }, 375 | "cachefly": { 376 | "org_id": [ 377 | "CACHE-ARIN" 378 | ], 379 | "asns": [ 380 | "30081" 381 | ] 382 | }, 383 | "disney": { 384 | "org_id": [ 385 | "DISNE-7-ARIN", 386 | "DO-19-ARIN", 387 | "DWS-ARIN" 388 | ], 389 | "asns": [ 390 | "23344", 391 | "11812", 392 | "46557", 393 | "40051", 394 | "396054", 395 | "13379", 396 | "25932", 397 | "54330", 398 | "29736", 399 | "15260", 400 | "62787", 401 | "30311", 402 | "8137", 403 | "53578" 404 | ] 405 | }, 406 | "facebook": { 407 | "org_id": [ 408 | "FACEB-1-ARIN", 409 | "THEFA-3-ARIN" 410 | ], 411 | "asns": [ 412 | "32934", 413 | "54115", 414 | "63293" 415 | ] 416 | }, 417 | "highwinds": { 418 | "org_id": [ 419 | "HNG-3-ARIN" 420 | ], 421 | "asns": [ 422 | "11588", 423 | "20446", 424 | "29798", 425 | "33438", 426 | "18607" 427 | ] 428 | }, 429 | "hulu": { 430 | "org_id": [ 431 | "HULUL-ARIN" 432 | ], 433 | "asns": [ 434 | "23286" 435 | ] 436 | }, 437 | "incapsula": { 438 | "org_id": [ 439 | "INCAP-5-ARIN" 440 | ], 441 | "asns": [ 442 | "19551" 443 | ] 444 | }, 445 | "netflix": { 446 | "org_id": [ 447 | "NETFL-13-ARIN", 448 | "NETFL-31-ARIN", 449 | "SS-144-ARIN" 450 | ], 451 | "asns": [ 452 | "394406", 453 | "55095", 454 | "40027", 455 | "2906" 456 | ] 457 | }, 458 | "cdn77": { 459 | "org_id": [ 460 | "ORG-DL201-RIPE" 461 | ], 462 | "asns": [ 463 | "60068" 464 | ] 465 | }, 466 | "fastly": { 467 | "org_id": [ 468 | "SKYCA-3-ARIN" 469 | ], 470 | "asns": [ 471 | "394192", 472 | "54113" 473 | ] 474 | }, 475 | "twitter": { 476 | "org_id": [ 477 | "TWITT-ARIN" 478 | ], 479 | "asns": [ 480 | "54888", 481 | "35995", 482 | "13414" 483 | ] 484 | } 485 | } -------------------------------------------------------------------------------- /datasets/hypergiants/2017_10_hypergiants_asns.json: -------------------------------------------------------------------------------- 1 | { 2 | "amazon": { 3 | "org_id": [ 4 | "@aut-10124-APNIC", 5 | "@aut-135630-APNIC", 6 | "@aut-17493-APNIC", 7 | "@aut-38895-APNIC", 8 | "@aut-58588-APNIC", 9 | "@family-22127", 10 | "AMAZO-4-ARIN", 11 | "AMAZON-4-ARIN", 12 | "ARL-76-ARIN", 13 | "ORG-ADSI1-RIPE" 14 | ], 15 | "asns": [ 16 | "39111", 17 | "135630", 18 | "7224", 19 | "395343", 20 | "62785", 21 | "58588", 22 | "9059", 23 | "10124", 24 | "19047", 25 | "38895", 26 | "8987", 27 | "16509", 28 | "17493", 29 | "14618" 30 | ] 31 | }, 32 | "cloudflare": { 33 | "org_id": [ 34 | "@aut-132892-APNIC", 35 | "@aut-133877-APNIC", 36 | "@family-772" 37 | ], 38 | "asns": [ 39 | "395747", 40 | "132892", 41 | "133877", 42 | "394536", 43 | "13335", 44 | "203898", 45 | "202623" 46 | ] 47 | }, 48 | "alibaba": { 49 | "org_id": [ 50 | "@aut-134963-APNIC", 51 | "@family-37386" 52 | ], 53 | "asns": [ 54 | "45102", 55 | "38369", 56 | "45096", 57 | "45104", 58 | "24429", 59 | "37963", 60 | "45108", 61 | "134963", 62 | "45103" 63 | ] 64 | }, 65 | "chinacache": { 66 | "org_id": [ 67 | "@aut-18216-APNIC", 68 | "@family-21461" 69 | ], 70 | "asns": [ 71 | "37958", 72 | "63543", 73 | "45098", 74 | "63541", 75 | "58856", 76 | "63542", 77 | "18216" 78 | ] 79 | }, 80 | "yahoo": { 81 | "org_id": [ 82 | "@aut-24572-APNIC", 83 | "@aut-28122-LACNIC", 84 | "@aut-45501-APNIC", 85 | "@aut-45502-APNIC", 86 | "@family-18155", 87 | "@family-20379", 88 | "@family-36864", 89 | "@family-43099", 90 | "@family-53113", 91 | "ORG-YE1-RIPE", 92 | "YAHO-ARIN", 93 | "YAHOO-1-ARIN", 94 | "YAOO-ARIN", 95 | "YHOO-ARIN" 96 | ], 97 | "asns": [ 98 | "45915", 99 | "55517", 100 | "394614", 101 | "36646", 102 | "24376", 103 | "393245", 104 | "36647", 105 | "14678", 106 | "24018", 107 | "24031", 108 | "28122", 109 | "34082", 110 | "38072", 111 | "17457", 112 | "23880", 113 | "26101", 114 | "38032", 115 | "55417", 116 | "32116", 117 | "23879", 118 | "7488", 119 | "36088", 120 | "10310", 121 | "15635", 122 | "45502", 123 | "24572", 124 | "203070", 125 | "204000", 126 | "10229", 127 | "134706", 128 | "394561", 129 | "2554", 130 | "40986", 131 | "22565", 132 | "7280", 133 | "14196", 134 | "36752", 135 | "10880", 136 | "24296", 137 | "23926", 138 | "4694", 139 | "2521", 140 | "5779", 141 | "56173", 142 | "26085", 143 | "58721", 144 | "4197", 145 | "38033", 146 | "23816", 147 | "17110", 148 | "38045", 149 | "45863", 150 | "55416", 151 | "55898", 152 | "394615", 153 | "10230", 154 | "55418", 155 | "24236", 156 | "36229", 157 | "10228", 158 | "24506", 159 | "34010", 160 | "42173", 161 | "18140", 162 | "58525", 163 | "43428", 164 | "4681", 165 | "45501", 166 | "203219", 167 | "18293", 168 | "131898", 169 | "36129", 170 | "23663", 171 | "203220", 172 | "7233", 173 | "15896", 174 | "394560", 175 | "58720" 176 | ] 177 | }, 178 | "microsoft": { 179 | "org_id": [ 180 | "@aut-45139-APNIC", 181 | "@aut-52985-LACNIC", 182 | "@aut-59067-APNIC", 183 | "@family-25569", 184 | "MSFT-ARIN", 185 | "ORG-MA42-RIPE", 186 | "ORG-MDMG3-RIPE", 187 | "ORG-NMP1-RIPE" 188 | ], 189 | "asns": [ 190 | "58862", 191 | "8075", 192 | "14719", 193 | "36006", 194 | "6291", 195 | "8069", 196 | "8072", 197 | "13399", 198 | "8074", 199 | "63314", 200 | "45139", 201 | "6182", 202 | "35106", 203 | "6194", 204 | "3598", 205 | "26222", 206 | "59067", 207 | "22692", 208 | "20046", 209 | "8071", 210 | "8073", 211 | "30575", 212 | "31792", 213 | "5761", 214 | "40066", 215 | "13811", 216 | "17345", 217 | "25796", 218 | "8070", 219 | "6584", 220 | "30135", 221 | "58593", 222 | "12076", 223 | "52985", 224 | "23468", 225 | "200517", 226 | "32476", 227 | "8812", 228 | "8068" 229 | ] 230 | }, 231 | "limelight": { 232 | "org_id": [ 233 | "@aut-45396-APNIC", 234 | "@family-28421", 235 | "LLNW-ARIN", 236 | "ORG-LN1-AFRINIC", 237 | "ORG-LNI1-RIPE" 238 | ], 239 | "asns": [ 240 | "37277", 241 | "55429", 242 | "60261", 243 | "23135", 244 | "23164", 245 | "12411", 246 | "25804", 247 | "45396", 248 | "26506", 249 | "23059", 250 | "22822", 251 | "38622", 252 | "27191", 253 | "38621" 254 | ] 255 | }, 256 | "google": { 257 | "org_id": [ 258 | "@aut-45566-APNIC", 259 | "GAL-53-ARIN", 260 | "GF-ARIN", 261 | "GOGL-ARIN", 262 | "GOOGL-1-ARIN", 263 | "GOOGL-2-ARIN", 264 | "GOOGL-5-ARIN", 265 | "GOOGL-9-ARIN", 266 | "GOOGL-ARIN", 267 | "ORG-GIL4-RIPE", 268 | "ORG-GKL1-AFRINIC", 269 | "ORG-GSG10-RIPE" 270 | ], 271 | "asns": [ 272 | "19448", 273 | "43515", 274 | "41264", 275 | "394699", 276 | "6432", 277 | "36492", 278 | "16550", 279 | "36384", 280 | "395973", 281 | "16591", 282 | "36385", 283 | "394639", 284 | "15169", 285 | "36987", 286 | "394507", 287 | "22859", 288 | "22577", 289 | "40873", 290 | "45566", 291 | "36040", 292 | "36039" 293 | ] 294 | }, 295 | "apple": { 296 | "org_id": [ 297 | "@aut-63707-APNIC", 298 | "APPLEC-1-Z-ARIN" 299 | ], 300 | "asns": [ 301 | "714", 302 | "2709", 303 | "6185", 304 | "63707" 305 | ] 306 | }, 307 | "akamai": { 308 | "org_id": [ 309 | "@family-28174", 310 | "AKAMAI-ARIN", 311 | "ORG-AT1-RIPE" 312 | ], 313 | "asns": [ 314 | "55770", 315 | "36183", 316 | "20189", 317 | "12222", 318 | "393560", 319 | "21342", 320 | "32787", 321 | "49846", 322 | "35994", 323 | "31109", 324 | "31107", 325 | "21357", 326 | "34850", 327 | "24319", 328 | "17334", 329 | "21399", 330 | "23455", 331 | "393234", 332 | "16625", 333 | "30675", 334 | "22207", 335 | "39836", 336 | "31108", 337 | "31110", 338 | "23454", 339 | "18680", 340 | "20940", 341 | "35204", 342 | "23903", 343 | "48163", 344 | "43639", 345 | "16702", 346 | "18717", 347 | "33905", 348 | "31377", 349 | "34164", 350 | "35993", 351 | "45757" 352 | ] 353 | }, 354 | "cdnetworks": { 355 | "org_id": [ 356 | "@family-42681", 357 | "CDNET-ARIN", 358 | "ORG-PEC1-RIPE" 359 | ], 360 | "asns": [ 361 | "36408", 362 | "40366", 363 | "38670", 364 | "38107", 365 | "43303" 366 | ] 367 | }, 368 | "bitgravity": { 369 | "org_id": [ 370 | "BITGR-ARIN" 371 | ], 372 | "asns": [ 373 | "40009" 374 | ] 375 | }, 376 | "cachefly": { 377 | "org_id": [ 378 | "CACHE-ARIN" 379 | ], 380 | "asns": [ 381 | "30081" 382 | ] 383 | }, 384 | "disney": { 385 | "org_id": [ 386 | "DISNE-7-ARIN", 387 | "DO-19-ARIN", 388 | "DWS-ARIN" 389 | ], 390 | "asns": [ 391 | "23344", 392 | "11812", 393 | "46557", 394 | "40051", 395 | "396054", 396 | "13379", 397 | "25932", 398 | "54330", 399 | "17122", 400 | "29736", 401 | "15260", 402 | "62787", 403 | "30311", 404 | "8137", 405 | "53578" 406 | ] 407 | }, 408 | "facebook": { 409 | "org_id": [ 410 | "FACEB-1-ARIN", 411 | "THEFA-3-ARIN" 412 | ], 413 | "asns": [ 414 | "32934", 415 | "54115", 416 | "63293" 417 | ] 418 | }, 419 | "highwinds": { 420 | "org_id": [ 421 | "HNG-3-ARIN" 422 | ], 423 | "asns": [ 424 | "11588", 425 | "20446", 426 | "29798", 427 | "33438", 428 | "18607" 429 | ] 430 | }, 431 | "hulu": { 432 | "org_id": [ 433 | "HULUL-ARIN" 434 | ], 435 | "asns": [ 436 | "23286" 437 | ] 438 | }, 439 | "incapsula": { 440 | "org_id": [ 441 | "INCAP-5-ARIN" 442 | ], 443 | "asns": [ 444 | "19551" 445 | ] 446 | }, 447 | "netflix": { 448 | "org_id": [ 449 | "NETFL-13-ARIN", 450 | "NETFL-31-ARIN", 451 | "SS-144-ARIN" 452 | ], 453 | "asns": [ 454 | "394406", 455 | "55095", 456 | "40027", 457 | "2906" 458 | ] 459 | }, 460 | "cdn77": { 461 | "org_id": [ 462 | "ORG-DL201-RIPE" 463 | ], 464 | "asns": [ 465 | "60068" 466 | ] 467 | }, 468 | "fastly": { 469 | "org_id": [ 470 | "SKYCA-3-ARIN" 471 | ], 472 | "asns": [ 473 | "394192", 474 | "54113" 475 | ] 476 | }, 477 | "twitter": { 478 | "org_id": [ 479 | "TWITT-ARIN" 480 | ], 481 | "asns": [ 482 | "54888", 483 | "35995", 484 | "13414" 485 | ] 486 | } 487 | } -------------------------------------------------------------------------------- /datasets/hypergiants/README.md: -------------------------------------------------------------------------------- 1 | ## Hypergiant ASes 2 | -------------------------------------------------------------------------------- /datasets/ip_to_as/README.md: -------------------------------------------------------------------------------- 1 | ## IP-to-AS Mapping 2 | 3 | The IP-to-AS mappings that we used in this work can be [here](https://liveuclac-my.sharepoint.com/:f:/g/personal/ucabpgk_ucl_ac_uk/EujvVAp0lqBBpY-EgY5IZSgBLTgoxv7xwtRW92YGe9hDLA?e=2iSwLV). 4 | 5 | Please copy the contents of the OneDrive folder in this directory. 6 | 7 | Access password is: ```sigcomm2021-476``` -------------------------------------------------------------------------------- /datasets/organization_info/README.md: -------------------------------------------------------------------------------- 1 | ## AS-to-Organization info 2 | 3 | This dataset is provided by [CAIDA](https://www.caida.org). 4 | You can download the datasets [here](https://publicdata.caida.org/datasets/as-organizations/). 5 | 6 | You need to download only files ending with ".as-org2info.txt.gz". 7 | -------------------------------------------------------------------------------- /datasets/tld_suffixes/README.md: -------------------------------------------------------------------------------- 1 | ## Public Suffix List 2 | 3 | The suffix list was extracted from the [publicsuffix.org](https://publicsuffix.org). 4 | -------------------------------------------------------------------------------- /datasets/tls_scans/README.md: -------------------------------------------------------------------------------- 1 | The active scan TLS/SSL certificate dataset, which took place in Nov. 21-25, 2019 can be found at: 2 | https://liveuclac-my.sharepoint.com/:f:/g/personal/ucabpgk_ucl_ac_uk/Ekb_VbFdQghCntUHh98v-NoBdnSdS_XAh6859ME1RCLDpQ?e=h6gc17 3 | 4 | Access password is: ```sigcomm2021-476``` 5 | -------------------------------------------------------------------------------- /datasets/tls_scans/active/README.md: -------------------------------------------------------------------------------- 1 | ## Active Scan 2 | he active scan TLS/SSL certificate dataset, which took place in Nov. 21-25, 2019 can be found [here](https://liveuclac-my.sharepoint.com/:f:/g/personal/ucabpgk_ucl_ac_uk/Ekb_VbFdQghCntUHh98v-NoBdnSdS_XAh6859ME1RCLDpQ?e=h6gc17). 3 | -------------------------------------------------------------------------------- /datasets/tls_scans/rapid7/certificates/ssl_certificates_https_443_filenames.txt: -------------------------------------------------------------------------------- 1 | 20131030-20150518_certs.gz 2 | 20150601_certs.gz 3 | 20150608_certs.gz 4 | 20150615_certs.gz 5 | 20150622_certs.gz 6 | 20150629_certs.gz 7 | 20150706_certs.gz 8 | 20150713_certs.gz 9 | 20150720_certs.gz 10 | 20150727_certs.gz 11 | 20150803_certs.gz 12 | 20150810_certs.gz 13 | 20150817_certs.gz 14 | 20150824_certs.gz 15 | 20150831_certs.gz 16 | 20150907_certs.gz 17 | 20150914_certs.gz 18 | 20150921_certs.gz 19 | 20150928_certs.gz 20 | 20151005_certs.gz 21 | 20151012_certs.gz 22 | 20151019_certs.gz 23 | 20151026_certs.gz 24 | 20151102_certs.gz 25 | 20151109_certs.gz 26 | 20151116_certs.gz 27 | 20151123_certs.gz 28 | 20151130_certs.gz 29 | 20151207_certs.gz 30 | 20151214_certs.gz 31 | 20151221_certs.gz 32 | 20151228_certs.gz 33 | 20160104_certs.gz 34 | 20160111_certs.gz 35 | 20160118_certs.gz 36 | 20160125_certs.gz 37 | 20160201_certs.gz 38 | 20160215_certs.gz 39 | 20160222_certs.gz 40 | 20160229_certs.gz 41 | 20160307_certs.gz 42 | 20160314_certs.gz 43 | 20160321_certs.gz 44 | 20160328_certs.gz 45 | 20160404_certs.gz 46 | 20160411_certs.gz 47 | 20160418_certs.gz 48 | 20160502_certs.gz 49 | 20160509_certs.gz 50 | 20160516_certs.gz 51 | 20160523_certs.gz 52 | 20160530_certs.gz 53 | 20160606_certs.gz 54 | 20160613_certs.gz 55 | 20160620_certs.gz 56 | 20160627_certs.gz 57 | 20160704_certs.gz 58 | 20160711_certs.gz 59 | 20160718_certs.gz 60 | 20160725_certs.gz 61 | 20160801_certs.gz 62 | 20160808_certs.gz 63 | 20160815_certs.gz 64 | 20160822_certs.gz 65 | 20160829_certs.gz 66 | 20160905_certs.gz 67 | 20160912_certs.gz 68 | 20160919_certs.gz 69 | 20160926_certs.gz 70 | 20161003_certs.gz 71 | 20161010_certs.gz 72 | 20161017_certs.gz 73 | 20161024_certs.gz 74 | 20161031_certs.gz 75 | 20161107_certs.gz 76 | 20161114_certs.gz 77 | 20161121_certs.gz 78 | 20161128_certs.gz 79 | 20161205_certs.gz 80 | 20161212_certs.gz 81 | 20161219_certs.gz 82 | 20161226_certs.gz 83 | 2017-04-25-1493096401-https_get_443_certs.gz 84 | 2017-05-09-1494291601-https_get_443_certs.gz 85 | 2017-05-23-1495501201-https_get_443_certs.gz 86 | 2017-06-06-1496710801-https_get_443_certs.gz 87 | 2017-06-20-1498000303-https_get_443_certs.gz 88 | 2017-07-18-1500339601-https_get_443_certs.gz 89 | 2017-08-01-1501549201-https_get_443_certs.gz 90 | 2017-08-15-1502758801-https_get_443_certs.gz 91 | 2017-08-29-1503968401-https_get_443_certs.gz 92 | 2017-09-12-1505178001-https_get_443_certs.gz 93 | 2017-09-26-1506387601-https_get_443_certs.gz 94 | 2017-10-10-1507597201-https_get_443_certs.gz 95 | 2017-10-24-1508806801-https_get_443_certs.gz 96 | 2017-11-07-1510016401-https_get_443_certs.gz 97 | 2017-11-21-1511226001-https_get_443_certs.gz 98 | 2017-12-05-1512435601-https_get_443_certs.gz 99 | 2017-12-19-1513645201-https_get_443_certs.gz 100 | 20170102_certs.gz 101 | 20170109_certs.gz 102 | 20170116_certs.gz 103 | 20170123_certs.gz 104 | 20170130_certs.gz 105 | 20170206_certs.gz 106 | 20170213_certs.gz 107 | 20170220_ssl_443_certs.gz 108 | 20170227_ssl_443_certs.gz 109 | 20170306_ssl_443_certs.gz 110 | 20170313_ssl_443_certs.gz 111 | 20170320_ssl_443_certs.gz 112 | 20170327_ssl_443_certs.gz 113 | 20170403_ssl_443_certs.gz 114 | 20170410_ssl_443_certs.gz 115 | 2018-01-02-1514854801-https_get_443_certs.gz 116 | 2018-01-16-1516126276-https_get_443_certs.gz 117 | 2018-01-30-1517274001-https_get_443_certs.gz 118 | 2018-02-13-1518483602-https_get_443_certs.gz 119 | 2018-02-27-1519693202-https_get_443_certs.gz 120 | 2018-03-13-1520902801-https_get_443_certs.gz 121 | 2018-03-27-1522112401-https_get_443_certs.gz 122 | 2018-04-24-1524531601-https_get_443_certs.gz 123 | 2018-05-08-1525741201-https_get_443_certs.gz 124 | 2018-05-22-1526950801-https_get_443_certs.gz 125 | 2018-06-05-1528160402-https_get_443_certs.gz 126 | 2018-06-19-1529370001-https_get_443_certs.gz 127 | 2018-07-03-1530579601-https_get_443_certs.gz 128 | 2018-07-17-1531789202-https_get_443_certs.gz 129 | 2018-07-31-1532998801-https_get_443_certs.gz 130 | 2018-08-14-1534213500-https_get_443_certs.gz 131 | 2018-08-28-1535421945-https_get_443_certs.gz 132 | 2018-09-11-1536631488-https_get_443_certs.gz 133 | 2018-09-25-1537841113-https_get_443_certs.gz 134 | 2018-10-09-1539053915-https_get_443_certs.gz 135 | 2018-10-14-1539548340-https_get_443_certs.gz 136 | 2018-10-23-1540260352-https_get_443_certs.gz 137 | 2018-11-06-1541469869-https_get_443_certs.gz 138 | 2018-11-20-1542679548-https_get_443_certs.gz 139 | 2018-12-04-1543919942-https_get_443_certs.gz 140 | 2018-12-18-1545098674-https_get_443_certs.gz 141 | 2019-01-01-1546308539-https_get_443_certs.gz 142 | 2019-01-22-1548200436-https_get_443_certs.gz 143 | 2019-01-29-1548727572-https_get_443_certs.gz 144 | 2019-02-12-1549937156-https_get_443_certs.gz 145 | 2019-02-26-1551146777-https_get_443_certs.gz 146 | 2019-03-12-1552356298-https_get_443_certs.gz 147 | 2019-03-26-1553565834-https_get_443_certs.gz 148 | 2019-04-09-1554775542-https_get_443_certs.gz 149 | 2019-05-07-1557268444-https_get_443_certs.gz 150 | 2019-05-20-1558346873-https_get_443_certs.gz 151 | 2019-06-04-1559634084-https_get_443_certs.gz 152 | 2019-06-17-1560792389-https_get_443_certs.gz 153 | 2019-07-03-1562152449-https_get_443_certs.gz 154 | 2019-07-15-1563217428-https_get_443_certs.gz 155 | 2019-07-29-1564401428-https_get_443_certs.gz 156 | 2019-08-12-1565610525-https_get_443_certs.gz 157 | 2019-08-26-1566844269-https_get_443_certs.gz 158 | 2019-09-09-1568060263-https_get_443_certs.gz 159 | 2019-09-23-1569200789-https_get_443_certs.gz 160 | 2019-10-07-1570486313-https_get_443_certs.gz 161 | 2019-10-21-1571661398-https_get_443_certs.gz 162 | 2019-11-05-1572929068-https_get_443_certs.gz 163 | 2019-11-18-1574084778-https_get_443_certs.gz 164 | 2019-12-02-1575296952-https_get_443_certs.gz 165 | 2019-12-16-1576479678-https_get_443_certs.gz 166 | 2019-12-30-1577687056-https_get_443_certs.gz 167 | 2020-01-13-1578924730-https_get_443_certs.gz 168 | 2020-01-27-1580106767-https_get_443_certs.gz 169 | 2020-02-07-1581043323-https_get_443_certs.gz 170 | 2020-02-11-1581391391-https_get_443_certs.gz 171 | 2020-02-24-1582556770-https_get_443_certs.gz 172 | 2020-03-09-1583740467-https_get_443_certs.gz 173 | 2020-03-23-1584982725-https_get_443_certs.gz 174 | 2020-04-06-1586162729-https_get_443_certs.gz 175 | 2020-04-22-1587570618-https_get_443_certs.gz 176 | 2020-05-05-1588648500-https_get_443_certs.gz 177 | 2020-05-20-1590005476-https_get_443_certs.gz 178 | 2020-06-02-1591080074-https_get_443_certs.gz 179 | 2020-06-16-1592300864-https_get_443_certs.gz 180 | 2020-07-13-1594678763-https_get_443_certs.gz 181 | 2020-07-27-1595883775-https_get_443_certs.gz 182 | 2020-08-10-1597021712-https_get_443_certs.gz 183 | 2020-08-25-1598327167-https_get_443_certs.gz 184 | 2020-09-07-1599440782-https_get_443_certs.gz 185 | 2020-09-21-1600650409-https_get_443_certs.gz 186 | 2020-10-05-1601859930-https_get_443_certs.gz 187 | 2020-10-19-1603069660-https_get_443_certs.gz 188 | 2020-11-02-1604279231-https_get_443_certs.gz 189 | 2020-11-16-1605488705-https_get_443_certs.gz 190 | 2020-11-30-1606698388-https_get_443_certs.gz -------------------------------------------------------------------------------- /datasets/tls_scans/rapid7/hosts/ssl_certificates_https_443_hosts_filenames.txt: -------------------------------------------------------------------------------- 1 | 20131030_hosts.gz 2 | 20140106_hosts.gz 3 | 20140407_hosts.gz 4 | 20140707_hosts.gz 5 | 20141013_hosts.gz 6 | 20150105_hosts.gz 7 | 20150406_hosts.gz 8 | 20150706_hosts.gz 9 | 20151005_hosts.gz 10 | 20160111_hosts.gz 11 | 20160404_hosts.gz 12 | 20160704_hosts.gz 13 | 20161003_hosts.gz 14 | 20170102_hosts.gz 15 | 20170403_ssl_443_hosts.gz 16 | 2017-07-18-1500339601-https_get_443_hosts.gz 17 | 2017-10-10-1507597201-https_get_443_hosts.gz 18 | 2017-10-24-1508806801-https_get_443_hosts.gz 19 | 2018-01-02-1514854801-https_get_443_hosts.gz 20 | 2018-04-24-1524531601-https_get_443_hosts.gz 21 | 2018-07-03-1530579601-https_get_443_hosts.gz 22 | 2018-10-23-1540260352-https_get_443_hosts.gz 23 | 2019-01-01-1546308539-https_get_443_hosts.gz 24 | 2019-04-09-1554775542-https_get_443_hosts.gz 25 | 2019-07-03-1562152449-https_get_443_hosts.gz 26 | 2019-10-07-1570486313-https_get_443_hosts.gz 27 | 2019-11-18-1574084778-https_get_443_hosts.gz 28 | 2019-12-16-1576479678-https_get_443_hosts.gz 29 | 2020-01-13-1578924730-https_get_443_hosts.gz 30 | 2020-02-11-1581391391-https_get_443_hosts.gz 31 | 2020-03-09-1583740467-https_get_443_hosts.gz 32 | 2020-04-06-1586162729-https_get_443_hosts.gz 33 | 2020-05-05-1588648500-https_get_443_hosts.gz 34 | 2020-06-16-1592300864-https_get_443_hosts.gz 35 | 2020-07-13-1594678763-https_get_443_hosts.gz 36 | 2020-08-10-1597021712-https_get_443_hosts.gz 37 | 2020-09-21-1600650409-https_get_443_hosts.gz 38 | 2020-10-05-1601859930-https_get_443_hosts.gz 39 | 2020-11-30-1606698388-https_get_443_hosts.gz -------------------------------------------------------------------------------- /meta-analysis/country_coverage.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import argparse 4 | 5 | 6 | if __name__ == '__main__': 7 | parser = argparse.ArgumentParser(description='Find country percentage of population coverage.') 8 | parser.add_argument('-i', '--input_folder', 9 | help='The result input folder.', 10 | type=str, 11 | required=True) 12 | 13 | parser.add_argument('-a', '--apnic_file', 14 | help='The APNIC file.', 15 | type=str, 16 | required=True) 17 | 18 | args = parser.parse_args() 19 | 20 | if args.input_folder[-1] != "/": 21 | args.input_folder += "/" 22 | 23 | if not os.path.exists('results'): 24 | os.makedirs('results') 25 | 26 | newFolder_path = "results/" + args.input_folder.split('/')[-2] + "/" + "country_coverage/" 27 | 28 | if not os.path.exists(newFolder_path): 29 | os.makedirs(newFolder_path) 30 | 31 | files_in_off_nets_folder = os.listdir(args.input_folder + "off-nets/") 32 | 33 | storeData = {} 34 | hg_keywords_l = list() 35 | 36 | for file in files_in_off_nets_folder: 37 | if '.txt' in file: 38 | hg_keyword = file.split('.')[0] 39 | hg_keywords_l.append(hg_keyword) 40 | 41 | if hg_keyword not in storeData: 42 | storeData[hg_keyword] = {} 43 | 44 | with open(args.input_folder + "off-nets/" + file, 'rt') as f: 45 | for line in f: 46 | data = json.loads(line) 47 | for ASN in data: 48 | storeData[hg_keyword][str(ASN)] = None 49 | 50 | with open(args.apnic_file, 'rt') as f: 51 | apnic_data_json = json.load(f) 52 | for hg_keyword in hg_keywords_l: 53 | for ASN_offnet in storeData[hg_keyword]: 54 | with open(newFolder_path + hg_keyword + ".txt", 'wt') as fw: 55 | for country in apnic_data_json: 56 | coverage_perc = 0.0 57 | for ASN_country in apnic_data_json[country]: 58 | if str(ASN_country) in storeData[hg_keyword]: 59 | coverage_perc += apnic_data_json[country][ASN_country] 60 | 61 | fw.write("{0},{1}\n".format(country, coverage_perc)) -------------------------------------------------------------------------------- /meta-analysis/explore_results.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | import argparse 4 | 5 | 6 | if __name__ == '__main__': 7 | parser = argparse.ArgumentParser(description='Displays results for an analysis.') 8 | parser.add_argument('-i', '--input_folder', 9 | help='The result input folder.', 10 | type=str, 11 | required=True) 12 | 13 | parser.add_argument('-p', '--print_ases', 14 | help='Print ASes list.', 15 | type=bool, 16 | required=False, 17 | default=False) 18 | 19 | args = parser.parse_args() 20 | 21 | input_folder = args.input_folder 22 | if input_folder[-1] != "/": 23 | input_folder += "/" 24 | 25 | storeData = {} 26 | storeData['candidate'] = {} 27 | storeData['validated'] = {} 28 | 29 | hg_keywords_l = list() 30 | 31 | files_in_candidate_off_nets_folder = os.listdir(input_folder + "candidate_off-nets/") 32 | 33 | for file in files_in_candidate_off_nets_folder: 34 | if '.txt' in file: 35 | hg_keyword = file.split('.')[0] 36 | hg_keywords_l.append(hg_keyword) 37 | 38 | if hg_keyword not in storeData['candidate']: 39 | storeData['candidate'][hg_keyword] = set() 40 | 41 | with open(input_folder + "candidate_off-nets/" + file, 'rt') as f: 42 | for line in f: 43 | data = json.loads(line) 44 | storeData['candidate'][hg_keyword].add(data['ASN']) 45 | 46 | files_in_off_nets_folder = os.listdir(input_folder + "off-nets/") 47 | 48 | for file in files_in_off_nets_folder: 49 | if '.txt' in file: 50 | hg_keyword = file.split('.')[0] 51 | hg_keywords_l.append(hg_keyword) 52 | 53 | if hg_keyword not in storeData['validated']: 54 | storeData['validated'][hg_keyword] = set() 55 | 56 | with open(input_folder + "off-nets/" + file, 'rt') as f: 57 | for line in f: 58 | data = json.loads(line) 59 | storeData['validated'][hg_keyword].update(list(data.keys())) 60 | 61 | for hg_keyword in hg_keywords_l: 62 | print("\nHG Keyword: '{}'".format(hg_keyword)) 63 | print("Found Candidate Off-nets (only certificates) in {0} ASes.".format(len(storeData['candidate'][hg_keyword]))) 64 | print("Found Off-nets (validated with HTTP(s) headers) in {0} ASes.".format(len(storeData['validated'][hg_keyword]))) 65 | 66 | if args.print_ases: 67 | print("ASes for Candidate Off-nets:") 68 | print("{}".format(", ".join( ["AS" + str(ASN) for ASN in storeData['candidate'][hg_keyword]]))) 69 | print('- - -') 70 | print("ASes for Validated Off-nets:") 71 | print("{}".format(", ".join( ["AS" + str(ASN) for ASN in storeData['validated'][hg_keyword]]))) 72 | print("-------------------------------------------------------------------") -------------------------------------------------------------------------------- /meta-analysis/group_by_continent.py: -------------------------------------------------------------------------------- 1 | import os 2 | import csv 3 | import json 4 | import argparse 5 | import collections 6 | 7 | def read_org_info(filename): 8 | orgid_to_countries = {} 9 | orgid_to_asns = collections.defaultdict(set) 10 | count = 0 11 | with open(args.as2org, 'r') as f1: 12 | line = f1.readline() 13 | while line: 14 | data = [] 15 | while line.startswith('#'): 16 | line = f1.readline() 17 | if not line: 18 | break 19 | while not line.startswith('#'): 20 | data.append(line) 21 | line = f1.readline() 22 | if not line: 23 | break 24 | reader = csv.reader(data, delimiter='|') 25 | for row in reader: 26 | if count == 0: 27 | orgid_to_countries[row[0]] = row[3] 28 | elif count == 1: 29 | orgid_to_asns[row[3]].add(row[0]) 30 | count += 1 31 | 32 | asn_to_country_caida = {} 33 | for key in orgid_to_countries.keys(): 34 | for asn in orgid_to_asns[key]: 35 | asn_to_country_caida[asn] = orgid_to_countries[key] 36 | 37 | return asn_to_country_caida 38 | 39 | 40 | def read_country_to_continent(filename="../datasets/country_to_continent/country_to_continent.txt"): 41 | coutnry_to_continent_d = dict() 42 | with open(filename, 'r') as f2: 43 | next(f2) 44 | reader = csv.reader(f2, delimiter=',') 45 | coutnry_to_continent_d = { key: value for key, value in reader } 46 | return coutnry_to_continent_d 47 | 48 | 49 | if __name__ == '__main__': 50 | parser = argparse.ArgumentParser(description='Group hypergiant off-net ASes per continent.') 51 | parser.add_argument('-i', '--input_folder', 52 | help='The result input folder.', 53 | type=str, 54 | required=True) 55 | 56 | parser.add_argument('-c', '--as2org', 57 | help='The CAIDA AS-to-Organization info file.', 58 | type=str, 59 | required=True) 60 | 61 | args = parser.parse_args() 62 | 63 | if args.input_folder[-1] != "/": 64 | args.input_folder += "/" 65 | 66 | asn_to_country_caida_d = read_org_info(args.as2org) 67 | country_to_continent_d = read_country_to_continent() 68 | 69 | files_in_off_nets_folder = os.listdir(args.input_folder + "off-nets/") 70 | 71 | storeData = {} 72 | hg_keywords_l = list() 73 | 74 | for file in files_in_off_nets_folder: 75 | if '.txt' in file: 76 | hg_keyword = file.split('.')[0] 77 | hg_keywords_l.append(hg_keyword) 78 | 79 | if hg_keyword not in storeData: 80 | storeData[hg_keyword] = { 81 | "EU": set(), 82 | "AF": set(), 83 | "SA": set(), 84 | "AS": set(), 85 | "NA": set(), 86 | "OC": set() 87 | } 88 | 89 | with open(args.input_folder + "off-nets/" + file, 'rt') as f: 90 | for line in f: 91 | data = json.loads(line) 92 | for ASN in data: 93 | if ASN in asn_to_country_caida_d: 94 | cc = asn_to_country_caida_d[ASN] 95 | if cc in country_to_continent_d: 96 | continent_ = country_to_continent_d[cc] 97 | storeData[hg_keyword][continent_].add(ASN) 98 | newFolder_path = "results/" + args.input_folder.split('/')[-2] + "/" + "offnets_to_continents/" 99 | 100 | if not os.path.exists(newFolder_path): 101 | os.makedirs(newFolder_path) 102 | 103 | for hg_keyword in hg_keywords_l: 104 | with open(newFolder_path + hg_keyword + ".txt", 'wt') as fw: 105 | for continent in storeData[hg_keyword]: 106 | fw.write("{0}: {1} ASes\n".format(continent, len(storeData[hg_keyword][continent]))) 107 | fw.write('# # #\n') 108 | for continent in storeData[hg_keyword]: 109 | fw.write("{0}: {1} \n- - - \n".format(continent, ", ".join(["AS" + str(ASN) for ASN in storeData[hg_keyword][continent]]))) -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pytricia==1.0.2 2 | anytree==2.8.0 3 | py-radix==0.10.0 4 | --------------------------------------------------------------------------------