Search
Write a publication
Pull to refresh

Дилемма о CloudFlare

Вступление


Добрый день, хабравчане!
Все началось с того, когда я начал искать курс по 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.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.