Afficher son adresse IP sous Linux
Voici une astuce qui permet d'afficher rapidement son adresse IP sous Linux. Celle-ci utilise l'option -i de la commande hostname. D'autres méthodes, combinant l'utilisation de ifconfig et de grep, permettent d'obtenir le même résultat. Mais ces dernières ne sont pas les plus simple à retenir.
Voici la commande pour afficher son adresse IP dans un terminal. Attention tout de même, pour que celle-ci fonctionne correctement, il faudra que votre fichier /etc/hosts soit correctement remplit :
hostname -i
Une autre méthode, un peu plus archaïque mais qui fonctionne dans prèsque tous les cas de fiigure :
ifconfig eth0 | grep "inet ad" | cut -f2 -d: | awk '{print $1}'
Et si vous souhaitez plutôt afficher votre adresse IP publique :
wget -qO- whatismyip.org
30 Commentaires pour "Afficher son adresse IP sous Linux"
Flux des commentaires de cet article Ajouter un commentairePlutôt : ifconfig eth0 | grep "inet adr" | cut -f2 -d: | awk '{print $1}'
"inet adr" au lieu de "inet addr"
Mmm hostname -i me retourne 127.0.0.1 .... ça je le savais déjà
Pour afficher son adresse IP publique il y a la commande suivante:
# wget -qO- whatismyip.org
oui, sauf que… hostname -i va consulter le fichier /etc/hosts et faire correspondre le nom d'hote à l'adresse indiquée en face.
Dans bien des cas, on va retrouver 127.0.0.1, et là, on sera bien content d'apprendre cette nouvelle.
(cas typique pour les desktop qui se connectent via dhcp)
Il faut donc que l'adresse ip ait été renseignée dans ce fichier.
pourquoi ne pas utiliser ip a sinon ?
(quelque chose de la forme "ip a | grep inet | cut -d' ' -f6")
Par ailleurs, "ifconfig eth0 | grep "inet addr" | cut -f2 -d: | awk '{print $1}' " ne fonctionne pas sur tout les systèmes (chez moi ça ressemble plus à "inet adr:1"). et encore, pourquoi utiliser cut puis awk ?
Quelque chose comme
ifconfig eth0 | grep "inet adr" | awk '{FS = ":"}{print substr($2,5,length($2))}' , ou
ifconfig eth0 | grep "inet adr" | awk '{FS = ":"}{print substr($2,6,length($2))}' dans ton cas
ou encore
ifconfig eth0 | awk '/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ {print substr($2,5,length($2))}'
histoire de s'affranchir du grep.
Dans ubuntu : Ajouter au tableau de bord -> Moniteur réseau (Applet Netspeed).
@Nomis : comme le dit @piti, cela dépend des systèmes. Donc le mieux à mon avis c'est de faire un grep sur "inet ad".
@Nicolargo : c'est rajouté. Merci.
@Mr Bidon @piti : arf, c'était trop beau pour être vrai. Donc la commande hostname ne marche pas dans tous les cas de figure. J'ai modifié un peu l'article.
@papillon41 : les lignes de commandes, c'est cool !
Sympa, pour une commande qui fonctionne sur tout les systèmes j'aurais une préférence pour l'utilisation de route.
Et pour une commande qui utilise ip :
@jlaunay : par contre, chez moi, la commande à base de route m'affiche l'adresse de mon routeur...
@pti-seb je suppose que tu testes sous ubuntu, je n'ai que des Arch sous la main, peut être que le print affiche le mauvais pattern.
@piti : la commande ifconfig eth0 | awk '/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ {print substr($2,5,length($2))}' me donne :192.168.1.22
Pour s'affranchir du grep cette commande fonctionne et ne met pas les :
Une commande qui utilise perl si tu veux aussi t'affranchir du awk ^^
Sinon pour l'ip externe avec curl au lieu de wget :
curl ip.appspot.com
Enfin, moi perso pour l'adresse IP externe je préfère:
Allé je joue avec vous :
Pour l'IP public :
hostame -I ( i majuscule )
;o)
Affiche l'adresse IP de la passerelle :
awk '/eth0/{print $1}' /proc/net/arp
@Nomis : ça dépend du langage de la distrib (et donc du langage de la réponse)
en fr : adresse
en us : address
Heu... ifconfig ppp0 ça compte ?
bonjour, class="yarr">
Répondre
moi j'utilise cette commande pour connaitre mon adresse ip publique:
dig +short myip.opendns.com @resolver1.opendns.com
bnj, je eu une problemme : apres l'instalation de redhat entreprise elle me demmender d'un cle dactivation pourfair quelque tache exemple ifconfig eth0.mais la vrais problemme ce que je ne trouve pas ou je peux donner ce clé (saisir ce cle là).merci d'
avance
svp j'ai je veux afficher le mask !!!
ifconfig eth0 | grep "Mask" | cut -f2 -d: | awk '{print $1}'
j'ai essaiyé cette commande mais c marche pas!!!
@zamouranou : le bonne commande est celle-ci :
bonsoir moi j ai aprecier vos poste esque quelqu un pourais m indiquer pour renouveler sont ip car je suis bloquer total
Merci pour vos reponses
@MaRwEiN : petite erreur de ma commande j'ai mis l'ancienne qui a du mal a s'executer sorry
lynx -dump http://www.monip.org | grep 'IP : ' | egrep -ho "([0-9]*\.?){4}" | cat
Salut,
Pour l'IP publique, que pensez-vous de :
wget -qO- checkip.dyndns.org | grep -oP "\d+\.\d+\.\d+\.\d+"
c'est censé ne fournir QUE l'IP publique.
@+. class="yarr">
Répondre
hostname -I
Pour connaitre son adresse IP publique le plus simple est
dig +short myip.opendns.com @resolver1.opendns.com class="yarr">
Répondre
@Mr Bidon : Il faut taper hostname -I
J'ai essayé tout ce que vous donnez comme solution pour apparaître un IP mais le mien ne s'affiche toujour pas, j'ai un kali 2018.1
c'est simple linux .... juste afficher une IP !
wget -qO- whatismyip.org | grep Your