Si vous élaborez un script vous aurez peut-être besoin de lire votre adresse IP publique, celle qui est exposée à internet.
Je vous propose plusieurs solutions pour le faire sous Windows et GNU/Linux (et donc théoriquement sur mac).
En powershell
(Invoke-WebRequest icanhazip.com).Content
Ce qui équivaut à l'alias curl :
(curl icanhazip.com).Content
Avec Rest (json) :
(Invoke-RestMethod -Uri 'https://api.ipify.org?format=json').ip
Shell / Bash
Voici une liste de commandes qui mènent au même résultat :
curl -s http://myexternalip.com/raw
Fonctionne aussi avec ces sites là (les 2 premiers sont très fiables) :
- http://checkip.amazonaws.com
- http://whatismyip.akamai.com/
- https://4.ifcfg.me/
- http://curlmyip.com
- http://ipecho.net/plain
- http://icanhazip.com/
- http://wgetip.com
- http://bot.whatismyipaddress.com/
nc 4.ifcfg.me 23 | grep IPv4 | cut -d' ' -f4
nc icanhazip.com 80 <<< $'GET / HTTP/1.1\nHost: icanhazip.com\n\n' | tail -n1
nc ipv4.test-ipv6.com 79 | awk '{print $7}'
telnet 4.ifcfg.me 2>&1 | grep IPv4 | cut -d' ' -f4
dig +short myip.opendns.com @resolver1.opendns.com | tail -1
Vous pouvez par exemple définir un alias avec l'une des commandes pour avoir l'ip rapidement en terminal.
Conclusion
Il existe plein de façons de récupérer cette IP externe. Ce n'est pas tellement elle qui nous intéresse mais la façon de procéder, histoire de s'en inspirer pour d'autres bidouilles 🙂
Personnellement j'aime bien la méthode DNS, elle est plus rapide qu'un wget ou cURL et plus fun.
Faites un tour sur ifcfg.me (telnet, ftp, finger...) et ipify.org pour trouver d'autres méthodes alternatives dans d'autres langages mais aussi en IPv4 ou IPv6. httpbin.org peut aussi vous intéresser.
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
Un commentaire
Tu as aussi l'excellenet https://ifconfig.co/ !