J'ai trouvé une commande d'un autre article sur Super User qui m'a aidé, mais je ne sais pas comment passer le résultat à une variable et l'imprimer.
C'est la commande que j'ai utilisée:
ip addr show $(awk 'NR==3{print $1}' /proc/net/wireless | tr -d :) | awk '/ether/{print $2}'
Mon script complet est:
#!/bin/bash
# Diconnect the network
nmcli d disconnect wlan0
# Down interface
ifconfig wlan0 down
# Randomize my mac address
macchanger -r wlan0
# Up interface
ifconfig wlan0 up
# Connect network again
nmcli d connect wlan0
# Get current mac generated by 'macchanger'
ip addr show $(awk 'NR==3{print $1}' /proc/net/wireless | tr -d :) | awk '/ether/{print $2}'
# Open the web page using current mac generated
xdg-open "http://webapplication.com/?mac=MY_MAC_ADDRES"
macchanger
, il devrait déjà faire écho à l'adresse MAC définie.Réponses:
Cela devrait trouver le MAC pour
eth0
. Vous devrez peut-être modifier cette interface (eth0
) pour qu'elle corresponde à vos besoins, mais cela devrait fonctionner.la source
wlan0
et votre commande est poureth0
? Je comprends le concept global fonctionne et joue , mais pas à 100% sûr que votre réponse est claire pour ceux qui ne saisissent pas pleinement ce que la différence entrewlan0
,eth0
et tel. Je viens de faire un montage pour clarifier l'aspect interface de tout cela.Vous pouvez trouver l'adresse MAC de tous vos périphériques réseau via le
/sys/devices
système de fichiers.Cela trouvera toutes les adresses mac des périphériques réseau sur le bus PCI. L'adresse MAC est stockée dans le fichier
address
.sortie:
la source