Questo funziona per me su Linux (Kali). Potrebbe essere necessario modificare indirizzi, gateway o maschere di rete in base alla situazione personale. Scusami se non ti serve, perché la prossima persona inciampa qui, come ho fatto pochi istanti fa.
Dov'è <your-nicN>
ciò che vedi da un ifconfig
tale eth0
owlan0
sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up
Ciò crea una nuova interfaccia "virtuale" chiamata mac0 e la visualizza. Ho aggiunto il comando up perché in un primo momento ho pensato che non funzionasse, ma sudo ip link show [tab][tab]
più una doppia scheda completata con un elenco che includeva mac0, quindi ho proceduto a visualizzarlo con ifconfig e assegnandogli un indirizzo.
Ricorda solo di assegnargli un indirizzo IP o di dirgli di usare dhcp
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
o
dhclient mac0 # For a dhcp-client, to get ip from router.
se è necessario assegnare un gateway predefinito:
sudo ip route add default via 192.168.1.1
Il posto da cui ho preso parte di questo è qui:
http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: ho provato a scherzare con "bond" ifenslave
ma ho bisogno di studiare un po 'di più, non sono riuscito a capirlo. Quello che ho fatto, però, che cosa ha impostato un "EtherSwitch Router" in GNS3 e quindi assegnato un "cloud" dieci dei macN
dispositivi su un "end" e quindi un altro "cloud" a un adattatore solo host vmware, virtualbox probabilmente funzionerebbe allo stesso modo , dall'altro "fine", ho intenzione di scherzare un po 'con quello e vedere se posso limitare la velocità sui macN
dispositivi per simulare un "aggregazione" o se posso distribuire il carico tra le dieci connessioni per "aumentato" larghezza di banda. Forse se li impostassi tutti su txqueuelen: 10 su Linux. Ho DragonflyBSD all'altra "estremità" di questo, tenterò di collegarlo al mio router reale tramite GNS3.
Edit2: ecco uno script veloce per ottenerne quante ne hai bisogno con dhclient. Deve essere eseguito come root. Quindi crea il file, quindi chmod 750 <script>
ed eseguilo con sudo
se puoi / devi. Lo uso in questo modo: ./crazy-mac.sh 20
prende il primo argomento e crea molte nuove interfacce ognuna con il proprio indirizzo mac e ip. Non ci sono controlli di integrità, quindi usalo con saggezza o aggiungine qualcuno;)
Nota: assicurati di connetterti prima con il tuo normale wlan0, altrimenti non funzionerà.
how-to-connect-manual-to-a-wireless-ap
Inoltre, se la loro è una lista di controllo degli accessi mac sul router, potresti aver bisogno di fare un po 'di sniffing per ottenere un elenco di indirizzi mac accettati dal router. Sarà quindi necessario modificare lo script per analizzare un file con quell'elenco e utilizzare una riga per ciascuno $i
nella sequenza invece di consentire a questo di creare indirizzi mac casuali.
Nota2: Potresti voler inserire qualche a sleep <N>
nel loop da qualche parte, questo farà apparire molti "dispositivi" in sequenza e probabilmente alzerà alcune bandiere rosse se qualcuno sta prestando attenzione alla rete. Non credo che 20 dispositivi appariranno in questo modo in circostanze normali.
#!/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
E per abbatterli: di nuovo solo una breve sceneggiatura ...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
E se hai bisogno di un elenco di indirizzi mac, questo funziona con bash quando un file è un elenco di un indirizzo mac per riga nel file.
#!/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
Modifica: stavo solo leggendo dei dispositivi "lagg" (almeno per unix) che possono essere usati per aggregare più interfacce in una singola interfaccia "lagg" per aumentare le prestazioni o fornire fallback nel caso in cui uno dovesse andare in crash per qualsiasi motivo.
Stavo solo pensando a come questo sarebbe utile in una situazione in cui la larghezza di banda era limitata per indirizzo mac, potrebbe essere in grado di essere utilizzata in tale situazione in modo da poter prendere tutte le molte interfacce macN virtuali e aggregare la larghezza di banda in un singola interfaccia e quindi magari sintonizzarla / toccarla su un host virtuale o qualcosa del genere. Questo è interessante per me, proverò a impostare il limite di larghezza di banda sul mio indirizzo wifi personale per mac per ricreare lo scenario e tentare di tornare.