我目前有一个程序,它创建了我的网络上所有MAC地址和相应的名称和IP地址的列表。
我想知道是否有可能(理论上)创建一个后台程序,它会根据您提供的列表每小时更改您的MAC地址。该列表将由已经声明的程序持续更新。
我擅长Python和Batch,但我现在运行的是Mac系统(这也是我想在其上实现此程序的系统),对于网络本身或创建时间敏感的后台任务,我对bash知之甚少。
如果这个问题太宽泛了,请一定要让我知道。
谢谢!
发布于 2012-02-28 12:25:57
您可以使用一个简单的脚本来完成此任务,并使用cron定期运行它。
下面是一个如何从shell脚本(改编自here)更改您的MAC地址的示例
#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。
下面是一些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')https://stackoverflow.com/questions/9476327
复制相似问题