Spoof MAC Address in Android
Some WiFi internet providers use MAC Address for verification and access to network. You can spoof your system’s MAC address to your Android phone and access internet on mobile.
Requirements
- Rooted Android Phone
- Busybox
- Any Android terminal application
Open terminal app in phone and type
su
busybox iplink show eth0
This will show the current MAC address of your phone.
busybox iplink set eth0 00:00:00:00:00:00
replace 00:00:00:00:00:00 with your required MAC address.
If you have installed busybox from Titanium Backup program, you can access busybox from following directory.
/data/data/com.keramidas.TitaniumBackup/files/
/data/data/com.keramidas.TitaniumBackup/files/busybox iplink show eth0
Above steps are tested and working in Nexus S.
Update : For Samsung Galaxy S2
Use following command (It is same as the command we use in GNU/Linux). Thanks to orestis46
busybox ifconfig eth0 hw ether 00:00:00:00:00:00
Thanks, will try it out on my Nexus S later.
Greets from Chandigarh
Excuse me.
It does not work on my Xperia Neo 2.3.2.
I have rooted and installed busybox 1.7 and terminal emulator
but when I command, it showed “IPlink: siocsifhwaddr:operation not supported”
Could you help me deal with this problem?
Thanks a lot.
Greeting from Taiwan,Asia.
Gre,
Please check whether the device id is correct. just type “busybox ifconfig” and findout which one is your WiFi’s device id. and replace it with “eth0″ for commands.
NB: Am not sure this technique will work for all phones except Nexus S.
Dear Jishnu
Thanks for your answering.
I found that my wifi device is “wlan0″ and I replaced it.
But it doesn’t work either.
I had spoofed mac address on my iPhone before.
And the command “ifconfig” doesn’t work as well.
Finally I tried the command “nvram WiFiaddr=XX:…”to solve the problem.
Is there any likely command on Android?
This is my second time to use android devices.
Previous one is nexus one
Sorry for disturbing you and my English is really poor..
But there are less informations in Chinese, including simplify and traditional.
So I need to appeal to overseas professions.
Could you find wherect the matter is?
Thanks a lot.
Greeting from Taipei, Taiwan.
Replaced wherect into where, thanks.
Oh,something happens…
When I typed in “busybox iplink set wlan0 XX:XX:XXXXXX ”
It showed “either ‘dev’ is duplicate, or ‘XX:XX:XXXXxx…’is garbage”
excuse me
how can I make the whole networking module stop?
some articles say “/etc/init.d/networking stop”
but i dont know how to make command at terminal.
could you give me som idea?
thanks
I tested
“busybox iplink set eth0 00:00:00:00:00:00″ on my friend’s Galaxy S and I got the same error.
“either ‘eth0’ is duplicate, or ‘XX:XX:XX:XX:XX…’is garbage” ( it was not eth0, some complicated name.)
/etc/init.d/networking stop will work for GNU/Linux but am not sure about android. Why you need to stop that ?
spoofed mac address will reset after every time we turn off wifi
iplink set eth0 address XX:XX:XX:XX:XX:XX
I got it, thanks a lot.
the command working on GNU can not work on android
do android devices always unload networking module while we turn off wifi?
it takes more time than other devices.
I feel tired because the spoofed mac will be reset whenever restarting.
You said’ it was not eth0, some complicated name’
what does it mean?
Finally thanks a lot and greeting for you.
Busybox is used to emulate commands used in GNU/Linux on android.
In GNU/Linux also, we need to spoof again after re-starting unless you set that using network manager.
In my case, whenever I turn-off and on WiFI, I need to spoof.
In galaxy s, WiFI device was with some name starting with ‘MM…’ something. I forgot that, thats why I replied complicated name.
Not working for me on rooted nexus s…
“either dev is duplicate or “00:00:1B:23:33:44″ is garbage”
Gre how did you do it?
That addresses several of my concerns acutllay.
I used as in linux to change mac address and works ok in my Samsung Galaxy S2:
#busybox ifconfig eth0 hw eth 00:11:22:33:44:55
Verify:
#busybox ifconfig eth0
No shutdown of wifi interface is required. In case you shutdown then enable from wireless settings menu your wireless interface then you need to go again in terminal to spoof it again (as you got back the original mac-address)
The correct full cli is:
#busybox ifconfig eth0 hw ether 00:11:22:33:44:55
ip link set eth0 address XX:XX:XX:XX:XX:XX
Hi,
iv’e got the Samsung Galaxy S 2 and none of these methods worked for me. it either says invalid hw-addr, wrong address or it just does nothing and the mac remains unchanged, anyone similar problems or a solution?
i have succesfully changed my mac address but after changing the mac , am not able to connect to any network??
Hi, this does work, but after I disconnect and reconnect to the network, my mac address resets… why?
Yeah. You need to do that eveyisconnect and reconnect to the network, my mac address resets… why? time. Till now there is now way to avoid that.
Is there a way for galaxy s.
Ive tried the described methods. But they don`t work.
when i try to do “busybox ipconfig/iplink i get the error “applet not found”
rooted xperia x10, no unlocked bootloader
do i have to upgrade busybox?
You should turn on your WLAN first!
for sgs2, it didnt works, even the wifi still on (not connect), its still have default mac address, please can someone explain this, thanks
hi,
rooted nexus s running miui
kernal-matar1x
being trying to spoof mac address with commands suggested on blog“either dev is duplicate or “00:00:00:00:00:00 is garbage
getting
any help
Hi,
On SGS it changes my MAC, however I can’t connect to any wifi network! It always say that the password is bad, or in open networks, it hangs on retriving ip address.
Nether ifconfig nor iplink succeeded at spoofing MAC on Droid X CyanogenMod7
For the SGS2 you can change the mac is just a little triky, you need to change the mac whit this conmand “busybox ifconfig eth0 hw ether 00:00:00:00:00:00″ while you are still conected to the wifi, and the run this conmand “netcfg eth0 dhcp” that will make a renew on your ip adress and will get you conected sorry for my eng
Are you sure that’s it works?
What rom run on your S2 ?
Yes, it works on S2 with Lite’ning Rom v6.1 XXKH3, unfortunately only temporarily, when close wireless connection original MAC come back.
It should work like that.
[...] [...]
Hi:
There is nothing appear after I run “iplink set eth0 address XX:XX:XX:XX:XX:XX”. Once I done it I can’t connect to any Wifi, cause it’s says incorrect password. Any help?
[...] I attempted the method described even although in the subsequent web page link however it didn’t work. http://blog.thecodecracker.com/hacks/spoof-mac-address-in-android/ [...]
I got this working on SG2 running Cyanomod mod 7.
#busybox ifconfig eth0 hw eth xx:xx:xx:xx:xx:xx
#busybox ifconfig eth0
shows my modified mac address, however when I exit out of terminal app my MAC has already changed back to normal.
Also tried:
#netcfg eth0 dchp
and I get error, action ‘dhcp’ failed, (Timer expired)
Changing the mac is not an ideal solution as this would have considerable side effects on the two devices using the same MAC, you would only be able to use one device at a time and then make sure the other device was switched off. I suppose he's aware of this because of doing it with his laptop. And some WiFi networks really do authenticate by MAC, so that's the way it goes. Anyway, the following might work. I haven't tried it other than verifying the command was available. Note that I use pinkflodz's ROM; otherwise you're going to need some kind of superuser hookup and terminal app or use ADB. For the following, use "wlan0" instead of "eth0." Spoof MAC Address in Android | My Blog [...]
I have set spoof mac on my laptop but my wifi can’t work. It always says Local Area Connection a network cable is unplugged, in fact it’s plugged. I don’t understand how to solve this problem.
I cant change my mac id using terminal .. I have installed busy box 1.20 , but in terminal emulater ‘if config ‘ says that could not find the device .. What should i do .. Have any solution to use mesce mh wifi in android galaxy s ???