Skift Hardware-Adress via Script
-
- Admin
- Indlæg: 10721
- Tilmeldt: 26. apr 2008, 19:27
- IRC nickname: Christian_Arvai
- Geografisk sted: Holeby - Lolland
Skift Hardware-Adress via Script
Jeg har lavet et lille script, som skifter hardwareadressen ved kørsel, samt laver kontrol på ny Add, da ikke alle random Add kan tildeles. Scriptet skifter nu Add ved hver eneste kørsel.
Det virker ok. Dog har jeg observeret en mindre fejl, som gør at man nogle gange manuelt skal genstarte kablet netværk bagefter via ikonet i toppanelet.
Jeg har ikke lige løst det, for som sådan skulle det virke som det er nu, og linjen virker ved selvstændig kørsel. Jeg ved at den læser linjen, for jeg har haft "echo" med inde i den del.
Anyway. Her er det:
Det virker ok. Dog har jeg observeret en mindre fejl, som gør at man nogle gange manuelt skal genstarte kablet netværk bagefter via ikonet i toppanelet.
Jeg har ikke lige løst det, for som sådan skulle det virke som det er nu, og linjen virker ved selvstændig kørsel. Jeg ved at den læser linjen, for jeg har haft "echo" med inde i den del.
Anyway. Her er det:
Kode: Vælg alt
#!/bin/sh
#
# Project: Black-Ninja
# Author: Christian Arvai
# Credits: Ubuntu Denmark LoCo Team
# For: All Ubuntu releases from 12.04 to current stabil
# To: 32 and 64 bits systems
# This code is available under the creative commons attribution-sharealike license https://creativecommons.org/licenses/by-sa/4.0/
# Scriptet placeres i hjemmemappen, og aktiveres med denne kommando:
# sudo mv ~/mac.sh /usr/local/bin && sudo chmod +x /usr/local/bin/mac.sh
# Køres med denne kommando i terminalen:
# mac.sh
# Kommando til at udskifte dette script med en nyere udgave (med samme navn):
# sudo rm -rf /usr/local/bin/mac.sh && sudo mv ~/mac.sh /usr/local/bin && sudo chmod +x /usr/local/bin/mac.sh
VAR=1
STARTMAC=$(ifconfig eth0 |grep HWaddr)
echo $STARTMAC
sudo ifconfig eth0 down
while [ $VAR = 1 ]; do
NEWMACADDR=$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/')
sudo ifconfig eth0 hw ether $NEWMACADDR
ENDMAC=$(ifconfig eth0 |grep HWaddr)
if [ "$ENDMAC" != "$STARTMAC" ]; then
VAR=0
echo $ENDMAC
fi
done
sudo ifconfig eth0 up # dette burde genstarte nettet????
Med venlig hilsen Christian
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
-
- Indlæg: 2667
- Tilmeldt: 21. nov 2006, 10:06
- Geografisk sted: Fredericia
Re: Skift Hardware-Adress via Script
Virker det på en Ubuntu server - altså hvor det ikke er networkmanager der styrer ...
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html
Kører LTS udgaverne.
"It's always easy if you know how to do it."
Kører LTS udgaverne.
"It's always easy if you know how to do it."
-
- Admin
- Indlæg: 10721
- Tilmeldt: 26. apr 2008, 19:27
- IRC nickname: Christian_Arvai
- Geografisk sted: Holeby - Lolland
Re: Skift Hardware-Adress via Script
Pas. Det har jeg ikke testet.
Med venlig hilsen Christian
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
"We can only see a short distance ahead, but we can see plenty there that needs to be done." -- Alan Turing
-
- Indlæg: 2667
- Tilmeldt: 21. nov 2006, 10:06
- Geografisk sted: Fredericia
Re: Skift Hardware-Adress via Script
Har lige testet scriptet på en Ubuntu 14.04.03 linuxserver på virtualbox.
Den ændrer fint macadressen ... men ikke ude i selve "hardwaren" (altså VB).
Skal lige siges at det sagtens kan skyldes at serveren er virtualiseret, og jeg ikke lige en ikke virtualiseret server i nærheden.
Den ændrer fint macadressen ... men ikke ude i selve "hardwaren" (altså VB).
Skal lige siges at det sagtens kan skyldes at serveren er virtualiseret, og jeg ikke lige en ikke virtualiseret server i nærheden.
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html
Kører LTS udgaverne.
"It's always easy if you know how to do it."
Kører LTS udgaverne.
"It's always easy if you know how to do it."
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Skift Hardware-Adress via Script
Christian.Arvai skrev:Jeg har lavet et lille script, som skifter hardwareadressen ved kørsel, samt laver kontrol på ny Add, da ikke alle random Add kan tildeles. Scriptet skifter nu Add ved hver eneste kørsel.
Det virker ok. Dog har jeg observeret en mindre fejl, som gør at man nogle gange manuelt skal genstarte kablet netværk bagefter via ikonet i toppanelet.
Jeg har ikke lige løst det, for som sådan skulle det virke som det er nu, og linjen virker ved selvstændig kørsel. Jeg ved at den læser linjen, for jeg har haft "echo" med inde i den del.
Anyway. Her er det:Kode: Vælg alt
#!/bin/sh
# ...
sudo ifconfig eth0 up # dette burde genstarte nettet????
Det har nok noget med ARP at gøre.
Der er en cache, som er en IP adresse <-> MAC adresse tabel. Den cache skal kernen bruge når den skal bygge en Ethernet frame op rundt om en IP pakke.
I øvrigt så er net-tools pakken forældet (engelsk: deprecated), og man kan med fordel bruge iproute2 pakken, der har mere funktionalitet tilgængelig:
- http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
- Eksempler på kommandoer fra både net-tools og iproute2 pakkerne:
https://www.tty1.net/blog/2010/ifconfig-ip-comparison_en.html - iproute2 er selvfølgelig i arkiverne:
Kode: Vælg alt
sudo apt-get -y install iproute2
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Admin
- Indlæg: 20838
- Tilmeldt: 15. nov 2009, 15:04
- IRC nickname: AJenbo
- Geografisk sted: Vanløse, København
Re: Skift Hardware-Adress via Script
thj01 skrev:Har lige testet scriptet på en Ubuntu 14.04.03 linuxserver på virtualbox.
Den ændrer fint macadressen ... men ikke ude i selve "hardwaren" (altså VB).
Skal lige siges at det sagtens kan skyldes at serveren er virtualiseret, og jeg ikke lige en ikke virtualiseret server i nærheden.
Indstillingen i VirtualBox er kun den ene vej, så det sætter MAC adressen ved boot, men bliver ikke opdateret hvis den ændres inde i maskinen.
Hvem er online
Brugere der læser dette forum: Ingen og 0 gæster