Działa to dla mnie w systemie Linux (Kali). Może być konieczna zmiana adresów, bram lub masek sieciowych w zależności od osobistej sytuacji. Przepraszam, jeśli nie jest to potrzebne, aby następna osoba potknęła się tutaj, tak jak przed chwilą.
Gdzie <your-nicN>
jest to, co widzisz z ifconfig
takich jak eth0
lubwlan0
sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up
Tworzy to nowy „wirtualny” interfejs o nazwie mac0 i wprowadza go. Dodałem polecenie up, ponieważ po raz pierwszy pomyślałem, że to nie działa, ale sudo ip link show [tab][tab]
plus podwójna karta uzupełniona listą zawierającą mac0, a następnie przystąpiłem do wyświetlania go z ifconfig i przypisania mu adresu.
Pamiętaj tylko, aby przypisać mu adres IP lub powiedzieć, aby używał dhcp
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
lub
dhclient mac0 # For a dhcp-client, to get ip from router.
jeśli musisz przypisać bramę domyślną:
sudo ip route add default via 192.168.1.1
Miejsce, z którego mam trochę tego, znajduje się tutaj:
http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edycja3: Próbowałem zadzierać z „wiązaniem”, ifenslave
ale muszę się trochę więcej przestudiować, tak naprawdę nie mogłem tego pojąć. To, co zrobiłem, chociaż skonfigurowałem „EtherSwitch Router” w GNS3, a następnie przypisałem „chmurę” dziesięciu macN
urządzeń na jednym „końcu”, a następnie inną „chmurę” do adaptera tylko hosta vmware, virtualbox prawdopodobnie działałby tak samo , na drugim „końcu” zamierzam trochę z tym popsuć i sprawdzić, czy mogę ograniczyć prędkość na macN
urządzeniach, aby zasymulować „agregację” lub czy mogę rozłożyć obciążenie na dziesięć połączeń w celu „zwiększenia” pasmo. Może jeśli ustawię je wszystkie na txqueuelen: 10 w systemie Linux. Mam DragonflyBSD na drugim „końcu” tego, spróbuję podłączyć go do mojego prawdziwego routera przez GNS3.
Edycja2: Oto szybki skrypt, aby uzyskać tyle, ile potrzebujesz w dhclient. Musi być uruchamiany jako root. Utwórz plik, a następnie chmod 750 <script>
uruchom go, sudo
jeśli możesz / musisz. Używam tego w ten sposób: ./crazy-mac.sh 20
bierze pierwszy argument i tworzy tyle nowych interfejsów, każdy z własnym adresem mac i ip. Nie ma kontroli poczytalności, więc używaj jej mądrze lub dodaj trochę;)
Uwaga: Pamiętaj, aby najpierw połączyć się ze swoim normalnym wlan0, w przeciwnym razie to nie zadziała.
how-to-connect-manual-to-a-wireless-ap
Również jeśli jest to lista kontroli dostępu do systemu Mac na routerze, może być konieczne trochę wąchania, aby uzyskać listę adresów MAC akceptowanych przez router. Następnie musisz zmodyfikować skrypt, aby przeanalizować plik z tą listą i użyć wiersza dla każdego $i
w sekwencji zamiast zezwalając na tworzenie losowych adresów mac.
Uwaga 2: Możesz sleep <N>
gdzieś umieścić pętlę, spowoduje to sekwencyjne wywoływanie wielu „urządzeń” i prawdopodobnie podniesie czerwone flagi, jeśli ktoś zwraca uwagę na sieć. Nie sądzę, że 20 normalnych urządzeń wyskakuje w ten sposób.
#!/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
I sprowadzić je na dół: ponownie krótki skrypt ...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
A jeśli potrzebujesz listy adresów mac, działa to z bash, gdy plik jest listą jednego adresu mac na linię w pliku.
#!/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
Edycja: Właśnie czytałem o urządzeniach „lagg” (przynajmniej dla unixa), których można użyć do agregacji wielu interfejsów w jednym interfejsie „lagg”, aby zwiększyć wydajność lub zapewnić awarie w przypadku awarii z jakiegokolwiek powodu.
Właśnie myślałem o tym, jak byłoby to użyteczne w sytuacji, w której przepustowość była ograniczona na adres mac, może być w takiej sytuacji użyta, abyś mógł wziąć wszystkie wirtualne interfejsy macN i agregować przepustowość w pojedynczy interfejs, a następnie może tun / tap to do wirtualnego hosta lub czegoś takiego. Jest to dla mnie interesujące, spróbuję ustawić limit przepustowości na moim osobistym adresie Wi-Fi na adres Mac, aby odtworzyć scenariusz i spróbować tego, wrócę.