[Astuce] #208 Récupérer l’adresse IP de votre carte réseau sous Ubuntu.

Publié le 01 juillet 2010 par Quicktutoriel @quicktutoriel

Pour continuer notre série d’astuce sur la récupération d’informations sous Linux, voici comment, en une ligne,récupérer l’adresse ip de votre carte réseau pour l’exploiter dans un script par exemple.

Tout d’abord nous allons utiliser la commande : ifconfig, pour connaitre l’adresse ip de notre carte.

$ ifconfig

Eth0 correspond à votre carte réseau 1 (Biensûr vous pouvez en avoir plusieurs, dans ce cas le libellé sera Eth1, Eth2, …)
lo est l’interface de bouclage qui correspond à l’adresse 127.0.0.1

Vous voyez ici que l’adresse ip est : 192.168.1.11

Maintenant grâce à cette ligne (voir ci-dessous), vous allez récupérer l’adresse ip de votre carte réseau:

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

Si vous voulez récupérer l’adresse ip d’une carte précise, il suffit de changer eth0 par celle que vous voulez par exemple eth1. La commande ifconfig vu plus haut est faite pour ça : lister vos cartes réseaux.

Une petite explication des commandes :

  • La commande awk permet d’appliquer un certain nombre d’actions sur un fichier, Le programme awk est une suite d’action de la forme : motif { action } , le motif permet de determiner sur quels enregistrements est appliquée l’action.
  • Un enregistrement est : une chaine de caractères séparée par un retour chariot, en général une ligne.
  • Un champs est : une chaine de caractères separée par un espace (ou par le caractère specifié par l’option -F), en générale un mot.

On accède à chaque champs de l’enregistrement courant par la variable $1, $2, … $NF. $0 correspond à l’enregistrement complet. La variable NF contient le nombre de champs de l’enregistrement courant, la variable $NF correspond donc au dernier champs.

Exemple : who | awk ‘{print $1,$5}’       imprime le login et le temps de connexion.

  • La commande cut permet d’extraire certains champs d’un fichier. Les options sont les suivantes :
  • -c extrait suivant le nombre de caractères
  • -f extrait suivant le nombre de champs
  • -dx Le caractère x est le séparateur de champ

Exemple : cut -c-10 carnet_adresse  Va extraire les 10 premiers caractères de chaque ligne

That’s All.

Autre(s) article(s) intéressant(s):