如何找到谷歌的IP地址?
Posted
技术标签:
【中文标题】如何找到谷歌的IP地址?【英文标题】:How to find Google's IP address? 【发布时间】:2015-02-24 06:16:56 【问题描述】:Google 在某些国家/地区被屏蔽。但是,访问 Google 的方式有很多,例如 ***、代理和更改 hosts 文件。
如果我想更改 hosts 文件以访问 Google,如何找到可用的 IP 地址?
更新
我无法访问 Google,因此无法通过 Google 搜索此问题的答案。
ping
不起作用;我收到此错误:
Request timed out
【问题讨论】:
你试过谷歌搜索吗? 这是题外话。 Stack Overflow 是针对编程方面的问题。 我在下面添加了一个答案,但我也标记了这个问题,建议将其移至超级用户。 *** 专门针对有关编程的问题。关于其他主题的问题在这里是题外话,尽管它们可能在其他 StackExchange 网站上是题外话。在这种特殊情况下,超级用户可能是最合适的 SE 站点。 我投票结束这个问题,因为这与编程无关。 这个问题跑题了。它在 2014 年是题外话,当@Boann 提出时,它在 2018 年和 2019 年都是题外话。这似乎很难相信,但在它首次发布 6 年后,到 2020 年,它仍然是题外话.我不想太超前,但我相对有信心预测它在 2021 年,甚至可能在 2022 年仍然是题外话。 【参考方案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 地址,没有理由这样做tracert
。 nslookup
更快。 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
【讨论】:
如果您发现由 google 运营的新 IP,请随时贡献 - gist.github.com/x011/b93ebc0ab874b002d3bc4889eca83db2【参考方案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 设置。 它对我有用,易于记忆并在多个平台上工作,谢谢以上是关于如何找到谷歌的IP地址?的主要内容,如果未能解决你的问题,请参考以下文章