Afficher toutes les interfaces réseau et leur adresse IP v4 correspondante

Voici un script qui permet d'afficher les adresses IP (v4) de toutes les interfaces réseau installées sur la machine.

Exécution :

./getInetAddr.sh 
eth0       ==>     10.33.43.10
lo         ==>       127.0.0.1
wlan0      ==>     172.22.8.35

Ce script est disponible en téléchargement ici .

Egalement disponible via GIT :

$ git clone http://git.quennec.fr/ronan/scripts_pub.git

Détail du script commenté :

#!/bin/bash
 
# Ce script retourne l'adresse IP
# de chaque interface réseau trouvée
 
# Pour le debuggage
#set -x
 
# Initialisation de la variable PATH
PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
 
# Nom du script
BASE=`basename $0`
# Le répertoire du script
DIR=`dirname $0`
 
# On boucle sur toutes les différentes interfaces trouvées
for I in `\
# On exécute la commande ifconfig
ifconfig | \
# On récupère le nom des différentes interfaces
# Le nom des interfaces se trouve dans la première
# colonne des informations retournées par la commande ifconfig
cut -d' ' -f1 | \
# On supprime toutes les lignes vides
sed -e '/^$/d'`; do
# On affecte à la variable J l'adresse IP correspondante
# à l'interface en cours de traitement par la boucle I
J=$(\
# On exécute la commande ifconfig pour l\'interface
# en cours de traitement par la boucle I
ifconfig $I | \
# On récupère la partie contenant l\'adresse IP
grep -E -o 'inet add?r:([0-9]{1,3}\.){3}[0-9]{1,3}' | \
# On concerve uniquement la partie IP
cut -d':' -f2 \
# On affiche le résultat
# sous la forme nomInterface ==> adresseIp
) && printf "%-10s ==> %15s\n" $I $J
done
 
# On quitte le script
exit 0
Etiquettes: 

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.