Вступление
Добрый день, хабравчане!
Все началось с того, когда я начал искать курс по Java. Я открыл, как обычно, гугл, в поисках интерактивного курса, и наткнулся на сайт http://www.learnjavaonline.org/, но тут меня разочаровал мой провайдер такой плашкой:
Очень странно получается, проверил домен в Едином Реестре:
А вот ip был заблокирован:
Причина
Whois мне сказал что это IP CloudFlare.
Согласно https://www.cloudflare.com/ips-v4 данный ip адрес входит диапазон адресов CDN Cloudflare.
Мне пришла мысль проверить все сайты в реестре, у которых возможно ip адрес Cloudflare.
Вот такой код у меня получился:
import xml.etree.ElementTree as ET
from iptools import IpRange
#CloudFlare IP Range List
#https://www.cloudflare.com/ips-v4
cloudflare_list = [
'199.27.128.0/21',
'173.245.48.0/20',
'103.21.244.0/22',
'103.22.200.0/22',
'103.31.4.0/22',
'141.101.64.0/18',
'108.162.192.0/18',
'190.93.240.0/20',
'188.114.96.0/20',
'197.234.240.0/22',
'198.41.128.0/17',
'162.158.0.0/15',
'104.16.0.0/12']
ips = []
#Parse dump.xml
tree = ET.parse('dump.xml')
root = tree.getroot()
#Block Site List
for child in root:
for ip_item in cloudflare_list:
if child.find('ip').text in IpRange(ip_item):
ips.append(child.find('ip').text)
print(['CloudFlare DNS: '+ ip_item,child.attrib['id'],child.find('domain').text,child.find('ip').text])
print('IP Адресов CloudFlare: ',len(list(set(ips))) )
После работы скрипта я получил такой итог:
IP Адреса:
['141.101.116.183', '108.162.206.77', '108.162.196.49', '141.101.116.186', '141.101.113.144', '108.162.198.214', '108.162.197.236', '108.162.198.193', '108.162.199.76', '199.27.135.144', '141.101.116.94', '141.101.116.100', '108.162.196.126', '108.162.196.125', '108.162.196.124', '141.101.117.220', '108.162.199.188', '108.162.197.129', '162.159.250.184', '108.162.195.104', '141.101.117.169', '108.162.199.186', '108.162.196.36', '108.162.197.125', '108.162.197.24', '108.162.197.23', '108.162.196.56', '162.159.248.80', '141.101.117.252', '141.101.116.46', '162.159.254.195', '108.162.198.192', '199.27.135.155', '141.101.117.94', '162.159.243.195', '108.162.196.243', '108.162.196.118', '141.101.117.250', '141.101.117.120', '141.101.117.126', '162.159.244.195', '141.101.116.174', '108.162.199.214', '141.101.116.173', '108.162.197.134', '199.27.134.104', '141.101.117.65', '198.41.181.70', '199.27.134.153', '162.159.247.101', '141.101.117.32', '108.162.197.16', '108.162.196.252', '108.162.198.242', '141.101.116.202', '141.101.116.252', '141.101.117.174', '108.162.196.122', '199.27.134.37', '108.162.196.142', '108.162.199.124', '108.162.207.215', '108.162.196.72', '141.101.117.208', '108.162.198.142', '108.162.196.94', '141.101.116.104', '141.101.112.118', '141.101.116.194', '190.93.251.52', '108.162.198.47', '141.101.116.217', '141.101.116.216', '141.101.127.137', '108.162.199.89', '141.101.116.85', '141.101.116.87', '108.162.198.203', '108.162.193.171', '108.162.199.85', '108.162.198.164', '141.101.117.238', '141.101.117.100', '162.159.252.196', '162.159.240.225', '141.101.117.230', '108.162.202.195', '108.162.197.94', '141.101.117.48', '108.162.199.233', '108.162.199.234', '108.162.199.236', '108.162.196.236', '108.162.199.238', '141.101.117.186', '141.101.116.70', '141.101.116.57', '173.245.61.162', '162.159.246.6', '162.159.242.235', '141.101.116.59', '141.101.116.225', '108.162.198.16', '162.159.247.243', '108.162.197.243', '199.27.135.107', '141.101.116.145', '173.245.60.98', '199.27.134.15', '162.159.245.227', '108.162.197.166', '141.101.123.45', '108.162.198.126', '108.162.198.123', '141.101.116.113', '108.162.199.16', '198.41.249.149', '108.162.196.12', '173.245.61.5', '141.101.116.61', '108.162.196.19', '108.162.199.24', '108.162.202.135', '141.101.116.230', '141.101.116.238', '108.162.196.152', '108.162.197.178', '108.162.196.154', '199.27.135.15', '108.162.196.87', '141.101.123.144', '199.27.134.144', '108.162.196.37', '141.101.116.63', '108.162.198.236', '108.162.198.231', '141.101.116.248', '108.162.196.103', '141.101.117.135', '141.101.117.84', '141.101.117.85', '108.162.199.164', '141.101.118.127', '141.101.118.126', '108.162.199.231', '108.162.197.221', '108.162.192.36', '162.159.241.235', '162.159.243.119', '108.162.197.142', '108.162.198.104', '108.162.199.147', '108.162.198.223', '108.162.197.148', '108.162.199.90', '141.101.117.33', '141.101.116.250', '141.101.116.253', '108.162.198.80', '108.162.198.85', '108.162.198.89', '108.162.197.118', '108.162.201.241', '141.101.116.48', '108.162.198.227', '108.162.199.177', '141.101.117.145', '141.101.117.146', '162.159.251.184', '108.162.199.150', '108.162.196.23', '108.162.199.123', '108.162.196.178', '108.162.196.221', '108.162.197.152', '198.41.187.76', '190.93.254.4', '108.162.196.183']
IP Адресов CloudFlare: 178
Блокировать CloudFlare бессмысленно, но что-то блокировать РосКомНадзору нужно, поэтому он не задумываясь, как работает CDN, они просто пингуют сайт и берут первый попавшийся выданный IP.
Домены, которые значились под этими ip, я выкладывать не буду, но скажу что половина сайтов функционирует в прежнем режиме. Такими темпами скоро совсем будет заблокирован большой сегмент сети CloudFlare.