MAC изменяет программу или демон? - PullRequest
0 голосов
/ 28 февраля 2012

В настоящее время у меня есть программа, которая создает список всех MAC-адресов и соответствующих им имен и IP-адресов в моей сети.

Мне было интересно, возможно ли (теоретически) создать фоновую программу, которая каждый час будет менять ваш MAC-адрес в зависимости от предоставленного вами списка.Список будет постоянно обновляться уже заявленной программой.

Я хорошо разбираюсь в Python и Batch, но сейчас я работаю на системе Mac (именно на этом я хочу реализовать эту программу) иплохо разбираетесь в bash, когда речь идет о самой сети, или о создании фоновых задач, чувствительных ко времени.

Если вопрос слишком широкий, пожалуйста, дайте мне знать.

Спасибо!

1 Ответ

1 голос
/ 28 февраля 2012

Вы можете выполнить это с помощью простого скрипта и периодически запускать его, используя cron.

Вот пример того, как изменить свой MAC-адрес из скрипта оболочки (здесь адаптировано с *)1005 *)

#NETWORKING="/etc/init.d/networking"   # On some systems
NETWORKING="service network"           # On my Fedora 16 box

$NETWORKING stop
ifconfig eth0 hw ether 02:01:02:03:04:08
$NETWORKING start

Так что вам нужно найти способ рандомизировать этот MAC-адрес.

Затем, используйте crontab -e, чтобы добавить его в ваш crontab.Вот краткий справочник по для crontab .

Вот немного Python для генерации случайного MAC-адреса и его изменения.Только поколение MAC было проверено (по очевидным причинам).Также обратите внимание, что вы можете захотеть ограничить диапазон для некоторых байтов в MAC-адресе, но это выходит за рамки моего ответа.

from subprocess import call
import random

mac = [random.randint(0, 0xFF) for i in range(6)]    
macstr = ':'.join(['{:02X}'.format(x) for x in mac])
print 'Changing MAC address to', macstr

call(['service', 'network', 'stop')
call(['ifconfig', 'eth0', 'hw', 'ether', macstr])
call(['service', 'network', 'start')
...