![为什么我的脚本在启动时不会通过 macchanger 更改 MAC 地址?基于 Ubuntu](https://linux22.com/image/1344865/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E4%B8%8D%E4%BC%9A%E9%80%9A%E8%BF%87%20macchanger%20%E6%9B%B4%E6%94%B9%20MAC%20%E5%9C%B0%E5%9D%80%EF%BC%9F%E5%9F%BA%E4%BA%8E%20Ubuntu.png)
我最近根据自己有限的 bash 知识编写了一个脚本,该脚本可以做两件事:
- 它应该改变我的主机名
- 然后更改我的 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 帐户。我会用正确的帐户重新发布此内容。