L'adresse IP est un numéro qui est attribué à un périphérique relié à un réseau. Dans cet article, je vous propose différentes méthodes pour obtenir l'adresse IP de votre ordinateur, en ligne de commande sur Linux.

Adresse IP locale

L'adresse IP locale correspond à l'adresse du périphérique sur le réseau interne. Plusieurs moyens s'offrent à vous pour l'obtenir facilement.

ifconfig

Même si la commande ifconfig est dépréciée depuis l'annonce de la fin du paquet net-tools dont la commande fait partie, cette dernière est tout de même très connue et il est difficile de passer à côté.

ifconfig

Chaque interface réseau est listée ainsi que leur adresse IP.

Pour obtenir les détails d'une interface en particulier :

ifconfig eth0

Voici une commande permettant d'afficher uniquement l'adresse IP :

ifconfig eth0 | awk '/inet / {print $2}' | cut -d ':' -f2

ip

Il est préférable d'utiliser la commande ip à la place d'ifconfig. Elle permet d'obtenir plus d'informations sur les interfaces réseau.

ip addr

Pour aller un poil plus vite, vous obtiendrez le même résultat avec la commande ip a.

Si vous ne souhaitez afficher que les informations d'une interface réseau, utilisez :

ip addr show enp0s3

Ou :

ip a s enp0s3

Voici une commande qui permet d'obtenir uniquement l'adresse IP :

ip -f inet -o addr show enp0s3 | cut -d\  -f 7 | cut -d/ -f 1

hostname

La commande suivante permet d'avoir l'adresse IP de l'interface active très rapidement :

hostname -I

ip route

Une autre commande permettant d'obtenir l'adresse IP de l'interface active :

ip route get 1.2.3.4 | awk '{print $7}'

Adresse IP publique

L'adresse IP publique correspond à votre adresse Internet. Il est parfois utile de connaître son adresse IP publique. Généralement, il suffit de faire un appel à un site pour qu'il vous retourne votre adresse IP. Plusieurs sites de ce genre existent, voici une sélection.

ifconfig.me

La commande suivante affiche l'adresse IP publique en se connectant à un site en particulier.

curl ifconfig.me

Il est possible d'avoir d'autres informations :

curl ifconfig.me/all

ipecho.net

Le principe est identique ici, avec uniquement l'adresse IP retournée :

curl ipecho.net/plain

ifconfig.co

Extrêmement similaire à ifconfig.me, ifconfig.co permet d'obtenir plusieurs informations comme le pays, la ville, etc...

curl ifconfig.co

ifconfig.co peut retourner également les infos au format JSON :

curl ifconfig.co/json

{
  "ip": "88.xxx.xxx.xxx",
  "ip_decimal": 14xxxxxxxx,
  "country": "France",
  "country_eu": true,
  "country_iso": "FR",
  "city": "xxx",
  "hostname": "xxx.fbx.proxad.net",
  "latitude": xxx,
  "longitude": xxx
}

host

En exécutant la commande suivante, vous aurez en retour votre adresse IP publique :

host myip.opendns.com resolver1.opendns.com

dig

Dans le même genre, mais avec la commande dig :

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