Networking MAC更改程序还是守护进程?

Networking MAC更改程序还是守护进程?,networking,daemon,Networking,Daemon,我目前有一个程序,可以创建一个列表,列出我网络上的所有MAC地址、相应的名称和IP地址 我想知道是否有可能(理论上)创建一个后台程序,每小时根据您提供的列表更改您的MAC地址。该列表将由已声明的计划不断更新 我擅长Python和Batch,但我现在正在运行Mac系统(这就是我想要实现这个程序的地方),对于网络本身或者创建对时间敏感的后台任务,我对bash知之甚少 如果这是一个太宽泛的问题,请让我知道 谢谢大家! 您可以使用一个简单的脚本来完成这项任务,并使用cron定期运行它 下面是一个如何从s

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

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

我擅长Python和Batch,但我现在正在运行Mac系统(这就是我想要实现这个程序的地方),对于网络本身或者创建对时间敏感的后台任务,我对bash知之甚少

如果这是一个太宽泛的问题,请让我知道


谢谢大家!

您可以使用一个简单的脚本来完成这项任务,并使用
cron
定期运行它

下面是一个如何从shell脚本(改编自)更改MAC地址的示例

所以你需要想出一种方法来随机分配MAC地址

然后,使用
crontab-e
将其添加到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')

这正是我遇到的问题——从预先存在的列表中随机分配MAC地址。我无法将其作为数据或任何东西加载,因为它只是一个bash脚本。。。谢谢你在cron上的参考!我可能会考虑用Python之类的方式来做,那么如何将该程序设置为后台程序呢?我不想随机化MAC地址,我想从列表中随机选取它。所以每半个小时,比如说,它会在一个文本文件上列出一个MAC地址(每一个都在新行上),并将其设置为新的MAC地址。该程序本身(现在我知道了“call”方法)非常简单,我的问题是将python程序设置为守护进程。我的想法是用python创建它,然后创建一个bash脚本来调用这个python程序,将这个bash脚本设置为一个守护进程,每隔x个时间激活这个python程序。
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')