是否有任何简便的方法来找出Facebook,Myspace,Snapchat等使用的所有IP?
#1 楼
是否有任何简便的方法来找出Facebook,Myspace,Snapchat等使用的所有IP?
以Facebook为例...我们直接在我们的ASA上将带宽限制到我们总带宽的一小部分(因为该公司中的另一个小组拥有网络代理)。
我通常查找公司的ASN(Facebook为32934),然后转到
http://as.robtex.com/as32934.html#bgp
并找到其前缀。从该列表中,我建立了一个Cisco ASA对象组,我可以使用它来对流量进行分类...这就是我现在正在使用的... Facebook占用了少量带宽...效果很好。
,您必须返回并检查robtex AS-info,以查看它们是否添加或删除了前缀。我通常会尝试使用它们拥有的最大聚合块,即使它们只是从较大的聚合中宣布较小的块也是如此。
列表很简单...
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
代码假定您将所有前缀都放在一个名为“ facebook_nets.txt”的文本文件中,每行一个前缀...
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)
实际上,我的脚本每周都会自动对信息进行网上抓取,但这是一个简化的版本。
#2 楼
有几种方法可以找到主要组织(例如Facebook)的IP范围。其中最基本的方法是打开您选择的终端/命令行并发出命令:nslookup facebook.com
。 这为您提供了与该DNS名称相关的IP地址;在这种情况下,
173.252.110.27
是来自我的DNS服务器的答案。您的命令行):whois 173.252.110.27
在这种情况下,相关输出为: ,因此只需在ACL中使用该范围即可。像Facebook这样规模的组织将不断增加新的IP空间,这将超出过滤范围。好。
如果您的HTTPS和URL阻止遇到特定问题,则取决于设备,您可以在另一个问题中寻求有关这些特定问题的帮助。答案可能会更好地帮助您阻止对这些网站的访问。
评论
感谢您的回复,此列表准确吗? bgp.he.net/AS32934#_prefixes
– pjf
2013年9月4日4:36
一目了然,@ pjf似乎是准确的。在我发现的几个范围内,whois查找确实将Facebook列为分配的组织。以我的经验,HE的BGP工具包在提供准确信息方面做得很好。
–布雷特·莱金斯(Brett Lykins)
13年4月4日在5:03
#3 楼
要阻止不可接受的网站,通常可以使用代理服务器或Web过滤防火墙。通过强迫所有人使用代理并阻止对Web的正常访问,或者使用防火墙并阻止有问题的URL。对于网站而言,使用IP地址永远不是一个好选择,因为对于大型站点(当它们切换到CDN或从CDN切换,当它们添加更靠近您的位置的其他群集等)时,这些地址可能经常更改。要找出大型网站使用的所有IP地址,对于Facebook和Google这样的大型公司来说都是非常困难的。另外,即使您阻止了IP,也有许多服务可以用作访问这些站点的代理。
#4 楼
我一直在使用NBAR来限制Facebook,但您可以对其进行调整以阻止它。这仅适用于纯文本HTTP请求,该请求会在重定向到HTTPS之前有效阻止某人在浏览器中输入地址。 FB的SSL(TLS)书签将会丢失。您还可以查看应该能够处理此问题的新ASA-X CX(上下文感知安全性),尽管我尚未部署此文件
class-map match-any facebook-not4you match protocol http host "*facebook.com" match protocol http host "*fbcdn.net" ! policy-map badfacebookbad class facebook-not4you drop ! interface Gi0/1 service-policy output badfacebookbad
评论
我完全同意塞巴斯蒂安关于阻止URL而不是IP地址阻止的方法。还有许多客户端软件可用于阻止社交网站的URL。我个人使用Mcaffee来做到这一点,它的工作原理就像一种魅力。