Script reset_iface (detecta y reinicia el driver de una interfce de red)

Autor: geminis_demon Buenas. Pues eso, este script detecta el driver de la interface que se le pase como parámetro, y lo reinicia (lo desmonta y lo vuelve a montar). Esto es útil a la ora de realizar una auditoría, ya que al desmontar y volver a montar el driver te aseguras de que la interface está “limpia”, no está siendo usada por ningún proceso y no está fijada a ningún canal. La idea de hacer el script me vino al leer un comentario de Alister que decía que el hacía eso siempre antes de comenzar una auditoría, y me pareció buena idea  hacer un script que automatice el proceso
Code:
#!/bin/bash
# Script: reset_iface # Por geminis_demon para Wifislax-# SeguridadWireless.Net
if [ $(id -u) != 0 ]; then echo “ERROR: Este script debe ejecutarse con permisos de ROOT” exit 1 fi if [ -z “$1” -o “$1” = “-h” ]; then echo echo “Este script desmonta y vuelve a montar el driver de una interface” echo “de red” echo  echo “USO:” echo ” $0 interface” echo echo “OPCIONES:” echo ” -h  Muestra esta ayuda.” echo  if [ -z “$1” ]; then exit 1 else exit 0 fi fiIFACE=”$1″ if [ ! “$(ip link|grep ” $IFACE: “)” ]; then echo echo ” – ERROR: No existe la interface \”$IFACE\”” echo exit 1 fi DRIVER=”$(basename “$(ls -l “/sys/class/net/$IFACE/device/driver”)”)” if [ ! “$DRIVER” ]; then  echo echo ” – ERROR: No ha sido posible encontrar el driver de $IFACE” echo exit 1 fi echo echo ” – La interface $IFACE utiliza el driver $DRIVER” rmmod -f “$DRIVER” && modprobe “$DRIVER” if [ $? = 0 ]; then  echo ” – El driver $DRIVER ha sido reiniciado” echo fi