Il y a plusieurs raison pour changer l’adresse MAC réel d’une carte réseau, parmi ces raisons vous souhaitez ne pas montrer l’adresse réelles de votre carte réseau sur un réseau public.
Dans cette article nous allons voir comment changer l’adresse MAC sous CentOS 7/8 avec macchanger.
Méthode 1 : L’outil Macchanger
Installer macchanger :
Macchanger est un outil qui permet de changer l’adresse MAC réelle d’une carte réseau d’une façon simple.
Installer d’abord le package avec macchanger et vu que ce package n’est pas présent sur les dépôts par défaut, nous allons l’installer depuis le code source sur github :
https://github.com/alobbs/macchanger/releases
Installer ensuite le package avec les commandes ci-dessous :
[root@node1 ~]# tar xzf macchanger-1.7.0.tar.gz [root@node1 ~]# ll total 396 -rw-------. 1 root root 1265 Apr 27 2021 anaconda-ks.cfg drwxr-xr-x. 6 501 wheel 4096 Jan 1 2014 macchanger-1.7.0 -rw-r--r--. 1 root root 396848 Dec 8 02:50 macchanger-1.7.0.tar.gz
Si vous recontrez une erreur de complication comme montré ci-dessous, il suffit d’installer les outils de compilation :
[root@node1 ~]# cd macchanger-1.7.0/ [root@node1 macchanger-1.7.0]# ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/root/macchanger-1.7.0': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details
[root@node1 macchanger-1.7.0]# yum groupinstall "Development Tools"
Une fois installé continuez la compilation :
[root@node1 macchanger-1.7.0]# ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating data/Makefile config.status: creating doc/Makefile config.status: creating config.h config.status: executing depfiles commands
[root@node1 macchanger-1.7.0]# make make all-recursive make[1]: Entering directory `/root/macchanger-1.7.0' Making all in src make[2]: Entering directory `/root/macchanger-1.7.0/src' CC mac.o CC maclist.o CC netinfo.o CC main.o CCLD macchanger make[2]: Leaving directory `/root/macchanger-1.7.0/src' Making all in data make[2]: Entering directory `/root/macchanger-1.7.0/data' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/root/macchanger-1.7.0/data' Making all in doc make[2]: Entering directory `/root/macchanger-1.7.0/doc' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/root/macchanger-1.7.0/doc' make[2]: Entering directory `/root/macchanger-1.7.0' make[2]: Leaving directory `/root/macchanger-1.7.0' make[1]: Leaving directory `/root/macchanger-1.7.0'
[root@node1 macchanger-1.7.0]# make install Making install in src make[1]: Entering directory `/root/macchanger-1.7.0/src' make[2]: Entering directory `/root/macchanger-1.7.0/src' /usr/bin/mkdir -p '/usr/local/bin' /usr/bin/install -c macchanger '/usr/local/bin' make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/root/macchanger-1.7.0/src' make[1]: Leaving directory `/root/macchanger-1.7.0/src' Making install in data make[1]: Entering directory `/root/macchanger-1.7.0/data' make[2]: Entering directory `/root/macchanger-1.7.0/data' make[2]: Nothing to be done for `install-exec-am'. /usr/bin/mkdir -p '/usr/local/share/macchanger' /usr/bin/install -c -m 644 OUI.list wireless.list '/usr/local/share/macchanger' make[2]: Leaving directory `/root/macchanger-1.7.0/data' make[1]: Leaving directory `/root/macchanger-1.7.0/data' Making install in doc make[1]: Entering directory `/root/macchanger-1.7.0/doc' make[2]: Entering directory `/root/macchanger-1.7.0/doc' make[2]: Nothing to be done for `install-exec-am'. /usr/bin/mkdir -p '/usr/local/share/info' /usr/bin/install -c -m 644 ./macchanger.info '/usr/local/share/info' install-info --info-dir='/usr/local/share/info' '/usr/local/share/info/macchanger.info' make[2]: Leaving directory `/root/macchanger-1.7.0/doc' make[1]: Leaving directory `/root/macchanger-1.7.0/doc' make[1]: Entering directory `/root/macchanger-1.7.0' make[2]: Entering directory `/root/macchanger-1.7.0' make[2]: Nothing to be done for `install-exec-am'. /usr/bin/mkdir -p '/usr/local/share/man/man1' /usr/bin/install -c -m 644 macchanger.1 '/usr/local/share/man/man1' make[2]: Leaving directory `/root/macchanger-1.7.0' make[1]: Leaving directory `/root/macchanger-1.7.0'
Enfin notre package est bien intstallé :
[root@node1 macchanger-1.7.0]# macchanger --help GNU MAC Changer Usage: macchanger [options] device -h, --help Print this help -V, --version Print version and exit -s, --show Print the MAC address and exit -e, --ending Don't change the vendor bytes -a, --another Set random vendor MAC of the same kind -A Set random vendor MAC of any kind -p, --permanent Reset to original, permanent hardware MAC -r, --random Set fully random MAC -l, --list[=keyword] Print known vendors -b, --bia Pretend to be a burned-in-address -m, --mac=XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX Report bugs to https://github.com/alobbs/macchanger/issues
Changement de l’adresse MAC :
D’abord affichez l’adresse MAC avec la commande ci-dessous :
[root@LinuxOS ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:a9:88:47 brd ff:ff:ff:ff:ff:ff
Si vous souhaitez attribuer une adresse MAC aléatoire, taper la commande ci-dessous :
[root@node1 ~]# macchanger -r ens33
Current MAC: 00:0c:29:a9:88:47 (VMware, Inc.)
Permanent MAC: 00:0c:29:a9:88:47 (VMware, Inc.)
New MAC: f2:03:a0:22:9b:e3 (unknown)
Ou bien attribuez une adresse IP statique avec la commande ci-dessous :
[root@node1 ~]# macchanger --mac=k0:02:c0:55:8j:ee ens33
Current MAC: f2:03:a0:22:9b:e3 (unknown)
Permanent MAC: 00:0c:29:a9:88:47 (VMware, Inc.)
New MAC: 00:02:c0:55:08:ee (Bencent Tzeng Industry Co., Ltd.)
[root@linuxos ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:e0:24:5f brd ff:ff:ff:ff:ff:ff
Apache : Apprendre à créer des virtual Hosts
Transfère des fichiers sous linux : scp, tftp et rsync
Netstat : Les 14 commandes les plus utilisées
Iptables : 12 commandes à connaître
Fail2Ban : How to protect Linux services