Cómo encontrar la dirección IP de Google

Google posee un montón de bloques de rangos de direcciones IP enrutables públicamente, y dentro de su red privada pueden usar cualquiera o todos los rangos de IPv4 de la red privada, posiblemente muchas veces. Por lo que sé, también pueden usar protocolos de red alternativos que ni siquiera usan direcciones IP.

Soporte de Google: rangos de direcciones IP de Google

C: \> nslookup -q = TXT _spf.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_spf.Google text =

“v = spf1 incluye: _netblocks.Google incluye: _netblocks2.Google inc
lude: _netblocks3.Google ~ all ”

C: \> nslookup -q = TXT _netblocks.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_netblocks.Google text =

“v = spf1 ip4: 64.18.0.0/20 ip4: 64.233.160.0/19 ip4: 66.102.0.0/20 ip4: 66.249.80.0/20 ip4: 72.14.192.0/18 ip4: 74.125.0.0/16 ip4: 108.177. 8.0 / 21 ip4: 173.194.0.0/16 ip4: 207.126.144.0/20 ip4: 209.85.128.0/17 ip4: 216.58.192.0/19 ip4: 216.239.32.0/19 ~ todos ”

C: \> nslookup -q = TXT _netblocks2.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_netblocks2.Google text =

“v = spf1 ip6: 2001: 4860: 4000 :: / 36 ip6: 2404: 6800: 4000 :: / 36 ip6: 2607: f8b0: 4000 :: / 36 ip6: 2800: 3f0: 4000 :: / 36 ip6: 2a00: 1450: 4000 :: / 36 ip6: 2c0f: fb50: 4000 :: / 36 ~ all ”

C: \> nslookup -q = TXT _netblocks3.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_netblocks3.Google text =

“v = spf1 ip4: 172.217.0.0/19 ~ all”

Ahí tienes, todas las muchas direcciones IP de Google.


Extraído de mi respuesta anterior:
La respuesta de Rob Lion a Si www.google.com solo tiene una dirección IP, ¿cómo funcionan juntos los diferentes servidores?

Google usa estos sistemas autónomos (por lo que puedo decir, por favor ayude a curar si cree que faltan algunos): AS15169 (Legado de Google, ASN unificado), AS36561 (ASN heredado de Youtube). Estos son identificadores únicos dados por los registros de Internet, y las rutas originadas por ellos es lo que busca.

La manera barata y sucia

A partir de ahí, puede consultar RADB para averiguar las rutas asociadas originadas por ambos sistemas autónomos (es decir, las rutas que declaran públicamente como los creadores).

Podría usar un cliente whois para él, pero prefiero usar Netcat / nc, luego se convierte en una línea de bash bastante trivial, que agregué como una función en mi .bash_profile para poder usarlo con cada ASN:

función asroutes () {
si [$ # -eq 0]; luego
echo “Proporcione un ASN”
salida 0
fi
echo “-i origen -T ruta $ 1” | nc http://whois.radb.net 43 | grep “^ ruta \ | ^ fuente” | awk ‘{print $ 2}’ | awk ‘NR% 2 {printf $ 0 “;”; siguiente;} 1’
echo “-i origen -T ruta6 $ 1” | nc http://whois.radb.net 43 | grep “^ ruta \ | ^ fuente” | awk ‘{print $ 2}’ | awk ‘NR% 2 {printf $ 0 “;”; siguiente;} 1’
}

De acuerdo, no se ensucia más, pero funciona, es decir, si confías en los registros RADB. Puede llamar a dicha función de esta manera desde su shell:

asroutes as15169
asroutes as36561

Observe el comando whois que se emite:

“-i origen -T ruta”

-i origin realiza la búsqueda inversa en el ASN proporcionado para las rutas que origina
-T route o route6 solicita objetos específicos de ruta ipv4 o ipv6

El resto del script está canalizando resultados para formatear la visualización. Tenga en cuenta que lo estoy haciendo dos veces, una para IPv4 y otra para IPv6.

Limitaciones a este método.

  • nunca puede confiar completamente en la precisión de RADB, aunque en el caso de Google estoy tentado a pensar que esto está bien mantenido
  • no obtiene las direcciones IP de todas las memorias caché de Google que están integradas en varias redes de ISP, ya que se originan en las redes de dicho ISP.

La mejor manera de descubrir estos rangos: BGP RIBs

La forma más precisa de determinar estos Netblocks es confiar en las tablas BGP percibidas de una unión de dispositivos de red en todo el mundo.

Route Views Project le proporcionará dichas vistas. Estas son cantidades bastante grandes de datos BGP (Border Gateway Protocol) en el formato MRT (generado por un demonio BGP de software llamado Zebra, si recuerdo correctamente …).

Hay una variedad de binarios para decodificarlos (en formato binario, si recuerdo).

Personalmente prefiero el escrito por RIPE: BGPdump2: una herramienta para leer y comparar los archivos de volcado BGP RIB

Con él, puede analizarlos como desee y extraer los prefijos originados por AS15169 o AS36561. No puedo recordar el formato de las entradas MRT, pero básicamente está buscando prefijos que tengan el término más a la derecha de AS_PATH igual a 15169 o 36561.

Puede desconectarme si necesita más ayuda, probablemente demasiado técnico para que pueda profundizar en Quora 😉

Eso todavía no le dirá todas las IP integradas del ISP que el equilibrio de carga global de Google puede devolver, pero ese es un buen comienzo.

  1. Para encontrar las direcciones IP de Google solo google
  2. Abra el símbolo del sistema (cmd) y escriba nslookup google.com . Obtendrá una de las direcciones IP de Google de uno de los servidores de nombres en línea. Asegúrate de estar conectado a internet

Hay muchas formas de hacerlo, enumero algunas de ellas

Si está utilizando cualquier destrucción de Linux, presione el siguiente comando en su terminal,

$ ping -c 1 google.com
$ nslookup google.com
$ dig google.com

Esperamos que esto sea útil.

Google tiene docenas, si no cientos de direcciones IPv4 e IPv6 públicas. Puede encontrar muchos de ellos con una herramienta de búsqueda de DNS como “cavar”.

Cuando miro justo desde casa, me sale

http://www.google.com tiene la dirección 216.58.216.164
http://www.google.com tiene la dirección IPv6 2607: f8b0: 400a: 807 :: 2004

Creo que Google tiene un enrutamiento de Internet complejo, por lo que estas direcciones pueden no ser vistas por todos.