【问题标题】:How to find Google's IP address?如何找到谷歌的IP地址?
【发布时间】:2015-02-24 06:16:56
【问题描述】:

Google 在某些国家/地区被屏蔽。但是,访问 Google 的方式有很多,例如 VPN、代理和更改 hosts 文件。

如果我想更改 hosts 文件以访问 Google,如何找到可用的 IP 地址?

更新

我无法访问 Google,因此无法通过 Google 搜索此问题的答案。

ping 不起作用;我收到此错误:

Request timed out

【问题讨论】:

  • 你试过谷歌搜索吗?
  • 这是题外话。 Stack Overflow 是针对编程方面的问题。
  • 我在下面添加了一个答案,但我也标记了这个问题,建议将其移至超级用户。 Stackoverflow 专门针对有关编程的问题。关于其他主题的问题在这里是题外话,尽管它们可能在其他 StackExchange 网站上是题外话。在这种特殊情况下,超级用户可能是最合适的 SE 站点。
  • 我投票结束这个问题,因为这与编程无关。
  • 这个问题跑题了。它在 2014 年是题外话,当@Boann 提出时,它在 2018 年和 2019 年都是题外话。这似乎很难相信,但在它首次发布 6 年后,到 2020 年,它仍然是题外话.我不想太超前,但我相对有信心预测它在 2021 年,甚至可能在 2022 年仍然是题外话。

标签: search-engine google-search hosts hosts-file


【解决方案1】:

根据complete list of IP Ranges 向互联网公布的IP范围是:

#!/bin/bash

goog=$(curl https://www.gstatic.com/ipranges/goog.json)

# ipv4 ranges
echo $goog | jq -r  '.prefixes[].ipv4Prefix | select( . != null )'

# ipv6 ranges
echo $goog | jq -r  '.prefixes[].ipv6Prefix | select( . != null )'

# both ipv4 and ipv6 ranges
echo $goog | jq -r  '.prefixes[] | .ipv4Prefix // .ipv6Prefix | select( . != null )'

ipv4 范围和 ipv6 范围的执行结果:

8.8.4.0/24
8.8.8.0/24
8.34.208.0/20
8.35.192.0/20
23.236.48.0/20
23.251.128.0/19
34.64.0.0/10
34.128.0.0/10
35.184.0.0/13
35.192.0.0/14
35.196.0.0/15
35.198.0.0/16
35.199.0.0/17
35.199.128.0/18
35.200.0.0/13
35.208.0.0/12
35.224.0.0/12
35.240.0.0/13
64.15.112.0/20
64.233.160.0/19
66.102.0.0/20
66.249.64.0/19
70.32.128.0/19
72.14.192.0/18
74.114.24.0/21
74.125.0.0/16
104.154.0.0/15
104.196.0.0/14
104.237.160.0/19
107.167.160.0/19
107.178.192.0/18
108.59.80.0/20
108.170.192.0/18
108.177.0.0/17
130.211.0.0/16
136.112.0.0/12
142.250.0.0/15
146.148.0.0/17
162.216.148.0/22
162.222.176.0/21
172.110.32.0/21
172.217.0.0/16
172.253.0.0/16
173.194.0.0/16
173.255.112.0/20
192.158.28.0/22
192.178.0.0/15
193.186.4.0/24
199.36.154.0/23
199.36.156.0/24
199.192.112.0/22
199.223.232.0/21
207.223.160.0/20
208.65.152.0/22
208.68.108.0/22
208.81.188.0/22
208.117.224.0/19
209.85.128.0/17
216.58.192.0/19
216.73.80.0/20
216.239.32.0/19
2001:4860::/32
2404:6800::/32
2404:f340::/32
2600:1900::/28
2607:f8b0::/32
2620:11a:a000::/40
2620:120:e000::/40
2800:3f0::/32
2a00:1450::/32
2c0f:fb50::/32

【讨论】:

    【解决方案2】:

    使用 Python 3,您可以:

    import socket
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server = "www.google.com"
    port = 80
    server_ip = socket.gethostbyname(server)
    print(str(server_ip))
    

    【讨论】:

    • 你能解释一下你的答案吗?
    【解决方案3】:

    在 Windows 上,打开命令提示符并输入 tracert google.com 并回车,或在 Linux 上打开终端并输入 nslookup google.com 并回车:

    Server:     127.0.1.1
    Address:    127.0.1.1#53
    

    非权威回答:

    Name:   google.com
    Address: 74.125.236.199
    Name:   google.com
    Address: 74.125.236.201
    Name:   google.com
    Address: 74.125.236.194
    Name:   google.com
    Address: 74.125.236.198
    Name:   google.com
    Address: 74.125.236.206
    Name:   google.com
    Address: 74.125.236.193
    Name:   google.com
    Address: 74.125.236.196
    Name:   google.com
    Address: 74.125.236.192
    Name:   google.com
    Address: 74.125.236.197
    Name:   google.com
    Address: 74.125.236.195
    Name:   google.com
    Address: 74.125.236.200
    

    【讨论】:

    • 如果您只想要 IP 地址,没有理由这样做 tracertnslookup 更快。 tracert 用于当您想知道数据包所采用的路径(“路由”)以教导给定主机时。 nslookup 包含在 Windows 以及大多数 *nix 变体中。
    • 我已经尝试过tracert google,但我得到一个ip被阻止。它在cmd中显示Request timed out
    • @yorelog 看看我下面的回答对你有没有帮助
    【解决方案4】:

    几年来我一直在更新以下列表:

    1.0.0.0/24
    1.1.1.0/24
    1.2.3.0/24
    8.6.48.0/21
    8.8.8.0/24
    8.35.192.0/21
    8.35.200.0/21
    8.34.216.0/21
    8.34.208.0/21
    23.236.48.0/20
    23.251.128.0/19
    63.161.156.0/24
    63.166.17.128/25
    64.9.224.0/19
    64.18.0.0/20
    64.233.160.0/19
    64.233.171.0/24
    65.167.144.64/28
    65.170.13.0/28
    65.171.1.144/28
    66.102.0.0/20
    66.102.14.0/24
    66.249.64.0/19
    66.249.92.0/24
    66.249.86.0/23
    70.32.128.0/19
    72.14.192.0/18
    74.125.0.0/16
    89.207.224.0/21
    104.154.0.0/15
    104.132.0.0/14
    107.167.160.0/19
    107.178.192.0/18
    108.59.80.0/20
    108.170.192.0/18
    108.177.0.0/17
    130.211.0.0/16
    142.250.0.0/15
    144.188.128.0/24
    146.148.0.0/17
    162.216.148.0/22
    162.222.176.0/21
    172.253.0.0/16
    173.194.0.0/16
    173.255.112.0/20
    192.158.28.0/22
    193.142.125.0/28
    199.192.112.0/22
    199.223.232.0/21
    206.160.135.240/24
    207.126.144.0/20
    208.21.209.0/24
    209.85.128.0/17
    216.239.32.0/19
    

    【讨论】:

    【解决方案5】:

    这是一个使用@WorkWise 的答案返回 IP(v4 和 v6)范围的 bash 脚本:

    domainsToDig=$(dig @8.8.8.8 _spf.google.com TXT +short | \
        sed \
            -e 's/"v=spf1//' \
            -e 's/ ~all"//' \
            -e 's/ include:/\n/g' | \
        tail -n+2)
    for domain in $domainsToDig ; do
        dig @8.8.8.8 $domain TXT +short | \
            sed \
                -e 's/"v=spf1//' \
                -e 's/ ~all"//' \
                -e 's/ ip.:/\n/g' | \
            tail -n+2
    done
    

    【讨论】:

    • 不错,但在 IP 很多的情况下太慢了。使用 Perl 模块 NETAddr::IP 更快。见我的comment here
    【解决方案6】:

    Google 维护着一个随着互联网需求不断增长而动态增长的服务器基础架构。此link by google 描述了使用其 IP 地址范围保持最新的方法。

    当您需要 Google Apps 邮件服务器的文字 IP 地址时,首先使用常见的 DNS 查找命令之一(nslookup、dig、host)来检索域 _spf.google.com 的 SPF 记录,如下所示:

    nslookup -q=TXT _spf.google.com 8.8.8.8
    

    这会返回包含在 Google SPF 记录中的域列表,例如: _netblocks.google.com、_netblocks2.google.com、_netblocks3.google.com

    现在查找与这些域关联的 DNS 记录,一次一个,如下所示:

    nslookup -q=TXT _netblocks.google.com 8.8.8.8
    nslookup -q=TXT _netblocks2.google.com 8.8.8.8
    nslookup -q=TXT _netblocks3.google.com 8.8.8.8
    

    这些命令的结果包含当前地址范围。

    【讨论】:

      【解决方案7】:

      nslookup google.com 是最简单的方法。适用于 Linux 和 Windows。

      如果您的问题是您的 DNS 服务器没有返回对 google.com 的响应,请使用其他 DNS 服务器,例如公共服务器。例如,您可以这样做:

      nslookup
      >服务器 8.8.8.8
      >google.com

      要更彻底地解决烦人的 Internet 过滤器,请考虑使用 Tor

      【讨论】:

        【解决方案8】:

        以下 IP 地址范围属于 Google:

        64.233.160.0 - 64.233.191.255
        66.102.0.0 - 66.102.15.255
        66.249.64.0 - 66.249.95.255
        72.14.192.0 - 72.14.255.255
        74.125.0.0 - 74.125.255.255
        209.85.128.0 - 209.85.255.255
        216.239.32.0 - 216.239.63.255
        

        与许多流行的网站一样,Google 使用多个 Internet 服务器来处理对其网站的传入请求。无需在浏览器中输入http://www.google.com/,人们可以输入 http:// 后跟上述地址之一,例如:

        http://74.125.224.72/
        

        SOURCE

        【讨论】:

          【解决方案9】:

          如果您只想找到与域名相对应的 IP 地址,例如google.com,这在每台连接到 Internet 的计算机上都非常容易。

          只需从任何命令提示符运行ping 命令。输入类似

          ping google.com
          

          会给你(除其他外)这些信息。

          【讨论】:

          • 不,不是无效的。服务器可能不响应 ping(例如,出于安全原因)。但是您获得的 IP(google.com 使用很多)都是有效的。只需在浏览器窗口中输入其中任何一个,您就会看到 Google 主页。
          • 你看到这个问题了吗?它说 ping 返回请求超时!
          • 答案是 2 年前写的,从那时起问题一直在编辑。它通常仍然有效,尽管根据当前的问题文本,更新将要求发布者检查他的 DNS 设置。
          • 它对我有用,易于记忆并在多个平台上工作,谢谢
          猜你喜欢
          • 2018-10-24
          • 2015-01-30
          • 1970-01-01
          • 2016-06-22
          • 2015-06-22
          • 2021-07-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多