Chinaunix
标题:
永久修改Mac OS X的网卡MAC地址【设定开机启动脚本和设定守护进程】
[打印本页]
作者:
zhy2111314
时间:
2011-08-04 09:39
标题:
永久修改Mac OS X的网卡MAC地址【设定开机启动脚本和设定守护进程】
本帖最后由 zhy2111314 于 2011-08-21 08:45 编辑
系统版本:Mac OS X Snow Leopard 10.6.8
修改网卡MAC地址的原因主要是我们上网是通过IP和MAC地址绑定的,如果换了电脑需要将MAC地址设为当时绑定的电脑的MAC地址,在Windows和Linux下都比较容易实现,但这次换了MacBook Pro,通过launchd的方式在命令行下通过ifconfig查看网卡en0的MAC地址确实变成了想要设置的MAC地址,但是在“网络偏好设置”中“以太网”->“高级”->“以太网 ID”仍然是机器自身的MAC地址,而且这样的情况下上网来看仍然没有绑定想要设置的MAC地址,不知道如何才能让“网络偏好设置”中的“以太网 ID”也能被修改(spoof 欺骗),这样应该就没问题了。
launchd修改的过程是在/Library/LaunchDaemons/目录下创建一个com.flyzhy.chether.en0.plist(可根据自己喜好命名)的文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.flyzhy.chether.en0</string>
<key>ProgramArguments</key>
<array>
<string>/Users/flyzhy/bin/chether.sh</string>
</array>
<key>KeepAlive</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/chether.err</string>
<key>StandardOutPath</key>
<string>/tmp/chether.out</string>
</dict>
</plist>
复制代码
/Users/flyzhy/bin/chether.sh的内容为:
#!/bin/sh
/sbin/ifconfig en0 up
/sbin/ifconfig en0 ether xx:xx:xx:xx:xx:xx
复制代码
其中xx为要修改的MAC地址。
以上的方法可以“永久”修改网卡的mac地址,同样该方法也适用于其它类似情况。
Mac OS已经逐渐取消了类似UNIX/Linux修改crontab的方式来设定守护进程,通过新的launchd的方式不仅可以设定守护进程,还可以设定开机启动脚本等,具体情况大家可以到网上搜索关于Mac OS X的launchd资料,谢谢大家。
上面是如何设定开机启动脚本的例子,再贴一个我的守护进程的例子供大家参考吧。
本身Time Machine已经很不错的备份方案了,但有一些重要资料还是希望能够双重备份,所以我这里设定一个脚本每天定时向服务器rsync同步。
这个跟具体用户有关系,所以在 ~/Library/LaunchAgents/ 下面创建一个 com.flyzhy.crontab.rsync.plist 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.flyzhy.crontab.rsync</string>
<key>ProgramArguments</key>
<array>
<string>/Users/flyzhy/bin/rsync.sh</string>
</array>
<key>KeepAlive</key>
<false/>
<key>RunAtLoad</key>
<false/>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>16</integer>
<key>Minute</key>
<integer>28</integer>
</dict>
<key>StandardErrorPath</key>
<string>/tmp/rsync61.err</string>
<key>StandardOutPath</key>
<string>/tmp/rsync61.out</string>
</dict>
</plist>
复制代码
这样可以实现每天下午4:28分进行rsync同步,具体同步命令可以在脚本中描述。
作者:
zhy2111314
时间:
2011-08-04 10:24
通过一个叫ChangeMac的软件来看,当前网卡MAC地址好像也已经改了,但上网的时候就是没法连出去(没有通过路由器验证),不知道大家是否有遇到,谢谢。
作者:
zhy2111314
时间:
2011-08-21 08:35
昨天发现这种方法已经修改了网卡mac地址了,原来是我的这个绑定有问题。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2