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.
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.xxx
es 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
curl ipinfo.io/org
. Sin embargo, voté por ambas respuestas y la pregunta porque todo está bien :)curl ipinfo.io/org
no muestra el nombre completo del AS perocurl -s ipinfo.io/ASxxx | grep as-name
sí :)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:Para mostrar solo un valor, puede enviar directamente una solicitud a la ruta correspondiente. Por ejemplo, para el nombre del ISP (
org
), intente esto:Inspirado por esta respuesta .
fuente
Primero busco el número del Sistema Autónomo:
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}'fuente
AS852 TELUS Communications Inc.
. Su opción 2 anterior no devuelve nada. La respuesta aceptada utilizacurl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'
y devuelve,Telus Communications
que 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).ipinfo.org
tiene en su recopilación de datos. Para mícurl -s ipinfo.io/org
daAS3320 Deutsche Telekom AG
mientrascurl -s ipinfo.io/AS3320 | grep as-name
daDTAG
(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.AS3320
obtengo el mismoDTAG
resultado que tú. Pero me pregunto si usas Canadá,curl -s ipinfo.io/AS852 | grep as-name
obtienes una salida nula como yo.curl -s ipinfo.io/org
devuelve datos basados en la IP solicitante mientras quecurl -s ipinfo.io/AS3320
devuelve 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.