#!/bin/bash # mac-id.sh # Autor Alejandro Amaral - Creative Commons Reconocimiento-CompartirIgual 3.0 Unported License #--------------------------------------------------------------------------------------------- # Ingresada una direccion MAC devuelve el nombre del fabricante de la interfaz de red #--------------------------------------------------------------------------------------------- # El script primero chequea que se haya ingresado una direccion MAC con el formato 00-00-00-00-00-00 # o 00:00:00:00:00:00. Si se llama sin ningun argumento sale inmediatamente informando al usuario del # del error. Una vez hecha la comprobacion del formato, si es incorrecta sale inmediatamente, sino # se verifica que el archivo con los nombres de los fabricantes este presente (/tmp/oui.txt). En el # caso de no encontrarse, el archivo es descargado de internet. # Ya con el archivo guardado localmente se procede a buscar la linea que coincida con los primeros # 3 bloques hexadecimales. Se informa el resultado en el caso de ser (o no) encontrado el fabricante. # # Uso: ./mac-id.sh 00:00:00:00:00:00 if [ -z $1 ]; then echo "Debe ingresar una direccion MAC" exit 1 fi MAC=`echo "$1" | tr '[:lower:]' '[:upper:]' | tr ':' '-' | grep -E "((([0-9]|[A-F]){2})-){5}([0-9]|[A-F]){2}"` > /dev/null 2>&1 #Convierte toda la cadena a $ if [ -z $MAC ]; then # Si la variable MAC esta vacia es que el formato es incorreto echo "La direccion MAC tiene formato incorrecto" exit 1 else # El formato de la direccion MAC es correcto MAC=`echo $MAC | cut -c -8` > /dev/null 2>&1 # Se extraen los primeros 3 bloques hexadecimales (que identifican al fabricante) if [ ! -f /tmp/oui.txt ]; then # Si el archivo con los fabricantes no existe entonces se descarga wget -qO - 'http://standards.ieee.org/develop/regauth/oui/oui.txt' > /tmp/oui.txt fi FABRICANTE=`cat /tmp/oui.txt | grep $MAC | cut -f 3` # Extraemos la linea donde esta la MAC del archivo de fabricantes
mac-id.bash
d
Nombre: mac-id.bash
Autor: Alejandro Amaral
Descripción: Ingresada una direccion MAC, el script devuelve el nombre del fabricante de la interfaz de red
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario