summaryrefslogtreecommitdiffstats
path: root/client/engine/Net.lib
diff options
context:
space:
mode:
Diffstat (limited to 'client/engine/Net.lib')
-rwxr-xr-xclient/engine/Net.lib71
1 files changed, 71 insertions, 0 deletions
diff --git a/client/engine/Net.lib b/client/engine/Net.lib
new file mode 100755
index 00000000..73b1b0d2
--- /dev/null
+++ b/client/engine/Net.lib
@@ -0,0 +1,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%% *}
+}
+