summaryrefslogtreecommitdiffstats
path: root/client/engine/Net.lib
blob: 73b1b0d216ab72c956faadac7714a5ceb1e01673 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/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 \c HOSTNAME
HOST="$HOSTNAME"
# Si no, tomar del DHCP, opción \c host-name
[ -z "$HOST" ] && HOST=$(awk -F\" '/option host-name/ {gsub(/;/,""); host=$2}
                                   END {print host}
                                  ' /var/lib/dhcp3/dhclient.leases)
# Si no, tomar del parámetro del kernel \c hostname
[ -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.
IP=$(ip -o addr show | awk '$2!~/lo/ && $3~/inet$/ {sub (/\/.*/, ""); printf ("%s ", $4)}')
# Mostrar sólo la primera.
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 -o addr show | awk '$2!~/lo/ && /ether/ {printf ("%s ", toupper($11))}')
# Mostrar sólo la primera.
echo ${MAC%% *}
}