Dies funktioniert für mich unter Linux (Kali). Möglicherweise müssen Sie Adressen, Gateways oder Netzmasken entsprechend Ihrer persönlichen Situation ändern. Tut mir leid, wenn Sie das nicht brauchen, damit die nächste Person hier stolpert, wie ich es vor wenigen Augenblicken getan habe.
Wo <your-nicN>
ist was du von einem ifconfig
wie eth0
oder siehstwlan0
sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up
Dadurch wird eine neue "virtuelle" Schnittstelle namens mac0 erstellt und aufgerufen. Ich habe den Befehl up hinzugefügt, weil ich zuerst dachte, dass dies nicht funktioniert, aber sudo ip link show [tab][tab]
zusätzlich zu einer doppelten Registerkarte mit einer Liste, die mac0 enthält, habe ich ihn mit ifconfig aufgerufen und ihm eine Adresse zugewiesen.
Denken Sie daran, ihm eine IP-Adresse zuzuweisen oder ihm zu sagen, dass er DHCP verwenden soll
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
oder
dhclient mac0 # For a dhcp-client, to get ip from router.
Wenn Sie ein Standard-Gateway zuweisen müssen:
sudo ip route add default via 192.168.1.1
Der Ort, von dem ich etwas davon bekommen habe, ist hier:
http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: Ich habe versucht, mit "Bond" herumzuspielen, ifenslave
aber ich muss ein bisschen mehr darüber lernen , ich konnte es nicht wirklich herausfinden. Was ich jedoch getan habe, als ich einen "EtherSwitch Router" in GNS3 eingerichtet und dann zehn der macN
Geräte an einem "Ende" und dann eine andere "Cloud" einem VMware-Host-Adapter zugewiesen habe, würde Virtualbox wahrscheinlich genauso funktionieren , am anderen "Ende", werde ich ein bisschen damit herumspielen und sehen, ob ich die Geschwindigkeit auf den macN
Geräten begrenzen kann , um eine "Aggregation" zu simulieren, oder ob ich die Last auf die zehn Verbindungen verteilen kann, um "erhöht" zu werden. Bandbreite. Vielleicht, wenn ich sie alle auf txqueuelen: 10 unter Linux setze. Ich habe DragonflyBSD am anderen "Ende", ich werde versuchen, es über GNS3 mit meinem echten Router zu verbinden.
Edit2: Hier ist ein schnelles Skript, um mit dhclient so viele zu erstellen, wie Sie benötigen. Es muss als root ausgeführt werden. Erstellen Sie also die Datei chmod 750 <script>
und führen Sie sie aus, sudo
wenn Sie können / müssen. Ich benutze es so: ./crazy-mac.sh 20
Es nimmt das erste Argument und erstellt so viele neue Schnittstellen, jede mit ihrer eigenen Mac- und IP-Adresse. Es gibt keine Gesundheitsprüfungen, also benutze sie mit Bedacht oder füge sie selbst hinzu;)
Hinweis: Stellen Sie sicher, dass Sie sich zuerst mit Ihrem normalen wlan0 verbinden, da dies sonst nicht funktioniert.
Manuelles Herstellen einer Verbindung zu einer drahtlosen App
Auch wenn es sich um eine Mac-Zugriffssteuerungsliste auf dem Router handelt, müssen Sie möglicherweise etwas schnüffeln, um eine Liste der vom Router akzeptierten Mac-Adressen zu erhalten. Sie müssen dann das Skript bearbeiten, um eine Datei mit dieser Liste zu analysieren und für jede Datei $i
in der Sequenz eine Zeile zu verwenden, anstatt zuzulassen, dass zufällige Mac-Adressen erstellt werden.
Hinweis 2: Möglicherweise möchten Sie sleep <N>
irgendwo ein a in die Schleife einfügen. Dadurch werden viele "Geräte" nacheinander aufgerufen und möglicherweise einige rote Fahnen gesetzt, wenn jemand auf das Netzwerk achtet. Ich glaube nicht, dass einige Geräte unter normalen Umständen auf diese Weise auftauchen werden.
#!/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
Und um sie zu Fall zu bringen: Wieder nur ein kurzes Skript ...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
Wenn Sie eine Liste mit Mac-Adressen benötigen, funktioniert dies mit bash, wenn eine Datei eine Liste mit einer Mac-Adresse pro Zeile in der Datei enthält.
#!/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
Bearbeiten: Ich habe gerade über "Lagg" -Geräte (zumindest für Unix) gelesen, die verwendet werden können, um mehrere Schnittstellen zu einer einzigen "Lagg" -Schnittstelle zusammenzufassen, um die Leistung zu steigern oder um Rückschläge zu erzielen, falls einer aus irgendeinem Grund ausfällt.
Ich habe gerade darüber nachgedacht, wie dies in einer Situation nützlich sein könnte, in der die Bandbreite pro Mac-Adresse begrenzt ist. In einer solchen Situation kann sie möglicherweise verwendet werden, sodass Sie alle vielen virtuellen macN-Schnittstellen verwenden und die Bandbreite zu einer zusammenfassen können einzelne Schnittstelle und dann vielleicht auf einen virtuellen Host oder so etwas einstellen / tippen. Das ist interessant für mich. Ich werde versuchen, ein Bandbreitenlimit für mein persönliches WLAN pro Mac-Adresse festzulegen, um das Szenario neu zu erstellen, und dies zu versuchen. Ich komme wieder.