#!/bin/bash #/** #@file Net.lib #@brief Librería o clase Net #@class Net #@brief Funciones básicas de red. #@version 1.0 #@warning License: GNU GPLv3+ #*/ #/** # ogGetHostname #@brief Muestra el nombre del cliente. #@return str_host - nombre de máquina #@version 1.0 - Integración en OpenGnSys 1.0 #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2010-02-11 #*/ ## function ogGetHostname () { local HOST # Tomar nombre de la variable HOSTNAME HOST="$HOSTNAME" # Si no, tomar del DHCP, opción host-name /* (comentario para Doxygen) [ -z "$HOST" ] && HOST=$(awk -F\" '/option host-name/ {gsub(/;/,""); host=$2} END {print host} ' /var/lib/dhcp3/dhclient.leases) # Si no, leer el parámetro del kernel hostname (comentario para Doxygen) */ [ -z "$HOST" ] && HOST=$(awk 'BEGIN {RS=""; FS="="} $1~/hostname/ {print $2}' /proc/cmdline) [ "$HOSTNAME" != "$HOST" ] && export HOSTNAME="$HOST" echo $HOST } #/** # ogGetIpAddress #@brief Muestra la dirección IP del sistema #@return str_ip - Dirección IP #@version 1.0 - Integración en OpenGnSys 1.0 #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2010-02-11 #*/ ## function ogGetIpAddress () { local IP # Obtener direcciones IP. /* (comentario para Doxygen) IP=$(ip address show | awk '$2!~/lo/ { readline; if ($1~/inet$/) {sub (/\/.*/, ""); printf ("%s ", $2)}}') # Mostrar sólo la primera. (comentario para Doxygen) */ echo ${IP%% *} } #/** # ogGetMacAddress #@brief Muestra la dirección Ethernet del cliente. #@return str_ether - Dirección Ethernet #@version 1.0 - Integración en OpenGnSys 1.0 #@author Ramon Gomez, ETSII Universidad de Sevilla #@date 2010-02-11 #*/ ## function ogGetMacAddress () { local MAC # Obtener direcciones Ethernet. MAC=$(ip address show | awk '$2!~/lo/ {readline; if ($1~/ether/) printf ("%s ", toupper($2));}') # Mostrar sólo la primera. echo ${MAC%% *} }