首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MAC改变程序或守护进程?

MAC改变程序或守护进程?
EN

Stack Overflow用户
提问于 2012-02-28 12:21:06
回答 1查看 268关注 0票数 0

我目前有一个程序,它创建了我的网络上所有MAC地址和相应的名称和IP地址的列表。

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

我擅长Python和Batch,但我现在运行的是Mac系统(这也是我想在其上实现此程序的系统),对于网络本身或创建时间敏感的后台任务,我对bash知之甚少。

如果这个问题太宽泛了,请一定要让我知道。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 12:25:57

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

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

代码语言:javascript
复制
#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地址中某些字节的范围,但这超出了我的回答范围。

代码语言:javascript
复制
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')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9476327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档