Je souhaite utiliser le nom de mon fournisseur de services Internet dans un script et je ne sais pas comment procéder.
Veuillez m'aider, merci d'avance.
Je souhaite utiliser le nom de mon fournisseur de services Internet dans un script et je ne sais pas comment procéder.
Veuillez m'aider, merci d'avance.
Réponses:
Vous pouvez utiliser de nombreux sites Web, fournis pour trouver votre nom de FAI. L'un d'eux est Whoismyisp .
Et pour obtenir votre nom de FAI, dans le script bash, vous pouvez obtenir ce site par quelque chose comme curl
.
curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'
Vous pouvez également trouver le FAI de toutes les adresses IP souhaitées avec cette commande:
curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'
C'est xxx.xxx.xxx.xxx
cette IP que vous voulez trouver son FAI.
Informations supplémentaires : Vous pouvez trouver votre IP par bash avec cette commande (cela peut être utile pour les scripts):
dig +short myip.opendns.com @resolver1.opendns.com
curl ipinfo.io/org
. Néanmoins, j'ai voté pour les deux réponses et la question parce que tout est bon :)
curl ipinfo.io/org
ne produit pas le nom complet de l'AS mais le curl -s ipinfo.io/ASxxx | grep as-name
fait :)
Vous pouvez par exemple utiliser les services de ipinfo.io pour déterminer votre adresse IP publique, y compris des informations supplémentaires telles que le nom de la société fournisseur.
Le site peut normalement être visité dans votre navigateur, mais si vous l'interrogez à partir de la ligne de commande avec, par exemple curl
, ils répondent dans un format JSON propre et bien défini afin que vous n'ayez pas besoin d'analyser le 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"
}
Pour n'afficher qu'une seule valeur, vous pouvez envoyer directement une demande au chemin respectif. Par exemple, pour le nom du FAI ( org
), essayez ceci:
curl ipinfo.io/org
Inspiré par cette réponse .
Je récupère d'abord le numéro du système autonome:
$ curl -s ipinfo.io/org
AS2094 Renater
Ensuite, je récupère le nom complet de cet AS:
$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | cut -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.
. Votre option 2 ci-dessus ne renvoie rien. La réponse acceptée utilise curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'
et renvoie, Telus Communications
qui est une version limitée de la réponse de Byte mais toujours bonne. C'est l'une de ces réponses YMMV (Your Mileage May Vary).
ipinfo.org
a dans sa collecte de données. Pour moi curl -s ipinfo.io/org
donne AS3320 Deutsche Telekom AG
tout curl -s ipinfo.io/AS3320 | grep as-name
donne DTAG
(après un certain temps). En outre, ce dernier analyse à nouveau la sortie HTML (sujette aux erreurs!). Je vais donc m'en tenir à la réponse de ByteCommander.
AS3320
j'obtiens la même DTAG
sortie que vous. Mais je me demande si vous utilisez le Canada, curl -s ipinfo.io/AS852 | grep as-name
vous obtenez une sortie nulle comme moi.
curl -s ipinfo.io/org
renvoie des données basées sur l'adresse IP demandeuse tandis que curl -s ipinfo.io/AS3320
renvoie des données basées sur le paramètre donné (en ignorant l'adresse IP de la demande). En tous cas. Analyser du HTML sans un analyseur approprié est presque toujours une mauvaise idée. Connaissez-vous cette fameuse réponse sur Stack Overflow ? C'est amusant à lire.