【问题标题】:IP addresses: Likelihood of non-reserved address falling outside of 100.*?IP 地址:非保留地址超出 100 的可能性。*?
【发布时间】:2015-09-08 18:20:39
【问题描述】:

here 定义的保留 IP 地址范围之一是:

屏蔽 100.64.0.0/10

范围 100.64.0.0 – 100.127.255.255

我正在尝试构建一个正则表达式来捕获此范围内的任何地址,但如果不为第二个 8 位指定每个可能的值,我看不到任何方法。

如果我只是将我的正则表达式保留为“任何以 100 开头的 IP 地址”,这就足够了吗?或者换一种说法,是否有任何以 100 开头但在 100.64.0.0 范围内的保留地址 - 100.127.255.255?

【问题讨论】:

  • 如果你使用 Perl,你可以使用 (\d+)(??{ $^N>64 && $^N<128 ? '' : '(?!)' }) 之类的东西来检查第二个三元组。但是正则表达式绝对是错误的工具,我建议你使用其他东西来保存你自己的理智。由于 IPv4 空间已接近用尽,因此您获得以 100 开头但超出范围的地址的可能性很大。
  • 正则表达式确实是错误的工具。更容易将地址转换为数字或字符串(例如 inet_pton),以便您可以进行正常的范围检查。

标签: dns ip ip-address ipv4


【解决方案1】:

要回答您的问题“非保留地址超出 100.* 的可能性?”:100%

参见例如http://whois.arin.net/rest/net/NET-100-0-0-0-1http://whois.arin.net/rest/net/NET-100-48-0-0-1。这些只是使用100.0.0.0/8 空间的一些大型 ISP 的两个示例。

【讨论】:

    猜你喜欢
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2010-11-22
    • 2022-12-20
    • 2017-08-16
    相关资源
    最近更新 更多