免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 15963 | 回复: 2
打印 上一主题 下一主题

永久修改Mac OS X的网卡MAC地址【设定开机启动脚本和设定守护进程】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-04 09:39 |只看该作者 |倒序浏览
本帖最后由 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(可根据自己喜好命名)的文件:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.   <key>Label</key>
  6.   <string>com.flyzhy.chether.en0</string>
  7.   <key>ProgramArguments</key>
  8.   <array>
  9.     <string>/Users/flyzhy/bin/chether.sh</string>
  10.   </array>
  11.   <key>KeepAlive</key>
  12.   <false/>
  13.   <key>RunAtLoad</key>
  14.   <true/>
  15.   <key>StandardErrorPath</key>
  16.   <string>/tmp/chether.err</string>
  17.   <key>StandardOutPath</key>
  18.   <string>/tmp/chether.out</string>
  19. </dict>
  20. </plist>
复制代码
/Users/flyzhy/bin/chether.sh的内容为:
  1. #!/bin/sh
  2. /sbin/ifconfig en0 up
  3. /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 文件,内容如下:


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.   <key>Label</key>
  6.   <string>com.flyzhy.crontab.rsync</string>
  7.   <key>ProgramArguments</key>
  8.   <array>
  9.     <string>/Users/flyzhy/bin/rsync.sh</string>
  10.   </array>
  11.   <key>KeepAlive</key>
  12.   <false/>
  13.   <key>RunAtLoad</key>
  14.   <false/>
  15.   <key>StartCalendarInterval</key>
  16.   <dict>
  17.     <key>Hour</key>
  18.     <integer>16</integer>
  19.     <key>Minute</key>
  20.     <integer>28</integer>
  21.   </dict>
  22.   <key>StandardErrorPath</key>
  23.   <string>/tmp/rsync61.err</string>
  24.   <key>StandardOutPath</key>
  25.   <string>/tmp/rsync61.out</string>
  26. </dict>
  27. </plist>
复制代码
这样可以实现每天下午4:28分进行rsync同步,具体同步命令可以在脚本中描述。

论坛徽章:
0
2 [报告]
发表于 2011-08-04 10:24 |只看该作者
通过一个叫ChangeMac的软件来看,当前网卡MAC地址好像也已经改了,但上网的时候就是没法连出去(没有通过路由器验证),不知道大家是否有遇到,谢谢。

论坛徽章:
0
3 [报告]
发表于 2011-08-21 08:35 |只看该作者
昨天发现这种方法已经修改了网卡mac地址了,原来是我的这个绑定有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP