78 lines
2.1 KiB
Bash
78 lines
2.1 KiB
Bash
#!/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 NETFILE
|
|
# 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
|
|
#Version og2ndFS
|
|
NETFILE="/tmp/net-eth0.conf"
|
|
[ -f "$NETFILE" ] && IP=$(cat $NETFILE | grep IPV4ADDR | cut -f2 -d=)
|
|
|
|
# Obtener direcciones IP. /* (comentario para Doxygen)
|
|
[ -z "$IP" ] && 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%% *}
|
|
}
|
|
|