玩MaciOS开发随记Mac优雅使用指南

Mac OS Wi-fi 共享过滤MAC地址

2017-03-07  本文已影响145人  liuwin7

有了Mac电脑设备之后,有个功能,或许大家都用过,就是WiFi共享。这个功能可以让你组件一个局域网,Mac充当一个无线AP,就是无线路由器。其中利好,不用多说,但是也会遇到一些尴尬的情况。比如,碍于情面,你可能会把你的WiFi密码告诉很多人,可是,如果所有的访问压力都集中在你一台电脑上,那你本机的带宽就被占光了,还比如有些连上来的同学,看视频,下载。

怎么做可以让我在让对方不察觉的情况,阻止其连接,即使告诉了你密码。心机boy 😆 !

经过几次的探索和多次的Google,本来是想做的更隐秘一点,限速。无奈不会呀,如有同学了解,还烦请告知啊。

退而求其次吧,让对方知道密码,也连不上不也一样吗,而且,保证一部分人可以上,你连不上,只能说明你人品不好,换手机吧,哈哈😆 。

知识储备


首先我们要明白,苹果的Wifi共享使用的DHCP功能,是由一个叫bootpd的程序控制的。想了解里面的详细说明,可以在你的terminal上输入man bootpd来了解一下,其实,我们接下来的事,也是围绕着它来做的。
简单介绍一下bootpd


话不多说,开始干吧!

  1. 把已有的bootpd.plist复制到一个临时文件里面,需要root权限。
sudo cp /etc/bootpd.plist /tmp/bootpd.plist
  1. 使用vim或者Sublime打开它,并找到ignore_allow_deny,把里面的内容修改一下。

before

    <key>ignore_allow_deny</key>
    <array>
        <string>bridge100</string>
    </array>

after

    <key>ignore_allow_deny</key>
    <array>
        <string>bridge100_bk</string>
    </array>

目的,不让默认的bridge100生效。

  1. 添加Allow规则

before 如果你是第一次修改,没有Allow规则
after

    <key>allow</key>
    <array>
        <string>DC:37:14:57:EF:1B</string>
        <string>6c:72:e7:74:84:4c</string>
    </array>

添加规则,让列表中的设备能够获取到IP地址

  1. 把临时文件复制回去

sudo cp /tmp/bootpd.plist /etc/bootpd.plist

  1. 重启

关闭WiFi,然后再启动。有兴趣的同学可以留意一下关闭WiFi后/etc/bootpd.plist文件的变化。

  1. 测试一下

把你自己手机的MAC地址加进去,然后再让别人试一下,他已经哭晕,哈哈。大功告成!


说好的bootpd.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>Subnets</key>
<array>
<dict>
<key>_creator</key>
<string>com.apple.NetworkSharing</string>
<key>allocate</key>
<true/>
<key>dhcp_domain_name_server</key>
<array>
<string>192.168.2.1</string>

        </array>
        <key>dhcp_router</key>
        <string>192.168.2.1</string>
        <key>interface</key>
        <string>bridge100</string>
        <key>lease_max</key>
        <integer>86400</integer>
        <key>lease_min</key>
        <integer>86400</integer>
        <key>name</key>
        <string>192.168.2/24</string>
        <key>net_address</key>
        <string>192.168.2.0</string>
        <key>net_mask</key>
        <string>255.255.255.0</string>
        <key>net_range</key>
        <array>
            <string>192.168.2.2</string>
            <string>192.168.2.254</string>
        </array>
    </dict>
</array>
<key>allow</key>
<array>
    <string>DC:37:14:57:EF:1B</string>
</array>
<key>bootp_enabled</key>
<false/>
<key>detect_other_dhcp_server</key>
<array>
    <string>bridge100</string>
</array>
<key>dhcp_enabled</key>
<array>
    <string>bridge100</string>
</array>
<key>dhcp_ignore_client_identifier</key>
<true/>
<key>ignore_allow_deny</key>
<array>
    <string>bridge100_bk</string>
</array>
<key>use_server_config_for_dhcp_options</key>
<false/>

</dict>
</plist>

参考

  1. Eye-Fi Upload via Mac OS X Internet Sharing
  2. Apple bootpd
上一篇 下一篇

猜你喜欢

热点阅读