Extraire l’adresse IP d’un serveur

mercredi 12 avril 2006
par  Olivier Duquesne aka DaffyDuke
popularité : 30%

Cet article n’est qu’un copié collé d’un mail de Jean-Pierre Verrue sur le liste de diffusion clx@gaia.anet.fr .

En Perl

#!/usr/bin/perl -w
use strict ;

my $intrf="eth0" ;
open (FD, "LANG=C /sbin/ip -f inet addr show dev $intrf|") or die("ip : $!") ;
my @lines = <FD> ;
close(FD) ;
my ($line) = grep (/inet/, @lines) ;
my @ip = split(/[ \t]+/, $line) ;
# Avec la regexp ci dessus il y a forcément une première variable vide
# puisqu'il y a des blancs en début de ligne. Donc l'@IP est la
# troisième variable($ip[2]), pas la deuxième.
print "$ip[2]\n" ;

exit 0;

En bash

#!/bin/bash

intrf="eth0"
set $(LANG=C /sbin/ip -f inet addr show dev $intrf | grep "inet")
echo $2
exit 0

On peut remplacer echo $2 par xmessage -center -buttons "Quitter:0" -default "Quitter" $2 pour afficher une popup.

Notes

La commande ’ip’ n’existe pas dans tous les environnements (AIX par exemple) Dans ce cas il faut se rabatre sur ifconfig.


Commentaires  Forum fermé

Navigation

Mots-clés de l’article