422 votes

Comment trouver mon adresse IP à partir de la ligne de commande ?

Je sais que tu peux le faire ifconfig | grep inet mais cela vous montre plusieurs adresses IPv4. Comment puis-je obtenir l'adresse spécifique pour le SSHing et autres ?

3 votes

Ce que vous cherchez, ce n'est pas l'adresse IP de votre Mac, mais la public Adresse IP que votre FAI a attribuée à l'interface Internet de votre routeur.

0 votes

Il faut changer le titre pour l'adresse IP publique.

4 votes

Cela a fonctionné pour moi : > curl ipecho.net/plain ; echo

25voto

Wowfunhappy Points 6021

Pour trouver l'adresse IP de l'interface réseau actuelle, exécutez :

ifconfig -l | xargs -n1 ipconfig getifaddr

Cela revient à dire que ipconfig getifaddr en0 mais plus fiable ! en0 n'est pas toujours la bonne interface !

Merci à @epylinkn dans les commentaires d'une autre réponse pour cette astuce. Je le publie ici pour qu'il soit plus visible ; je l'avais moi-même manqué au départ.

5voto

Rich Points 2429

Pour obtenir l'adresse IP de votre ordinateur face à Internet, voici une recette qui fonctionne :

if=`netstat -nr | awk '{ if ($1 ~/default/) { print $6} }'`
ifconfig ${if} | awk '{ if ($1 ~/inet/) { print $2} }'

Cela devrait fonctionner même lorsque vous avez plusieurs interfaces actives, même lorsque vous avez des interfaces dont vous ne savez pas laquelle est en fait la la passerelle par défaut.

1 votes

Cela permet d'obtenir l'adresse IP du réseau interne (ex : 192.168.0.*) et non l'extérieur exposé à l'Internet.

0 votes

Nous vous remercions de ce commentaire. Pourriez-vous me dire sur quelle version de l'OS vous êtes ? Pourriez-vous me fournir la sortie de netstat -nr | grep default ?

1 votes

On obtient l'IP de l'interface qui sert le trafic entrant/sortant. Si vous êtes derrière un NAT, cela donnera votre adresse LAN, pas votre adresse WAN. Mais cela peut être utile pour beaucoup de choses, et cela n'atteint pas le réseau.

4voto

user702846 Points 169

Pour mémoire, vous pouvez faire un bash script avec le contenu suivant qui vous donne votre adresse IP externe.

#!/bin/bash    
wget -qO - http://ipecho.net/plain; echo

4 votes

Par défaut wget ne fait pas partie de MacOS et doit être installé à partir d'une source non-Apple.

0 votes

La question est-elle spécifique à MacOS ? Il est installé par défaut sur de nombreuses distributions linux.

4 votes

Ce site concerne le matériel et les logiciels Apple, donc MacOS et iOS sont présumés.

2voto

Gerd Points 161

Cette réponse fonctionne aussi bien sur mac que sur linux :

ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | head -1 | awk '{ print $2 }'

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X