14 Replies Latest reply: Sep 4, 2010 4:18 AM by Alviater
limo79 Level 1 Level 1 (5 points)
Hi,

Do you know how to change MAC address of ethernet LAN card (not Wi-Fi) under MacBook Pro MB133PL/A (Penryn) with Mac OSX 10.5.2 (Leopard) ?

Thanks,

MB133PL/A, Mac OS X (10.5.2), 15,4" MacBook Pro (Penryn)
  • varjak paw Level 10 Level 10 (169,830 points)
    The MAC address is embedded into the Ethernet hardware/firmware and is not changeable. What is it you need to accomplish that leads you to believe you need to change the MAC address?
  • limo79 Level 1 Level 1 (5 points)
    I partially agree, but most network cards using Realtek chipsets have driver option to change/spoof MAC address even if hardware MAC is embedded. I made some investigation using Google - under Mac OSX Tiger users it was possible to change en0 LAN network card MAC addresss, but for en1 Airport wireless network card it was not possible. Now under Leopard OSX situation is reversed - as I know you can change only MAC address of en1 Airport Wireless network card, but for en0 LAN network card trick does not work at all. I am a little bit dissapointed that Apple does not include such simple option in Leopard OS

    Message was edited by: limo79
  • varjak paw Level 10 Level 10 (169,830 points)
    Again, what is it that you're trying to accomplish? I can't think of many good reasons to need to spoof a MAC address (and yes I know it's possible in some circumstances), but perhaps if you'll explain what it is you need to spoof the MAC address for, someone may be able to come up with a suggestion.

    Message was edited by: Dave Sawyer
  • limo79 Level 1 Level 1 (5 points)
    My colleague took his Toshiba Satellite on business trip and I tried to connect to internet. Most providers ask you about MAC address when they install your internet network and it was set according to Toshiba Satellite MAC address. The only way to get an access to internet was to spoof (change) MAC address like in Toshiba Satellite. Under Windows it was easy operation.

    Message was edited by: limo79
  • varjak paw Level 10 Level 10 (169,830 points)
    If a provider is asking for the MAC address, it may be that their contract is for a single system only. I've not heard of such a restriction, but it could be that some ISP has such a restriction. If that is the case, then we cannot help you get around it since that would be violating the ISP's terms of use.

    If there is a cable/DSL modem in place, it may just need to be reset to pick up your system's MAC address. That's fairly common with cable and DSL modems. Then when your colleague comes back, he's had to reset the modem again to get the Toshiba to connect.
  • limo79 Level 1 Level 1 (5 points)
    Sometimes internet providers use MAC address to limit internet access only for a single user machine, but I would like to clarify that I do want to be against ISP's terms of use. I can tell you some situation from the past - during my studies I upgraded my PC with new mobo with integrated Realtek LAN card (EPOX 8rda+). Previously I had external Realtek LAN card. It was much more easy to put my old MAC address in Realtek driver options than fill a new form with new MAC address and to give it to network admin.
  • shoarthing Level 1 Level 1 (0 points)
    . . without any impertinent malarkey about why you should want to do this; it appears to be tricky to spoof eth0 (wired) in Leopard, tho' possible to spoof eth1 (Airport) - perhaps it might be less tricky if you install 10.4.10 - yes, this can be done to a Penryn MBP.

    Message was edited by: shoarthing
  • Brandon Torrigino Level 1 Level 1 (15 points)
    I use the terminal.

    sudo ifconfig en0 lladdr /enter valid mac address here without the slashes/

    press return

    enter superuser password

    press return

    This will change the regular wired ethernet port on you MBP. To change the wireless MAC you should replace the en0 with an en1 but if you have a Airport v1.0 card then it will not work. It might work if you have a v2.0 but people seem to have off an on success with that. Also you can attempt putting ether in place of lladdr if you still have issues that need troubleshooting.

    I know there are some legit reasons to change the MAC address and many non-legit ones but lets just say for instance a friend of yours has a network or wireless and they forgot their password to control the settings on that network. Long ago when they made the network they limited access to it by binding it to certain MAC addresses namely theirs. Now they have given you permission to use the network but you can't because your computer does not have their mac address. They cannot make the network give you permission because they forgot their password so they give you thier MAC address and let you trick their network into thinking your computer is actually your friend's and then you are able to surf the internet. They won't just let you use their computer cause they need to write an essay offline for a few hours. This does not violate any terms of service, you got permission and unless there are some other extenuating circumstances this is a legit move. I assume this is the exact reason you want this information.
  • yttrx Level 1 Level 1 (0 points)
    Its probably less tricky than you think, and no malarkey. I have to spoof MAC addresses as part of my work, which is in the security audit/penetration testing field. Spoofing a MAC address is a very basic part of a good network security testing toolkit. The answer was too obvious, and it took me weeks to figure it out:

    Turn off the airport.

    When I turn off the airport on my Macbook Pro, I am able to alter the MAC address on the ethernet interface.

    That is not to say that this doesn't suck. As a result of having to turn off a network interface in order to modify another one, it takes many times longer to complete an audit than it would if say, it were as easy as it is under FreeBSD.

    I would very much like a better solution than this. Apple? Any ideas?
  • yttrx Level 1 Level 1 (0 points)
    Sure you can change it, despite it being embedded in the hardware. Changing a MAC address, depending on the drivers involved, shouldn't mean changing anything on the hardware itself, but instead dropping an "answerer" between the hardware and the request. The request should never poll the hardware directly (big hole there), but instead query the driver for the information, which the driver should be aware of without having to poll the hardware each time--which is why the middle-man option works.

    In fact, I think there's probably a way to write an application that listens for this kind of thing and responds appropriately for any interface, without having to talk to the driver at all. Hmm.
  • _Rob_ Level 1 Level 1 (40 points)
    yttrstein wrote:
    Its probably less tricky than you think, and no malarkey. I have to spoof MAC addresses as part of my work, which is in the security audit/penetration testing field. Spoofing a MAC address is a very basic part of a good network security testing toolkit. The answer was too obvious, and it took me weeks to figure it out:

    Turn off the airport.

    When I turn off the airport on my Macbook Pro, I am able to alter the MAC address on the ethernet interface.


    Unfortunately, this doesn't work for me. No matter what interfaces are up/down, I am still unable to change en0's MAC address. The command completes with no error message, but the MAC remains the same.

    The machine in question is:

    MacBookPro3,1
    2.2 C2D
    10.5.4
    MBP31.0070.B02

    Any other suggestions?

    Thanks,
    Rob
  • Joe Buczek Level 1 Level 1 (45 points)
    Summary, assuming you want to do this on a wifi connection:

    1. Do not turn off Airport
    2. Choose “Join other network…” from the Airport menu
    3. Enter a bogus network name, e.g. fubar
    4. Choose "Cancel", leaving en1 "on" but not associated
    5. In a terminal window, enter: sudo ifconfig en1 xx:xx:xx:xx:xx:xx: (your new MAC)
    6. Choose the network you wish to join (or re-join) from the Airport menu

    After step 4, if you want to verify you’ve really changed your MAC address, in a terminal window, run the command, "ifconfig en1" and look for the “ether xx:xx:xx:xx:xx:xx:” value it outputs. It should match the new MAC address you entered.

    This works for me on a MacBook Pro (Intel Core 2 Duo) running 10.5.7.

    Hope this helps,
    --Joe

    Message was edited by: Joe Buczek
  • Jolindien Level 1 Level 1 (0 points)
    Hello,
    Your trick works perfectly on 10.5.7 with airport.
    but is also a trick for ethernet (i.e en0)?
    Thx
  • Alviater Level 1 Level 1 (0 points)
    This process is automated with MacSpoofer (freeware), download it from www.macspoofer.com