Чи є простий спосіб дізнатися всі IP-адреси, якими користуються Facebook, Myspace, Snapchat тощо?
Використовуючи Facebook як приклад ... Ми контролюємо їх пропускну здатність на невелику частину нашої сукупності безпосередньо на нашій ASA (адже інша група компанії є власником веб-проксі).
Я зазвичай шукаю ASN компанії (Facebook - 32934), потім переходжу до них http://as.robtex.com/as32934.html#bgp
і знаходжу їх префікси.
З цього списку я створюю об’єктну групу Cisco ASA, яку я можу використовувати для класифікації трафіку ... Це те, що я зараз використовую ... Facebook стає обмеженим пропускною здатністю ... Це дуже добре працює.
Кожно так часто, вам доведеться повертатися назад і перевіряти robtex AS-інформацію, щоб побачити, додавали вони чи видаляли префікси. Зазвичай я намагаюся взяти найбільший агрегатний блок, який вони мають, навіть якщо вони оголошують лише менші блоки з тієї великої сукупності.
object-group AS32934_Facebook
network-object 31.13.24.0 255.255.248.0
network-object 31.13.64.0 255.255.192.0
network-object 66.220.144.0 255.255.240.0
network-object 69.63.176.0 255.255.240.0
network-object 69.171.224.0 255.255.224.0
network-object 74.119.76.0 255.255.252.0
network-object 103.4.96.0 255.255.252.0
network-object 173.252.64.0 255.255.192.0
network-object 204.15.20.0 255.255.252.0
Код python, який я використовую для створення списку, є тривіальним ...
from ipaddr import IPv4Network, CollapseAddrList
fb_nets = list()
with open('facebook_nets.txt') as fh:
for line in fh:
net = IPv4Network(line.strip())
fb_nets.append(net)
print "object-group AS32934_Facebook"
for net in sorted(CollapseAddrList(fb_nets)):
print " network-object %s %s" % (net.network, net.netmask)
Код передбачає, що ви помістите всі їх префікси у текстовий файл під назвою "facebook_nets.txt", з одним префіксом на рядок ...
(py26_dfl)[mpenning@Bucksnort ~]$ head facebook_nets.txt
31.13.24.0/21
31.13.64.0/18
31.13.64.0/19
31.13.64.0/24
31.13.65.0/24
31.13.66.0/24
31.13.67.0/24
31.13.68.0/24
31.13.69.0/24
31.13.70.0/24
(py26_dfl)[mpenning@Bucksnort ~]$
Насправді мій сценарій автоматично щодня знімає інформацію в Інтернеті, але це спрощена версія.