为什么我的脚本在启动时不会通过 macchanger 更改 MAC 地址?基于 Ubuntu

为什么我的脚本在启动时不会通过 macchanger 更改 MAC 地址?基于 Ubuntu

我最近根据自己有限的 bash 知识编写了一个脚本,该脚本可以做两件事:

  1. 它应该改变我的主机名
  2. 然后更改我的 mac 地址。

我直接将说明输入/etc/rc.local到我的 backtrack 5 r3 机器上,但似乎无法让它更改我的 mac 地址。macchanger 已安装。它可以正常更改我的主机名,但似乎不想更改我的 mac 地址。这可能是因为我的机器在虚拟机中运行吗?

以下是我输入的内容/etc/rc.local

dhclient -r && rm -f /var/lib/dhcp3/dhclient* && sed "s=$(hostname)=REPLACEME=g" -i /etc/hosts && hostname "$(echo $RANDOM | md5sum | cut -c 1-7 | tr a-z A-Z)" && sed "s=REPLACEME=$(hostname)=g" -i /etc/hosts && macchanger -e eth0 && macchanger -e wlan0 && dhclient

我尝试了这种方法,使用 && 运算符,也尝试了在每一行上放置一个命令。主机名每次都会改变,但 MAC 地址不会改变。

任何帮助,将不胜感激!

答案1

macchanger -e eth0尝试将和的结果写入macchanger -e wlan0文件。然后查看在启动时是否存在具有该名称的设备ifconfig。例如,将其放入您的/etc/rc.local

macchanger -e eth0 &> /tmp/devices.txt
macchanger -e wlan0 &>> /tmp/devices.txt
ifconfig &>> /tmp/devices.txt

解释:
&> /tmp/devices.txt将标准输出和标准错误输出写入文件 /tmp/devices。启动机器后,您可以查看此文件并可能从中获得提示。

答案2

感谢您的信任,我已经尝试过,但没有成功。似乎在我输入“startx”之前,有什么东西阻止了 macchanger 的运行。我想我只能在上层环中运行它?我确实将命令放在了另一个文件中,并且还对文件执行了命令 chmod +x,以及“sudo /etc/init.d myfile defaults”,它表示它将文件添加到所有 rc1.local-rc5.local。我最终只是将文件路径放入 GUI 中的启动程序中,现在在我运行 startx 后,它会更改 mac 地址。

编辑:哎呀,错了 gmail 帐户。我会用正确的帐户重新发布此内容。

相关内容