為什麼我的腳本在啟動時不能透過 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 帳號錯誤。我會將其重新發佈為正確的帳戶。

相關內容