Pour trouver l'adresse IP externe, vous pouvez utiliser des services Web externes ou des méthodes basées sur le système. Le plus simple est d’utiliser le service externe, les ifconfig
solutions basées ne fonctionneront dans votre système que si vous n’êtes pas en retard NAT
. les deux méthodes ont été discutées en détail ci-dessous.
Recherche d'une adresse IP externe à l'aide de services externes
Le moyen le plus simple consiste à utiliser un service externe via un navigateur en ligne de commande ou un outil de téléchargement. Puisque wget
est disponible par défaut dans Ubuntu, nous pouvons l'utiliser.
Pour trouver votre adresse IP, utilisez-
$ wget -qO- https://ipecho.net/plain ; echo
Courtoisie :
Vous pouvez également utiliser lynx
(navigateur) ou curl
à la place de wget
modifications mineures à la commande ci-dessus, pour trouver votre adresse IP externe.
Utiliser curl
pour trouver l'ip:
$ curl https://ipecho.net/plain
Pour une meilleure sortie formatée, utilisez:
$ curl https://ipecho.net/plain ; echo
Une méthode plus rapide (sans doute la plus rapide) utilisant dig
avec OpenDNS
comme résolveur:
Les autres réponses ici passent toutes par HTTP sur un serveur distant. Certaines d'entre elles nécessitent une analyse de la sortie ou font appel à l'en-tête User-Agent pour que le serveur réponde en texte brut. Ils changent aussi assez souvent (descendre, changer leur nom, mettre en place des annonces, changer le format de sortie, etc.).
- Le protocole de réponse DNS est normalisé (le format restera compatible).
- Historiquement, les services DNS (OpenDNS, Google Public DNS, ..) ont tendance à survivre beaucoup plus longtemps et sont plus stables, évolutifs et généralement mieux entretenus que le nouveau service HTTP de whatismyip.com, branché à la mode aujourd'hui.
- (pour les geeks qui se soucient de la micro-optimisation), cette méthode devrait être intrinsèquement plus rapide (ne serait-ce que de quelques micro secondes).
Utiliser dig avec OpenDNS comme résolveur:
$ dig +short myip.opendns.com @resolver1.opendns.com
111.222.333.444
Copié à partir de: https://unix.stackexchange.com/a/81699/14497
Trouver une IP externe sans faire appel à des services externes
- Si vous connaissez le nom de votre interface réseau
Tapez ce qui suit dans votre terminal:
$ LANG=c ifconfig <interface_name> | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
Dans ce qui précède, remplacer <interface_name>
par le nom de votre interface réelle, par exemple: eth0
, eth1
, pp0
, etc ...
Exemple d'utilisation:
$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
111.222.333.444
- Si vous ne connaissez pas le nom de votre interface réseau
Tapez ce qui suit dans votre terminal (cela donne le nom et l'adresse IP de chaque interface réseau de votre système):
$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'
Exemple d'utilisation:
$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'
lo: 127.0.0.1
ppp0: 111.222.333.444
NB: les résultats sont indicatifs et non réels.
Courtesy: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/
MISE À JOUR
LANG=c
a été ajouté aux utilisations de ifconfig
base, de sorte qu'il donne toujours la sortie en anglais, quel que soit le réglage des paramètres régionaux.