Je peux trouver mon adresse IP en utilisant la commande ifconfig ou hostname -i.
Mais comment trouver mon IP public ?
(J'ai une IP publique statique mais je veux la trouver en utilisant une commande unix)
Je peux trouver mon adresse IP en utilisant la commande ifconfig ou hostname -i.
Mais comment trouver mon IP public ?
(J'ai une IP publique statique mais je veux la trouver en utilisant une commande unix)
curl ifconfig.me
curl ifconfig.me/ip
(pour l'ip seulement)
curl ifconfig.me/all
(pour plus d'informations, cela prend du temps)
Pour plus de commandes, visitez le site : http://ifconfig.me/#cli_wrap
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short
dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short
dig -4 @resolver1.opendns.com -t a myip.opendns.com +short
Notez que ce qui précède ne fonctionne que pour IPv4 actuellement (aucun de ces résolveurs ne semble même avoir IPv6 actuellement, mais si vous omettez le paramètre -4
et l'explicite -t a
vous risquez alors de le voir tomber en panne à l'avenir (à l'exception de l'outil Google txt
qui pourrait fonctionner un jour pour IPv6, si Google l'active correctement)).
Notez que myip.opendns.com
ne peut être résolu que par resolver1.opendns.com
et non avec auth1.opendns.com
- Ils semblent donc faire du détournement de DNS et de la manipulation de leur propre nom de domaine ! Ainsi, vous ne pouvez pas l'utiliser pour trouver l'IP d'un résolveur aléatoire, puisque resolver1.opendns.com
ne fait pas autorité pour myip.opendns.com
.
Notez que o-o.myaddr.l.google.com
semble être l'approche la plus souple et la plus évolutive ; elle permet même de vérifier si votre résolveur DNS prend en charge l'extension expérimentale EDNS0 pour le sous-réseau client (que très peu de résolveurs prennent en charge) :
% dig @8.8.8.8 -t txt o-o.myaddr.l.google.com +noall +answer +stats | tail -8
;; global options: printcmd
o-o.myaddr.l.google.com. 60 IN TXT "74.125.189.16"
o-o.myaddr.l.google.com. 60 IN TXT "edns0-client-subnet 88.198.54.0/24"
;; Query time: 13 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Dec 8 20:38:46 2013
;; MSG SIZE rcvd: 114
Une réponse très simple, si vous avez accès à Internet, est la suivante :
curl icanhazip.com
Gardez à l'esprit que faire confiance à des sources tierces pour votre IP peut être problématique, surtout si ce que vous faites avec ces données a une signification particulière.
Une méthode plus fiable consiste à choisir un serveur DNS connu et fiable (idéalement exécutant DNSSEC) et à interroger le nom d'hôte de la boîte avec celui-ci, à condition que votre serveur DNS contienne de telles entrées ;
dig @trustworthysource.com +short `hostname`
J'ai écrit un service web simple et rapide pour cela.
curl ident.me
Vous pouvez demander votre IPv4 :
curl v4.ident.me
Ou IPv6 :
curl v6.ident.me
Il prend également en charge HTTPS, DNS, SSH.
L'API est documentée sur http://api.ident.me/
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.