【问题标题】:How to get all ip addresses from a webpage?如何从网页中获取所有 IP 地址?
【发布时间】:2015-01-30 18:17:49
【问题描述】:

在加载页面时,假设 facebook.com 该页面会从其他几个站点(如 fbexternal-a.akamaihd.net 或 fbcdn-profile-a.akamaihd.net)加载多个资源。

我需要用 PHP、Bash、Python 或任何其他可以获取所有这些地址的语言创建一个脚本。

我该怎么做?有没有这样的网络服务?

我想要实现的更多一点:有一个路由器需要阻止所有访问,除了单个页面及其可能位于其他服务器上的资源。由于此 ACL(访问控制列表)不是基于 DNS,我必须获取所有 IP 地址才能将它们添加到列表中。

我知道 IP 地址经常更改,但是鉴于路由器没有基于 DNS 的 ACL,这是目前唯一可行的解​​决方法(通过手动获取 IP 地址)。

【问题讨论】:

  • IP 地址可能随时更改。这不是一个好主意。
  • @SLaks 我知道 IP 地址经常变化,但是路由器没有提供用域名定义 ACL 的方法。这是我想到的唯一选择。
  • 屏蔽与页面相关的所有 IP 地址不是一个好主意。它会快速阻止很多你没想到的事情。例如,页面经常使用 google 字体,akamai 提供 cdn 网络,您永远无法确定更多服务是否也在同一个 IP 地址上。如果您想阻止 FB 最好(对于您的路由器上可能的情况)将只是阻止他们自己的课程。它应该阻止您的用户使用它,即使它会部分加载。
  • @pawel7318 我理解你的评论。如果我们要阻止单个页面,它也会阻止其他网站的资源。然而,我们取消阻止访问,除了单个页面及其资源之外,所有内容都被阻止。当然,这可能会导致其他一些网页(如 Google 字体)可以访问,但没关系。
  • 这是什么路由器?

标签: php python bash shell sh


【解决方案1】:

您需要将其分解为多个部分,但这应该是可行的。我看到你需要做的步骤是:
1.获取网页源-http://php.net/manual/en/function.file-get-contents.php
2. 生成域数组 - PHP: Regular Expression to get a URL from a string
3. 域名转IP - http://php.net/dns_get_record

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 2016-02-26
    • 2014-12-31
    • 2018-09-01
    • 2018-11-24
    • 1970-01-01
    • 2016-11-02
    • 2011-10-18
    • 2014-10-21
    相关资源
    最近更新 更多