【问题标题】:What's the IP address range of Facebook's Open Graph crawler?Facebook 的 Open Graph 爬虫的 IP 地址范围是多少?
【发布时间】:2012-01-14 00:22:24
【问题描述】:

为了在我们的预览环境中测试 Open Graph API,我们需要在防火墙上戳一个洞,以允许 Facebook 抓取我们的对象页面。我们应该允许哪些 IP 范围?

【问题讨论】:

    标签: facebook-graph-api


    【解决方案1】:

    编辑

    Facebook 一直表现出一些爱心,现在将 IP 块公开给任何人

    http://developers.facebook.com/docs/ApplicationSecurity/#facebook_scraper https://developers.facebook.com/docs/sharing/best-practices#crawl

    Facebook 抓取工具

    许多平台服务,例如社交插件和开放 Graph 要求我们的系统能够访问您的网页。我们 认识到在某些情况下您可能不想要这些 公共互联网上的页面,测试期间或其他安全 原因。

    为方便起见,您应该在安全性中设置例外情况 系统允许 Facebook 通过添加 以下 IP 范围,截至 2012 年 4 月准确。

    31.13.24.0/21
    31.13.64.0/18
    66.220.144.0/20
    69.63.176.0/20
    69.171.224.0/19
    74.119.76.0/22
    103.4.96.0/22
    173.252.64.0/18
    204.15.20.0/22
    

    除了 IP,您还可以将用户代理用于防火墙。

    http://developers.facebook.com/docs/reference/plugins/like/

    Facebook 何时抓取我的页面?

    Facebook 需要抓取您的页面以了解如何显示它 网站。

    Facebook 每 24 小时抓取一次您的页面,以确保属性是 最新。当 Open Graph 的管理员时,该页面也会被抓取 页面点击 Like 按钮,当 URL 输入到 Facebook URL Linter。 Facebook 会观察你的 URL 上的缓存标头 - 它 将按优先顺序查看“Expires”和“Cache-Control”。 但是,即使您指定更长的时间,Facebook 也会抓取您的 每 24 小时一页。

    刮板的用户代理是:“facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

    【讨论】:

    • Facebook 刚刚发布了一些与此相关的信息。我已将其添加到我的回复中。
    • +1!仅供参考,“IP 范围”方法更胜一筹; “用户代理”方法不会捕获所有 Facebook 抓取工具。从技术上讲,它可能会捕获所有“开放图爬虫”,但 Facebook 有更多使用无法区分的用户代理的爬虫。 (来源:我们的日志)
    【解决方案2】:

    whois -h whois.radb.net -- '-i origin AS32934' | grep ^route 查看所有范围。

    【讨论】:

    【解决方案3】:
    • 66.220.144.0/20

    • 66.220.144.0/21

    • 66.220.152.0/21
    • 66.220.159.0/24
    • 69.63.176.0/20

    • 69.63.176.0/21

    • 69.63.176.0/24

    • 69.63.184.0/21

    • 69.171.224.0/19

    • 69.171.224.0/20
    • 69.171.239.0/24
    • 69.171.240.0/20
    • 69.171.255.0/24
    • 74.119.76.0/22
    • 103.4.96.0/22
    • 173.252.64.0/18
    • 173.252.64.0/19
    • 173.252.70.0/24
    • 173.252.96.0/19
    • 204.15.20.0/22

    • 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
    • 31.13.71.0/24
    • 31.13.72.0/24
    • 31.13.73.0/24
    • 31.13.74.0/24
    • 31.13.75.0/24
    • 31.13.76.0/24
    • 31.13.77.0/24
    • 31.13.96.0/19

    【讨论】:

    • 你能指定你从哪里得到这些数据吗?
    • 这些是 Facebook 向互联网宣传的路线,并且是准确的发布日期。 FB 并不热衷于将永久静态地址分配给他们的外部 VIP,客户通常只需要允许他们所有的地址空间,以确保如果/当他们从他们的 ipv4 地址池中添加一个新的 vip 时,他们可以连接到它。这当然意味着如果 facebook 开始宣传新的 ipv4 空间,那么这个列表就会过时。
    【解决方案4】:

    Facebook 现在发布他们的IP range

    截至 2012 年 4 月,它是:

    31.13.24.0/21
    31.13.64.0/18
    66.220.144.0/20
    69.63.176.0/20
    69.171.224.0/19
    74.119.76.0/22
    103.4.96.0/22
    173.252.64.0/18
    204.15.20.0/22
    

    【讨论】:

      【解决方案5】:

      新信息列在以下 URL 上,是的,他们确实公开了此信息。

      运行此命令以获取爬虫的当前 IP 地址列表 用途。

      whois -h whois.radb.net -- '-i origin AS32934' | grep ^route
      

      # For example only - over 100 in total
      31.13.24.0/21 
      66.220.144.0/20    
      2401:db00::/32  
      2620:0:1c00::/40  
      2a03:2880::/32 
      

      是的,DMCS 提到的那些是正确的。只是想验证并找到此信息。

      谢谢

      【讨论】:

        【解决方案6】:

        Facebook 并未正式公布其爬虫源地址范围,但您可以在公开的 BGP 路由表中查看其所有 IP 范围的列表:

        我们目前正在使用此列表:

        • 69.171.224.0/19
        • 74.119.76.0/22
        • 204.15.20.0/22
        • 66.220.144.0/20
        • 69.63.176.0/20
        • 173.252.64.0/18

        【讨论】:

          猜你喜欢
          • 2015-09-06
          • 1970-01-01
          • 2016-12-02
          • 1970-01-01
          • 2013-08-22
          • 2016-05-16
          • 2022-07-22
          • 1970-01-01
          • 2018-12-12
          相关资源
          最近更新 更多