我目前有一个程序可以在我的网络上创建所有MAC地址和相应名称以及IP地址的列表。
我想知道是否有可能(理论上)创建一个后台程序,每小时都会根据您提供的列表更改您的MAC地址。该清单将由已经陈述的计划不断更新。
我很擅长使用Python和Batch,但我现在正在运行一个Mac系统(我想要实现这个程序)并且在涉及到网络本身时,或者对bash知之甚少。创建时间敏感的后台任务。
如果这个问题太广泛,请告诉我。
谢谢!
答案 0 :(得分:1)
您可以使用简单的脚本完成此操作,并使用cron
定期运行它。
以下是如何从shell脚本更改MAC地址的示例(改编自here)
#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。这是quick reference for crontab。
这是一些生成随机MAC地址并进行更改的python。仅测试了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')