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.
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.
Respuestas:
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
curl ipinfo.io/org. Sin embargo, voté por ambas respuestas y la pregunta porque todo está bien :)
curl ipinfo.io/orgno muestra el nombre completo del AS pero curl -s ipinfo.io/ASxxx | grep as-namesí :)
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 .
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
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).
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.
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.
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.