MAC更改程序或守护程序?

时间:2012-02-28 04:21:06

标签: networking daemon

我目前有一个程序可以在我的网络上创建所有MAC地址和相应名称以及IP地址的列表。

我想知道是否有可能(理论上)创建一个后台程序,每小时都会根据您提供的列表更改您的MAC地址。该清单将由已经陈述的计划不断更新。

我很擅长使用Python和Batch,但我现在正在运行一个Mac系统(我想要实现这个程序)并且在涉及到网络本身时,或者对bash知之甚少。创建时间敏感的后台任务。

如果这个问题太广泛,请告诉我。

谢谢!

1 个答案:

答案 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')