Cela fonctionne pour moi sur Linux (Kali). Vous devrez peut-être modifier les adresses, les passerelles ou les masques de réseau en fonction de votre situation personnelle. Désolé si vous n'en avez pas besoin, pour que la prochaine personne trébuche ici, comme je l'ai fait il y a quelques instants.
Où <your-nicN>
est ce que vous voyez d'un ifconfig
tel eth0
ouwlan0
sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up
Cela crée une nouvelle interface "virtuelle" appelée mac0 et la fait apparaître. J'ai ajouté la commande up parce que je pensais d'abord que cela ne fonctionnait pas, mais en sudo ip link show [tab][tab]
plus d'un double onglet complété par une liste qui comprenait mac0, j'ai ensuite procédé à la mise en place avec ifconfig et lui attribuer une adresse.
N'oubliez pas de lui attribuer une adresse IP ou de lui dire d'utiliser DHCP
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
ou
dhclient mac0 # For a dhcp-client, to get ip from router.
si vous devez attribuer une passerelle par défaut:
sudo ip route add default via 192.168.1.1
L'endroit où j'ai obtenu une partie de cela est ici:
http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: J'ai essayé de jouer avec "bond" et ifenslave
mais j'ai besoin de faire un peu plus d'étude à ce sujet, je ne pouvais pas vraiment le comprendre. Ce que j'ai fait, cependant, ce qui a mis en place un "routeur EtherSwitch" dans GNS3, puis assigné un "cloud" à dix des macN
appareils à une "extrémité", puis un autre "cloud" à un adaptateur d'hôte vmware uniquement, virtualbox fonctionnerait probablement de la même manière , de l'autre côté, je vais jouer un peu avec ça et voir si je peux limiter la vitesse sur les macN
appareils pour simuler une "agrégation" ou si je peux répartir la charge sur les dix connexions pour "augmenter" bande passante. Peut-être que si je les définissais tous sur txqueuelen: 10 sous Linux. J'ai DragonflyBSD à l'autre "extrémité" de cela, je vais essayer de le connecter à mon vrai routeur via GNS3.
Edit2: Voici un script rapide pour en obtenir autant que nécessaire avec dhclient. Il doit être exécuté en tant que root. Créez donc le fichier, puis chmod 750 <script>
exécutez-le avec sudo
si vous le pouvez / devez. Je l'utilise comme ceci: ./crazy-mac.sh 20
il prend le premier argument et crée autant de nouvelles interfaces chacune avec sa propre adresse mac et ip. Il n'y a pas de contrôle de santé mentale, utilisez-le à bon escient ou ajoutez-en vous-même;)
Remarque: assurez-vous de vous connecter d'abord avec votre wlan0 normal, sinon cela ne fonctionnera pas.
comment-connecter-manuellement-à-un-ap-sans-fil
Aussi, si leur liste de contrôle d'accès est mac sur le routeur, vous devrez peut-être quelques renifler pour obtenir une liste d'adresses mac acceptées par le routeur. Vous devrez ensuite modifier le script pour analyser un fichier avec cette liste et utiliser une ligne pour chacun $i
dans la séquence au lieu de permettre à cela de créer des adresses mac aléatoires.
Note2: Vous voudrez peut-être en mettre un sleep <N>
dans la boucle quelque part, cela fera apparaître de nombreux «périphériques» de manière séquentielle et déclenchera probablement des signaux d'alarme si quelqu'un fait attention au réseau. Je ne pense pas que certains appareils apparaîtront de cette façon dans des circonstances normales.
#!/bin/sh
## crazy-mac.sh
for i in $(seq ${1}); do
ip link add link wlan0 mac${i} type macvlan && \
ifconfig mac${i} up && \
dhclient mac${i};
done
Et pour les faire tomber: Encore une fois juste un script rapide ...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
Et si vous avez besoin d'une liste d'adresses mac, cela fonctionne avec bash lorsqu'un fichier est une liste d'une adresse mac par ligne dans le fichier.
#!/bin/bash
## crazy-mac2.sh
## Usage : crazy-mac2.sh <N> </path/to/mac-list.txt>
MACLIST=($(cat ${2}))
# This is for testing, comment this and uncomment out the other for loop
# if this one works the other should also.
for i in $(seq ${1}); do
echo "mac${i} : ${MACLIST[${i}-1]}"; done
#for i in $(seq ${1}); do
# ip link add link wlan0 mac${i} address ${MACLIST[${i}-1]} type macvlan && \
# ifconfig mac${i} up && \
# dhclient mac${i};
#done
unset MACLIST
Edit: je venais de lire sur les périphériques "lagg" (au moins pour unix) qui peuvent être utilisés pour agréger plusieurs interfaces en une seule interface "lagg" pour augmenter les performances ou pour fournir des solutions de secours en cas de panne pour une raison quelconque.
Je pensais juste à la façon dont cela serait utile dans une situation où la bande passante était limitée par adresse mac, elle pourrait être utilisée dans une telle situation afin que vous puissiez prendre toutes les nombreuses interfaces macN virtuelles et agréger la bande passante dans un interface unique, puis peut-être régler / appuyer sur un hôte virtuel ou quelque chose. C'est intéressant pour moi, je vais essayer de configurer la limite de bande passante sur mon wifi personnel par adresse mac pour recréer le scénario et tenter cela, je serai de retour.