Это работает на меня на Linux (Kali). Вы, возможно, должны изменить адреса, шлюзы или сетевые маски на основе Вашей персональной ситуации. Извините, если Вам не нужно это, чтобы следующий человек споткнулся здесь, хотя, как я сделал несколько моментов назад.
Где
то, что Вы видите от ifconfig
такой как eth0
или wlan0
sudo ip link add link mac0 type macvlan && sudo ifconfig mac0 up
Это создает новый "виртуальный" интерфейс, названный mac0, и поднимает его. Я добавил команда, потому что первое, я думал, что это не работало, но sudo ip link show [tab][tab]
плюс двойная вкладка, завершенная со списком, который включал mac0, я затем продолжил поднимать его с ifconfig и присваивать ему адрес.
Просто Не забудьте присваивать ему IP-адрес или говорить ему использовать dhcp
ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config
или
dhclient mac0 # For a dhcp-client, to get ip from router.
если необходимо присвоить шлюз по умолчанию:
sudo ip route add default via 192.168.1.1
Место, от которого я получил часть этого, здесь: http://www.pocketnix.org/posts/Linux%20Networking:%20MAC%20VLANs%20and%20Virtual%20Ethernets
Edit3: Я пытался смешать со "связью" и ifenslave
но я должен сделать немного больше изучения, на котором, я не мог действительно понять это. Что я действительно делал хотя, что настраивает "Маршрутизатор EtherSwitch" в GNS3 и затем присвоило "облаку" десять из macN
устройства на одном "конце" и затем другое "облако" к VMware размещает только адаптер, virtualbox, вероятно, работал бы то же на другом "конце", я собираюсь бездельничать с этим немного и видеть, могу ли я ограничить скорость на macN
устройства для моделирования "агрегирования" или если я могу распределить загрузку через эти десять соединений для "увеличенной" пропускной способности. Возможно, если я установил их всех на txqueuelen:10 на Linux. У меня есть DragonflyBSD на другом "конце" этого, я попытаюсь подключить его к своему реальному маршрутизатору через GNS3.
Edit2: Вот быстрый сценарий для получения столько, как Вам нужно с dhclient. Это должно быть, работал как корень. Поэтому создайте файл, затем chmod 750
и выполненный это с sudo
если Вы можете / к. Я использую его как это: ./crazy-mac.sh 20
это берет первый аргумент и создает это много новых интерфейсов каждый с его собственным Mac и IP-адресом. Нет никаких проверок работоспособности, так используйте его мудро или добавьте некоторых сами ;)
Примечание: Удостоверьтесь, что соединились со своим нормальным wlan0 сначала или иначе этой работой привычки. how-to-connect-manually-to-a-wireless-ap Также, если их список управления доступом Mac на маршрутизаторе, Вы, возможно, должны были бы сделать немного некоторый сниффинг для получения списка MAC-адреса, принятого маршрутизатором. Необходимо будет затем отредактировать сценарий, чтобы проанализировать файл с тем списком и использовать строку для каждого $i
в последовательности вместо того, чтобы позволить этому создавать случайные MAC-адреса.
Note2: Вы могли бы хотеть поместить некоторый a sleep
в цикле где-нибудь, это поднимет много "устройств" последовательно и вероятно повысит некоторые красные флаги, если кто-либо будет уделением внимания сети. Я не думаю 20, некоторые устройства откроются этим способом при нормальных обстоятельствах.
#!/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
И снизить их: Снова просто быстрый сценарий...
#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
ifconfig mac${i} down && \
ip link delete mac${i};
done
И если Вам нужен список MAC-адресов, это работает с ударом, когда файл является списком одного MAC-адреса на строку в файле.
#!/bin/bash
## crazy-mac2.sh
## Usage : crazy-mac2.sh
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
Править: Я просто читал о "lagg" устройствах (по крайней мере, для Unix), который может использоваться для агрегации нескольких интерфейсов в единственный интерфейс "lagg" для увеличения производительности, или обеспечить осенние спины должно каждый идти вниз по любой причине.
Я просто думал о том, как это будет полезно в ситуации, где пропускная способность была ограничена на MAC-адрес, она смогла использоваться в такой ситуации так, чтобы можно было взять все много виртуальных интерфейсов macN и агрегировать пропускную способность в единственный интерфейс и затем возможно, бочку/касание это к виртуальному хосту или чему-то. Это интересно мне, я попытаюсь настроить предел пропускной способности на свой персональный Wi-Fi на MAC-адрес для воссоздания сценария, и делать попытку этого я вернусь.
Помните, что соответствующие адреса электронной почты намного сложнее, что то, что у вас есть. Смотрите Выдержка из овладения регулярных выражений
Однако, чтобы ответить на ваш вопрос, для базового регулярного выражения, ваши квантификаторы должны быть одним из *
, \ +
или \ {m, n \}
(с обратной червой)
pattern='^[a-zA-Z0-9]\+@[a-zA-Z0-9]\+\.[a-z]\{2,\}'
grep "$pattern" regexfile
Вам нужно процитировать переменную шаблона