Điều này đang làm việc cho tôi trên Linux (Kali). Bạn có thể cần thay đổi địa chỉ, cổng hoặc netmasks dựa trên tình hình cá nhân của bạn. Xin lỗi nếu bạn không cần điều này, cho người tiếp theo vấp ngã ở đây, như tôi đã làm lúc trước.
Trong trường hợp <your-nicN>
là những gì bạn nhìn thấy từ một ifconfig
như eth0
haywlan0
sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up
Điều đó tạo ra một giao diện "ảo" mới gọi là mac0 và đưa nó lên. Tôi đã thêm lệnh up vì lần đầu tiên tôi nghĩ rằng nó không hoạt động, nhưng sudo ip link show [tab][tab]
cộng với một tab kép được hoàn thành với một danh sách bao gồm mac0, sau đó tôi đã tiến hành đưa nó lên với ifconfig và gán cho nó một địa chỉ.
Chỉ cần nhớ gán cho nó một địa chỉ IP hoặc bảo nó sử dụng dhcp
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
hoặc là
dhclient mac0 # For a dhcp-client, to get ip from router.
nếu bạn cần gán một cổng mặc định:
sudo ip route add default via 192.168.1.1
Nơi tôi đã nhận được một số trong số này là ở đây:
http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: Tôi đã thử nhắn tin với "bond" và ifenslave
nhưng tôi cần nghiên cứu thêm một chút về điều đó, tôi thực sự không thể tìm ra. Những gì tôi đã làm mặc dù đã thiết lập "Bộ định tuyến EtherSwitch" trong GNS3 và sau đó gán một "đám mây" mười macN
thiết bị trên một "kết thúc" và sau đó một "đám mây" khác cho bộ điều hợp máy chủ vmware, hộp ảo có thể sẽ hoạt động tương tự , ở "kết thúc" khác, tôi sẽ loay hoay với điều đó một chút và xem liệu tôi có thể giới hạn tốc độ trên các macN
thiết bị để mô phỏng một "tập hợp" hay không nếu tôi có thể phân phối tải trên mười kết nối để "tăng" băng thông. Có lẽ nếu tôi đặt tất cả chúng thành txqueuelen: 10 trên Linux. Tôi có DragonflyBSD ở "phần cuối" khác, tôi sẽ cố gắng kết nối nó với bộ định tuyến thực của mình thông qua GNS3.
Edit2: Đây là một đoạn script nhanh để có được nhiều thứ bạn cần với dhclient. Nó cần phải được chạy như root. Vì vậy, tạo tập tin, sau đó chmod 750 <script>
và chạy nó với sudo
nếu bạn có thể / phải. Tôi sử dụng nó như thế này: ./crazy-mac.sh 20
nó lấy đối số đầu tiên và tạo ra nhiều giao diện mới, mỗi giao diện có địa chỉ mac và ip riêng. Không có kiểm tra sự tỉnh táo vì vậy hãy sử dụng nó một cách khôn ngoan hoặc tự thêm một số;)
Lưu ý: Đảm bảo kết nối với wlan0 bình thường của bạn trước nếu không nó sẽ không hoạt động.
Làm thế nào để kết nối thủ công với mạng không dây-ap
Ngoài ra nếu danh sách điều khiển truy cập mac của họ trên bộ định tuyến, bạn có thể cần thực hiện một số thao tác để có được danh sách địa chỉ mac được bộ định tuyến chấp nhận. Sau đó, bạn sẽ cần chỉnh sửa tập lệnh để phân tích một tệp với danh sách đó và sử dụng một dòng cho mỗi $i
trong chuỗi thay vì cho phép điều này tạo địa chỉ mac ngẫu nhiên.
Lưu ý2: Bạn có thể muốn đặt một số sleep <N>
vòng lặp ở đâu đó, điều này sẽ đưa ra nhiều "thiết bị" tuần tự và có thể sẽ giơ một số cờ đỏ nếu có ai chú ý đến mạng. Tôi không nghĩ 20 một số thiết bị sẽ xuất hiện theo kiểu này trong những trường hợp bình thường.
#!/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
Và để đưa họ xuống: Một lần nữa chỉ là một kịch bản nhanh chóng ...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
Và nếu bạn cần một danh sách các địa chỉ mac thì điều này sẽ hoạt động với bash khi một tệp là danh sách một địa chỉ mac trên mỗi dòng trong tệp.
#!/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
Chỉnh sửa: Tôi chỉ đọc về các thiết bị "lagg" (ít nhất là cho unix) có thể được sử dụng để tổng hợp nhiều giao diện vào một giao diện "lagg" duy nhất để tăng hiệu suất hoặc vì bất kỳ lý do gì.
Tôi chỉ nghĩ về việc nó sẽ hữu ích như thế nào trong trường hợp băng thông bị giới hạn trên mỗi địa chỉ mac, nó có thể được sử dụng trong tình huống đó để bạn có thể lấy tất cả nhiều giao diện macN ảo và tổng hợp băng thông thành một giao diện đơn và sau đó có thể điều chỉnh / chạm vào máy chủ ảo hoặc một cái gì đó. Điều này rất thú vị đối với tôi, tôi sẽ cố gắng thiết lập giới hạn băng thông trên địa chỉ wifi cá nhân trên mỗi địa chỉ mac để tạo lại kịch bản và thử điều này tôi sẽ quay lại.