You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# @example
|
|
|
|
# chmod a+x randommac.sh
|
|
|
|
# ./randommac.sh wlp2s0
|
|
|
|
|
|
|
|
# Came from here: https://gist.github.com/WebReflection/67245d3e05a04299e6cf89df22685081
|
|
|
|
|
|
|
|
if [ "$1" != "" ]; then
|
|
|
|
if [ "$(ip link show | grep $1)" != "" ]; then
|
|
|
|
if [ ! -f ~/mac-address-$1.bck ]; then
|
|
|
|
echo "storing original information in ~/mac-address-$1.bck"
|
|
|
|
ip link show > ~/mac-address-$1.bck
|
|
|
|
fi
|
|
|
|
sudo ip link set dev $1 down
|
|
|
|
sudo ip link set dev $1 address $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
|
|
|
|
sudo ip link set dev $1 up
|
|
|
|
else
|
|
|
|
echo "unknown interface $1"
|
|
|
|
echo "available interfaces:"
|
|
|
|
ip link show | sed 's/^\([0-9]*:\s*\w*\):.*$/\1/g; s/^\s\s*.*$//g'
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "you need to specify an interface"
|
|
|
|
echo "example: $0 wlp2s0"
|
|
|
|
exit 1
|
|
|
|
fi
|