Buenas a tod@s:
Esta tarde estaba programando un poquito y se me ha ocurrido picar un pequeño script que te genere una MAC de forma aleatoria y que te ofrezca la posibilidad de ponerla como MAC en tu equipo.
Aquí os dejo el script:
#!/usr/bin/env python
#GENERADOR DE MAC'S
#Nos genera una MAC aleatoria para cualquier dispositivo
from random import choice
import os
print ("TU MAC actual es: " )
os.system("ifconfig -a | grep HWaddr")
print (" ")
valores = "0123456789ABCDEF"
M = "" #Declaramos la variable donde guardamos la password
M = M.join([choice(valores) for i in range(12)]) #Damos valores aleatorios a cada posicion de la array
print ("Tu MAC sera: " +M[0:2]+":"+M[2:4]+":"+M[4:6]+":"+M[6:8]+":"+M[8:10]+":"+M[10:12] ) #Damos el valor de la array resultante
print (" ")
respuesta = raw_input ("Quieres modificar tu MAC? ")
print (" ")
if respuesta == 's':
red = raw_input("Que MAC quiere modificar? La 1 o la 2? ")
if red == '1':
os.system("ifconfig eth0 down")
os.system("ifconfig eth0 hw ether"+M[0:2]+":"+M[2:4]+":"+M[4:6]+":"+M[6:8]+":"+M[8:10]+":"+M[10:12])
os.system("ifconfig eth0 up")
print ("Se ha modificado correctamente la MAC")
else:
os.system("ifconfig wlan0 down")
os.system("ifconfig wlan0 hw ether"+M[0:2]+":"+M[2:4]+":"+M[4:6]+":"+M[6:8]+":"+M[8:10]+":"+M[10:12])
os.system("ifconfig wlan0 up")
print ("Se ha modificado correctamente la MAC")
else:
print ("No se va a proceder a modificar ninguna MAC")
El problema está que cuando intento modificar la MAC me dice que esta operación no está permitida y me sale esta parrafada:
Usage:
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
[add <address>[/<prefixlen>]]
[del <address>[/<prefixlen>]]
[[-]broadcast [<address>]] [[-]pointopoint [<address>]]
[netmask <address>] [dstaddr <address>] [tunnel <address>]
[outfill <NN>] [keepalive <NN>]
[hw <HW> <address>] [metric <NN>] [mtu <NN>]
[[-]trailers] [[-]arp] [[-]allmulti]
[multicast] [[-]promisc]
[mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
[txqueuelen <NN>]
[[-]dynamic]
[up|down] ...
<HW>=Hardware Type.
List of possible hardware types:
loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP)
slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)
ash (Ash) ether (Ethernet) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB)
arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)
sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
irda (IrLAP) ec (Econet) x25 (generic X.25)
eui64 (Generic EUI-64)
<AF>=Address family. Default: inet
List of possible address families:
unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)
ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
ash (Ash) x25 (CCITT X.25)
A parte, he probado de hacer los comandos que dicen en el siguiente tutorial y tampoco parecen surgir efecto a la hora de activar o desactivar la conexión: http://www.redeszone.net/2014/06/13/como-cambiar-la-mac-de-una-tarjeta-de-red-en-linux-con-ifconfig/
Muchas gracias de antemano
Hola, muy buen aporte!
fijate si se llama eth0 y wlan0. Recordá que esto puede variar segun el equipo y pueden llamarse eth1 y wlan1...
Otra cosa.. me parece que no te deja cambiarla, porque debes ejecutar esto como root (sudo).
Saludos!
ANTRAX
Buenas a tod@s:
Sí, eso ya lo cambié después de subir el script en el foro. Me di cuenta después.
Sin embargo el script me da el mismo fallo y no me modifica la MAC :S
Y no me da ningún error de que haya fallado el script en si.
Para poder cambiar la dirección MAC primero debes deshabilitar la tarjeta de Red a la cual deseas cambiarle la dirección MAC, cambiarsela y volver a levantar la tarjeta de Red.
Detenemos la interfaz que deseemos:
ifconfig eth0 down
Cambiamos MAC:
ifconfig eth0 hw ether 00:00:00:00:00:00
Volvemos a arrancar de nuevo la tarjeta de red:
ifconfig eth0 up
You are not allowed to view links.
You are not allowed to view links.
Register or Login or You are not allowed to view links.
Register or Login
Para poder cambiar la dirección MAC primero debes deshabilitar la tarjeta de Red a la cual deseas cambiarle la dirección MAC, cambiarsela y volver a levantar la tarjeta de Red.
Detenemos la interfaz que deseemos:
ifconfig eth0 down
Cambiamos MAC:
ifconfig eth0 hw ether 00:00:00:00:00:00
Volvemos a arrancar de nuevo la tarjeta de red:
ifconfig eth0 up
Pero es lo que hace el script
os.system("ifconfig eth0 down")
os.system("ifconfig eth0 hw ether"+M[0:2]+":"+M[2:4]+":"+M[4:6]+":"+M[6:8]+":"+M[8:10]+":"+M[10:12])
os.system("ifconfig eth0 up")
Es verdad, no me fijé.
Disculpad
Enviado desde mi SM-G928F mediante Tapatalk
Hola,
Cuando decia lo del sudo, me refería a que corrieras el script con sudo
sudo bash ./script....
En caso de que no funcione, fijate si agregando esta linea despues del ifconfig up, te funciona:
/etc/init.d/networking restart
De igual forma, existen otras maneras además de ifconfig para cambiar la mac. Por ejemplo:
ip link set dev eth0 down
ip link set dev eth0 address XX:XX:XX:XX:XX:XX
ip link set dev eth0 up
La otra forma es con Macchanger. Con el cual también podes generar random macs
macchanger -r eth0
Espero que te sirva!
Saludos!
ANTRAX