¿Cómo puedo encontrar a mi proveedor de servicios de Internet (ISP) usando un script bash?

21

Quiero usar el nombre de mi proveedor de servicios de Internet en un script, y no sé cómo puedo hacer esto.

Por favor, ayúdame, gracias de antemano.

Tara S Volpe
fuente

Respuestas:

26

Puede usar muchos sitios web, que se proporcionan para encontrar el nombre de su ISP. Uno de ellos es whoismyisp .

Y para obtener su nombre de ISP, en bash script puede obtener este sitio de alguna manera curl.

curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'

También puede encontrar el ISP de cualquier IP deseada con este comando:

curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'

Esa xxx.xxx.xxx.xxxes la IP que desea encontrar su ISP.


Información adicional : puede encontrar su IP bash con este comando (eso puede ser útil para los scripts):

dig +short myip.opendns.com @resolver1.opendns.com
Ali Razmdideh
fuente
2
@TaraSVolpe Me alegro de poder ayudarte
Ali Razmdideh
2
Esta respuesta se basa en el diseño de este sitio web, mientras que ipinfo.io utiliza un formato JSON bien definido. No entiendo por qué esta respuesta es más votada.
NieDzejkob
2
@NieDzejkob Tal vez porque ipinfo.io/org solo da el número AS pero no el nombre del ISP
SebMa
1
@SebMa Cuando ejecuté la respuesta de Byte en mi máquina en Ubuntu en Windows 10 (WSL), devolvió el número AS más el nombre del ISP usando curl ipinfo.io/org. Sin embargo, voté por ambas respuestas y la pregunta porque todo está bien :)
WinEunuuchs2Unix
@NieDzejkob curl ipinfo.io/orgno muestra el nombre completo del AS pero curl -s ipinfo.io/ASxxx | grep as-namesí :)
SebMa
27

Puede utilizar, por ejemplo, los servicios de ipinfo.io para determinar su IP pública, incluida información adicional, como el nombre de la empresa proveedora.

El sitio se puede visitar normalmente en su navegador, pero si lo consulta desde la línea de comandos con curl, por ejemplo , responden en un formato JSON limpio y bien definido para que no necesite analizar ningún HTML:

$ curl ipinfo.io
{
  "ip": "xxx.xxx.xxx.xxx",
  "hostname": "xxxxxxxxxxxxxxxxxxxxxxxxxxx.xx",
  "city": "xxxxxxxx",
  "region": "xxxxxxxxxx",
  "country": "xx",
  "loc": "xxx.xxxx,xxx.xxxx",
  "org": "xxxxxxxxxxxx",
  "postal": "xxxxx"
}

Para mostrar solo un valor, puede enviar directamente una solicitud a la ruta correspondiente. Por ejemplo, para el nombre del ISP ( org), intente esto:

curl ipinfo.io/org

Inspirado por esta respuesta .

Byte Commander
fuente
2
Sí, ipinfo es mejor que whoismyisp debido a su formato JSON +1
Ali Razmdideh
@AliRazmdideh Muy magnánimo de hecho que votaste por la respuesta de los otros chicos :)
WinEunuuchs2Unix
@ WinEunuuchs2Unix Gracias, creo que es mejor que el mío.
Ali Razmdideh
1

Primero busco el número del Sistema Autónomo:

$ curl -s ipinfo.io/org
AS2094 Renater

Luego busco el nombre completo de ese AS:

$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | corte -d "" -f1) | awk '/ as-name / {print $ NF}'

$ whois $(curl -s ipinfo.io/org | cut -d" " -f1) | awk -F: 'BEGIN{IGNORECASE=1}/(as-?name|org-?name):/{sub("^  *","",$2);print$2}'
FR-TELECOM-MANAGEMENT-SUDPARIS
Renater
SebMa
fuente
1
Para mí no está funcionando. Acabo de probar todas las respuestas tanto en Ubuntu en Windows 10 (WSL) como en Ubuntu 16.04 con Kernel 4.14.27. Su opción 1 anterior (respuesta de Byte) regresa AS852 TELUS Communications Inc.. Su opción 2 anterior no devuelve nada. La respuesta aceptada utiliza curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'y devuelve, Telus Communicationsque es una versión limitada de la respuesta de Byte, pero sigue siendo buena. Esta es una de esas respuestas de YMMV (Your Mileage May Vary).
WinEunuuchs2Unix
2
Al parecer, depende del proveedor o de lo que ipinfo.orgtiene en su recopilación de datos. Para mí curl -s ipinfo.io/orgda AS3320 Deutsche Telekom AGmientras curl -s ipinfo.io/AS3320 | grep as-nameda DTAG(después de un tiempo). Además, este último vuelve a analizar la salida HTML (¡propensa a errores!). Así que me quedaré con la respuesta de ByteCommander.
PerlDuck
@PerlDuck Cuando uso Alemania, AS3320obtengo el mismo DTAGresultado que tú. Pero me pregunto si usas Canadá, curl -s ipinfo.io/AS852 | grep as-nameobtienes una salida nula como yo.
WinEunuuchs2Unix
@ WinEunuuchs2Unix Sí, lo mismo para mí. Ninguna salida. Calculo que curl -s ipinfo.io/orgdevuelve datos basados ​​en la IP solicitante mientras que curl -s ipinfo.io/AS3320devuelve datos basados ​​en el parámetro dado (ignorando la IP de la solicitud). De todas formas. Analizar HTML sin un analizador adecuado es casi siempre una mala idea. ¿Conoces esta famosa respuesta en Stack Overflow ? Es divertido leerlo.
PerlDuck
@PerlDuck Es una lectura divertida, especialmente todos los personajes extraños al final. Lanzando precaución al viento, analicé el
WinEunuuchs2Unix