764 votes

Commande pour déterminer mon IP public ?

Si je vérifie avec google Je peux voir mon IP publique. Y a-t-il quelque chose sur la ligne de commande d'Ubuntu qui me donne la même réponse ?

2 votes

"avoir une IP dynamique", "SSH utilisant un autre système à travers l'internet", "la commande qui affichera l'IP publique actuelle". Vous voyez le problème de la poule et de l'oeuf ici ? Comment seriez-vous en mesure d'exécuter des commandes sur un serveur distant sans connaître son adresse ? Vous pourriez être plus intéressé par des services comme no-ip.com / DynDNS.org.

0 votes

On ne peut pas SSH sans connaître l'IP publique mon ami... dynDNS coûte cher et le no-ip fonctionne mais la situation ne le permet pas... de toute façon la question a déjà été répondue... merci pour votre suggestion

1 votes

PS duckduckgo.com/?q=ip (pas de ligne de commande, mais pas de grand frère G non plus)

1082voto

Michael K Points 13190

Si vous n'êtes pas derrière un routeur, vous pouvez le trouver en utilisant ifconfig .

Si vous êtes derrière un routeur, votre ordinateur ne connaîtra pas l'adresse IP publique car le routeur effectue une traduction d'adresse réseau. Vous pouvez demander à un site Web quelle est votre adresse IP publique en utilisant les éléments suivants curl o wget et d'en extraire les informations dont vous avez besoin :

curl -s https://checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'  

ou plus court

curl https://ipinfo.io/ip

413voto

saji89 Points 11609

Pour trouver l'IP externe, vous pouvez soit utiliser des services Web externes, soit utiliser des méthodes basées sur le système. La méthode la plus simple est d'utiliser le service externe, également appelé ifconfig ne fonctionneront dans votre système que si vous n'êtes pas derrière une NAT . les deux méthodes ont été examinées en détail ci-dessous.

Trouver l'IP externe en utilisant les services externes

La méthode la plus simple consiste à utiliser un service externe via un navigateur en ligne de commande ou un outil de téléchargement. Depuis wget est disponible par défaut dans Ubuntu, nous pouvons l'utiliser.
Pour trouver votre ip, utilisez-

$ wget -qO- https://ipecho.net/plain ; echo

Avec l'aimable autorisation de :

Vous pouvez également utiliser lynx (navigateur) ou curl à la place de wget avec des variations mineures de la commande ci-dessus, pour trouver votre ip externe.

Utilisation de curl pour trouver l'IP :

$ curl https://ipecho.net/plain

Pour une sortie mieux 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 vers un serveur distant. Certaines d'entre elles requièrent une analyse de la sortie, ou s'appuient sur l'en-tête User-Agent pour que le serveur réponde en texte clair. Ils changent également assez fréquemment (ils sont fermés, changent de nom, publient des annonces, peuvent format de sortie, etc.)

  1. Le protocole de réponse DNS est normalisé (le format restera compatible).
  2. Historiquement, les services DNS (OpenDNS, Google Public DNS, ..) ont tendance à survivre beaucoup plus longtemps et sont plus stables, plus évolutifs et généralement mieux entretenus que n'importe quel nouveau service HTTP à la mode. que le nouveau service HTTP whatismyip.com qui fait fureur aujourd'hui.
  3. (pour les geeks qui se soucient de micro-optimisation), cette méthode devrait être intrinsèquement plus rapide (ne serait-ce que de quelques microsecondes).

Utilisation de dig avec OpenDNS comme résolveur :

$ dig +short myip.opendns.com @resolver1.opendns.com

111.222.333.444

Copié de : https://unix.stackexchange.com/a/81699/14497

Trouver l'IP externe sans s'appuyer sur 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 le texte ci-dessus, remplacez <interface_name> avec le nom de votre interface réelle, par ex : 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 permet d'obtenir 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

N.B : Les résultats sont indicatifs et non réels.

Courtoisie : https://www.if-not-true-then-false.com/2010/linux-get-ip-address/

アップデイト

  1. LANG=c a été ajouté à ifconfig de sorte qu'il donne toujours la sortie en anglais, quel que soit le paramètre de la locale.

142voto

Panther Points 96601

Mon préféré a toujours été :

curl ifconfig.me

simple, facile à taper.

Vous devrez d'abord installer curl ;)

Si ifconfig.me est en panne, essayez icanhazip.com ou ipecho.net.

curl icanhazip.com

oder

curl ipecho.net

66voto

geocar Points 2287

icanhazip.com est mon préféré.

curl icanhazip.com

Vous pouvez demander explicitement l'IPv4 :

curl ipv4.icanhazip.com

Si vous n'avez pas curl vous pouvez utiliser wget à la place :

wget -qO- icanhazip.com

54voto

Pierre Carrier Points 1155

Je gère mon propre service, conçu pour être simple et stupide, ident.me.

Son API et sa mise en œuvre sont documentées à l'adresse https://api.ident.me/

Exemples à partir du terminal (ajouter https:// pour la sécurité au détriment de la vitesse) :

curl ident.me
curl v4.ident.me
curl v6.ident.me

SistemesEz.com

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.

Powered by:

X