55 lines
1.1 KiB
Bash
55 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
# Note, this is not my original work. Source: https://linuxtldr.com/changing-interface-mode/
|
|
|
|
function list_nic_info () {
|
|
ip addr show
|
|
}
|
|
|
|
function enable_monm_iw () {
|
|
interface=$1
|
|
sudo ip link set "$interface" down
|
|
sudo iw "$interface" set monitor control
|
|
sudo ip link set "$interface" up
|
|
}
|
|
|
|
function disable_monm_iw () {
|
|
interface=$1
|
|
sudo ip link set "$interface" down
|
|
sudo iw "$interface" set type managed
|
|
sudo ip link set "$interface" up
|
|
}
|
|
|
|
function enable_monm_iwconfig () {
|
|
interface=$1
|
|
sudo ifconfig "$interface" down
|
|
sudo iwconfig "$interface" mode monitor
|
|
sudo ifconfig "$interface" up
|
|
}
|
|
|
|
function disable_monm_iwconfig () {
|
|
interface=$1
|
|
sudo ifconfig "$interface" down
|
|
sudo iwconfig "$interface" mode managed
|
|
sudo ifconfig "$interface" up
|
|
}
|
|
|
|
function enable_monm_acng () {
|
|
interface=$1
|
|
sudo airmon-ng check
|
|
sudo airmon-ng check kill
|
|
sudo airmon-ng start "$interface"
|
|
}
|
|
|
|
function disable_monm_acng () {
|
|
interface="${1}mon"
|
|
sudo airmon-ng stop "$interface"
|
|
sudo systemctl restart NetworkManager
|
|
}
|
|
|
|
if declare -f "$1" > /dev/null
|
|
then
|
|
"$@"
|
|
else
|
|
echo "Unknown function '$1'" >&2
|
|
exit 1
|
|
fi |